计算机组成原理之机器
笔记来源:哈尔滨工业大学计算机组成原理(哈工大刘宏伟)
Chapter1:计算机系统的基本概念
1.1 计算机系统简介
从物理构成的角度对计算机系统分层
计算机组成原理主要关注微体系结构(Mirco-architecture)层和逻辑(Logic)层,学习主要部件的逻辑实现、主要部件之间的连接来实现datapath(指令执行过程中,数据所经过的路径 ,数据所经过的路径,包括路径中的部件 ,包括路径中的部件。它是指令的执行部件)、实现控制
Digital Circuits 数字电路层(利用模拟电路元件构建与门、非门)
Analog Circuits 模拟电路层(利用下层接口进一步构建放大器、滤波器等模拟电路部件,这些部件工作在连续电压下)
Devices 电子元件层(电子在不同物质中的移动特性构建电子元件,电子元件的特征可以用连接点、管脚、电流电压特征来描述)
Physics 物理层面(电子的移动)
从程序员视角对计算机系统进行分层
1.2 计算机的基本组成
计算机由五大部件组成:控制器、运算器、存储器、输入设备、输出设备
哈佛结构和冯诺依曼结构主要区别在是否区分指令与数据。在教科书里这是两种截然不同的做法。实际上在内存里,指令和数据是在一起的。而在CPU内的缓存中,还是会区分指令缓存和数据缓存,最终执行的时候,指令和数据是从两个不同的地方出来的。你可以理解为在CPU外部,采用的是冯诺依曼模型,而在CPU内部用的是哈佛结构。—引自:为什么电脑还沿用冯·诺伊曼结构而不使用哈佛结构?
冯诺依曼结构以运算器为中心,输入设备数据输入运算器再到存储器,存储器数据先到运算器再到输出设备
以存储器为中心
现代计算机硬件框图
计算
a
x
2
+
b
x
+
c
ax^2+bx+c
ax2+bx+c为例,了解计算机工作过程
将上述每一个动作用指令形式表示
[a]代表内存中a的具体值、[ACC]表示累加寄存器中的值
指令和数据都保存在存储器中
存储器的结构是什么?如何进行访问?每次访问获得的数据位数是多少?
存储器的基本组成
MAR中保存了存储单元的地址
MDR中保存了要送到CPU中的数据 或 要保存到存储体中的数据 或 刚刚从存储体中取出来的数据
运算器的基本组成
运算器的结构是什么?运算器功能是什么?运算器是如何工作的?加法?乘法?
为了是算术逻辑单元ALU能够对计算结果进行保存,必须在ALU的输入端加上寄存器,寄存器保存参与运算的数据,我们需要2个寄存器(累加寄存器ACC和数据寄存器X)作为输入数据的保存设备。
因为两个数相乘的结果,其结果位数远超两个数的位数,所以我们还需要一个乘商寄存器MQ负责数据的乘法与除法运算并可保存运算结果
加法操作过程
|
|
|
|
乘法操作过程
|
|
|
|
|
|
除法操作过程
|
|
|
|
以上各种动作都是在控制器控制下完成的
控制器的基本组成
控制器的结果如何?
控制器的功能?解释指令、保证指令的按序执行
CPU(运算器、控制器)、存储器
一条指令在主机上的完成过程,以取数指令为例
1.取指令过程
PC将取数指令的地址送给MAR,再由MAR送给存储体,在控制器的控制下存储体把指定存储单元中的内容(这里为取数指令)取出送入到MDR,将取数指令送入IR
2.分析指令,将IR中指令的操作码部分送往CU,经过CU译码后
3.执行指令
将IR中操作数的地址码部分送往MAR,由MAR将那个数取出送往MDR,将那个数送往ACC中保存
存数指令过程
程序(很多指令)在主机上是如何执行的
1.3 计算机硬件的主要技术指标
购买机器要关注机器性能是否能够满足自身要求