计算机组成原理历年考研真题对应知识点(计算机系统层次结构)

本文主要是介绍计算机组成原理历年考研真题对应知识点(计算机系统层次结构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.2计算机系统层次结构

1.2.2计算机硬件

【命题追踪——冯·诺依曼计算机的特点(2019)】

【命题追踪——MAR 和 MDR 位数的概念和计算(2010、2011)】

1.2.3计算机软件

【命题追踪——三种机器语言的特点(2015)】

【命题追踪——各种翻译程序的概念(2016)】

1.2.5计算机系统的工作原理

【命题追踪——翻译过程的四个阶段(2022)】


1.2计算机系统层次结构

1.2.2计算机硬件

命题追踪——冯·诺依曼计算机的特点(2019)】

冯·诺依曼在研究 EDVAC机时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机统称冯·诺依曼机

 

命题追踪——MAR 和 MDR 位数的概念和计算(2010、2011)】

(1)  输入设备

输入设备的主要功能是将程序和数据以机器所能识别和接受的信息形式输入计算机。

最常用也最基本的输入设备是键盘,此外还有鼠标、扫描仪、摄像机等。

(2)  输出设备

输出设备的任务是将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。

最常用、最基本的输出设备是显示器、打印机。

输入/输出设备(简称 I/O 设备)是计算机与外界联系的桥梁,是计算机中不可缺少的重要组成部分。

(3)  存储器

存储器分为主存储器(也称内存储器主存)和辅助存储器(也称外存储器外存)。

CPU能够直接访问的存储器是主存储器

辅助存储器用于帮助主存储器记忆更多的信息,辅助存储器中的信息必须调入主存储器后,才能为 CPU 所访问。

主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式。

主存储器的最基本组成如图1.1所示。

存储体存放二进制信息,存储器地址寄存器(MAR)存放访存地址,经过地址译码后找到所选的存储单元。

存储器数据寄存器(MDR)用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号。

存储体由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件存储一位二进制代码“ 0 ”或 “ 1 ”。

因此存储单元可存储一串二进制代码,称这串代码为存储字,称这串代码的位数为存储字长,存储字长可以是1B(8bit)或是字节的偶数倍。

MAR 用于寻址,其位数反映最多可寻址的存储单元的个数,如MAR为10 位,则最多有2¹⁰ =1024 个存储单元,记为 1K。

MAR 的长度与 PC 的长度相等。MDR 的位数通常等于存储字长,一般为字节的2次幂的整数倍。

注意:MAR 与 MDR 虽然是存储器的一部分,但在现代计算机中却是存在于CPU 中的;

另外后文提到的高速缓存(Cache)也存在于CPU中。

(4)  运算器
运算器是计算机的执行部件,用于进行算术运算和逻辑运算。

算术运算是按算术运算规则进行的运算,如加、减、乘、除;

逻辑运算包括与、或、非、异或、比较、移位等运算。

运算器的核心是算术逻辑单元(Arithmetic and Logic Unit,  ALU)。

运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)(I为大写的i)、基址寄存器(BR)等,其中前三个寄存器是必须具备的。

运算器内还有程序状态寄存器(PSW),也称标志寄存器,用于存放 ALU 运算得到的一些标志信息或处理机的状态信息,如结果是否溢出、有无产生进位或借位、结果是否为负等。

(5)  控制器

控制器是计算机的指挥中心,由其“指挥”各部件自动协调地进行工作。

控制器由程序计数器(PC)、指令寄存器(IR)(I为大写i)和控制单元(CU)组成。

  • PC用来存放当前欲执行指令的地址,具有自动加1的功能(这里的“1”指一条指令的长度),即可自动形成下一条指令的地址,它与主存储器的 MAR之间有一条直接通路。
  • IR 用来存放当前的指令,其内容来自主存储器的 MDR。指令中的操作码 OP(IR)送至 CU,用以分析指令并发出各种微操作命令序列;而地址码 Ad(IR)送往 MAR,用以取操作数。

一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。

CPU 和主存储器共同构成主机,而除主机外的其他硬件装置(外存、I/O设备等)统称外部设备,简称外设

图 1.2 所示为冯·诺依曼结构的模型机。CPU 包含 ALU、通用寄存器组 GPRs、标志寄存器、控制器、指令寄存器IR、程序计数器 PC、存储器地址寄存器 MAR 和存储器数据寄存器 MDR。

图中从控制器送出的虚线就是控制信号,可以控制如何修改 PC 以得到下一条指令的地址,

可以控制 ALU 执行什么运算,可以控制主存储器是进行读操作还是写操作(读/写控制信号)。

CPU 和主存储器之间通过一组总线相连,总线中有地址、控制和数据 3 组信号线。

MAR 中的地址信息会直接送到地址线上,用于指向读/写操作的主存储器存储单元;

控制线中有读/写信号线,指出数据是从 CPU 写入主存储器还是从主存储器读出到 CPU,

根据是读操作还是写操作来控制将 MDR 中的数据是直接送到数据线上还是将数据线上的数据接收到 MDR 中。 

1.2.3计算机软件

命题追踪——三种机器语言的特点(2015)】

1)  机器语言

也称二进制代码语言,需要编程人员记忆每条指令的二进制编码。

机器语言是计算机唯一可以直接识别和执行的语言。

2)  汇编语言

汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。

使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为机器语言程序后,才能在计算机的硬件系统上执行。

3)  高级语言

高级语言(如 C、C++、Java 等)是为方便程序设计人员写出解决问题的处理方案和解题过程的程序。

通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序。

命题追踪——各种翻译程序的概念(2016)】

因此计算机无法直接理解和执行高级语言程序,所以需要将高级语言程序转换为机器语言程序,通常把进行这种转换的软件系统称翻译程序

翻译程序有以下三类:

1) 汇编程序(汇编器)。将汇编语言程序翻译成机器语言程序。

2) 解释程序(解释器)。将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行。

3) 编译程序(编译器)。将高级语言程序翻译成汇编语言或机器语言程序。

1.2.5计算机系统的工作原理

命题追踪——翻译过程的四个阶段(2022)】

在计算机中编写的C语言程序,都必须被转换为一系列的低级机器指令,这些指令按照一种称为可执行目标文件的格式打好包,并以二进制磁盘文件的形式存放起来。

以 UNIX 系统中的 GCC 编译器程序为例,读取源程序文件 hello.c,并把它翻译成一个可执行目标文件 hello,整个翻译过程可分为四个阶段完成,如图1.5 所示。

1) 预处理阶段:预处理器(cpp)对源程序中以字符#开头的命令进行处理,

例如将 #include 命令后面的 .h 文件内容插入程序文件。

输出结果是一个以 .i 为扩展名的源文件 hello.i。

2) 编译阶段:编译器(cc1)对预处理后的源程序进行编译,生成一个汇编语言源程序hello.s。

汇编语言源程序中的每条语句都以一种文本格式描述了一条低级机器语言指令。

3) 汇编阶段:汇编器(as)将 hello.s 翻译成机器语言指令,把这些指令打包成一个称为可重定位目标文件 hello.o,

它是一种二进制文件,因此用文本编辑器打开会显示乱码。

4) 链接阶段:链接器(ld)(l为小写的L)将多个可重定位目标文件和标准库函数合并为一个可执行目标文件,简称可执行文件。

本例中,链接器将 hello.o 和标准库函数 printf 所在的可重定位目标模块 printf.o 合并,生成可执行文件 helo。

最终生成的可执行文件被保存在磁盘上。

这篇关于计算机组成原理历年考研真题对应知识点(计算机系统层次结构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062967

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja