首页天道酬勤计算机组成原理唐朔飞知识点,计算机组成原理第五版知识点总结

计算机组成原理唐朔飞知识点,计算机组成原理第五版知识点总结

张世龙 05-06 12:04 79次浏览

计算机构成原理知识点整理计算机构成原理习题,复习时可与左习题进行比对

文章目录计算机组成原理知识点整理计算机系统概论冯诺依曼计算机特征计算机系统层次结构程序执行的过程运算方法和运算器原码、补码、反码、 移动代码IEEE754单精度标准数据的存储方式(大端存储和小端存储)固定点数的补数加减法和溢出判定单精度浮点数的运算命令类命令周期的概念中央处理装置CPU控制器2种和特征命令执行的具体流程)数据路径和控制信号)命令流水线的冒险方式结构冒险的解决方式数据冒险的解决方式存储器各种存储器的特征存储层次Cache-主存地址的三种映射方法和命中I/O部分的I/O地址的两种地址方式I/O数据传输控制方式(

计算机系统概论冯诺依曼计算机的特点

1 .采用"存储程序"机制

2 .计算机由运算器、控制器、存储器、输入设备、输出设备五个基本部件组成

(CPU、主内存、I/O )

3 .内存不仅可以存储数据,还可以存储指令,计算机可以区分它们的控制器可以控制命令的自动执行; 运算器可以进行加、减、乘、除4种基本运算,也可以进行逻辑运算; 操作人员可以在输入输出设备上使用电脑。

4 .在计算机内部以二进制格式显示指令和数据

计算机系统分层结构自然语言描述的一个应用(问题),首先将问题转化为算法,然后将算法转化为用编程语言实现的程序,再由计算机将高级语言程序转化为计算机能理解的机器语言程序。 机器语言程序是在ISA (也称为指令系统、微体系结构)中规定的指令序列,微体系结构最终由逻辑电路实现。

程序执行的进程

以c语言程序为例,可分为以上四个阶段。

预处理器处理源程序中以#开头的命令,如在#include命令后将. h文件嵌入源文件,结果变为扩展名为. I的源文件。

编译阶段:编译器编译预处理的源程序,生成扩展名为. s的汇编语言源程序

汇编阶段:汇编器as汇编汇编语言程序并生成扩展名为可重定位目标文件. o的二进制文件。

链接阶段:链接器ld将多个可重定位目标文件和标准库函数合并为一个可执行目标文件。 例如,如上图所示,hello.o和printf.o合并生成可执行文件hello(.exe )。

运算方法和运算器原码、补码、反码、移码原码:分为符号位和数值位,与数值位的正数和负数一样,符号位为1则为负,0则为正。注意:0和-0分别有10000000和000000两种表达方式。

补数:正数与原码相同,负数按各位取反,最后一位为1。

反码:补码末尾-1

设(移动代码) e为指数,该移动代码表示的位数为n,则[E]移动=2^ ) n-1 ) e

(1) e范围为-2^(n- 1 )-2^(n- 1 )-1。

)2)移动码0的真值为-2^(n-1 )、

[-2^(n-1 ) ]移动=000…0。

IEEE754单精度标准尾数部带有隐藏位,偏移常数使用2^(n-1 ) (127 )。

在这里不理解也没关系。 因为它涉及后面的单精度浮点数的运算。

的数据存储方法(大端和小端)简单的判断方法是低看地址存储什么。

例如,假设有01 23 45 67H,则该数必须存在于0800H~0804H中。

大端内存:低地址内存高有效位(内存高度(即,0800 h至0804 h中: 01 23 45 67 ) )。

小端内存:低地址内存低有效位(低内存),即在0800H~0804H中按: 67 45 23 01的顺序)

常数点的补数加减和溢出判定将常数点转换为补数加法,例如-7-6在-7的补码上加上3358www.Sina.com/。 (即1001 1100=10101 )。

溢出判断:

)1)如果3358www.Sina.com/与-6的补码不同,则会发生溢出。 )如果两个相加的已编码比特相同并且不同于总和的已编码比特,则发生溢出。

用以上两种判别方法分别试试吧:

例如,以四位二进制为例,9 7=16,如下所示:

01001 00111=10000,溢出。

将单精度浮点运算1.10进制的单精度浮点数设为二进制数(32位分别表示编码位、阶符号、尾数),这里需要上述转码的知识。

2 .向对阶、高阶、然后将小的尾数向右移动,将尾数相加,接着进行正规化而得到结果。

指令系统的指令循环的概念是从取出一个指令到执行完成所需的时间被称为指令循环。

中央处理器CPU控制器的两种类型和特点硬连线线路控制器微程序控制器硬连线线路控制器:符号位产生的进位适合实现快速、简单或规则的指令系统。最高数值位向符号位的进位

>缺点是它是一个多输入/多输出的巨大逻辑网络,结构庞杂,实现困难,维护不易。
(单周期控制器和多周期控制器)

微程序控制器:优点:简化设计、灵活、易修改、易维护;缺点:速度慢。

指令执行的具体过程(数据通路与控制信号)

指令执行所用到的元件有两类:组合逻辑元件(也称操作元件)和存储元件(也称状态元件)。连接这些元件的方式有两种:总线方式和分散连接方式。
数据通路 就是由操作元件和存储元件通过总线或分散方式连接而成的进行数据存储、处理和传送的路径。

可以简单地分别是哪种类型的指令:R-type型使用两个寄存器作为源寄存器,I-type型只使用一个寄存器作为源寄存器,J-type型是跳转型指令。

以下给出几个数据通路的例子(注意红色字母,那是用来控制部件是如何执行的):

上图是R-type型指令的数据通路的add例子,汇编程序:add rd,rs,rt

rs的值通过busA,rt的值通过busB分别进入ALU,然后进行加运算后将结果返回到寄存器rd。

上图是I-type型指令的数据通路的 或运算例子,rd和rt通过一个多路选择器,给出目的寄存器的地址送Rw,rs的值通过busA送ALU,另一边立即数扩展后也通过多路选择器送入ALU(这里的busB的传输被多路选择器挡了),在ALU中进行 或运算后将结果通过busW送寄存器(Rw)。

上图中,rs中的内容和立即数(16位扩展成32位)分别通过busA和busB进入ALU进行加法运算,得到的结果通过Adr送到DataMemory中得到对应内容,再送到多路选择器再送到寄存器rt中。

上图中,rs的值通过busA送ALU,rt的值通过busB送ALU(ALUSrc=0),进行减运算得到零标志位,送零标志位,如果为0,则与立即数运算更改pc的值进行跳转。

下面给出一个例子验证一下你自己是否看懂,如果上面理解了以下的也很简单:

指令流水线

流水线冒险的几种类型:资源冲突、数据相关、控制相关(改变指令流的执行方向)

三种冒险方式 数据冒险结构冒险控制冒险

结构冒险的解决方式

每个部件只在特定周期使用、设置多个部件避免冲突、将寄存器的读口与写口区别开。

数据冒险的解决方式

有五种:硬件阻塞、软件插入“NOP”指令、合理实现寄存器堆的读/写操作(前一半写后一半读)、转发(旁路)技术、编译优化(调整指令顺序)。
这里主要讲转发+阻塞

数据冒险的种类:相关的数据是ALU结果,可以通过转发解决;
转发(旁路):把数据从流水段寄存器中直接取到ALU的输入端

例子:

画出流水线:

相关的数据是DM读出的内容,随后的指令被阻塞一个时钟

需要阻塞的满足条件:前面指令为Load并且前面指令的目的寄存器等于当前刚取出指令的源寄存器:

存储器 各种存储器的特点

这里只提下面四个

寄存器高速缓存主存外存

寄存器:封装在CPU里,用于存放当前正在执行的指令和使用的数据;用触发器实现,速度快、容量小(几十个)
高速缓存(cache):位于CPU内部或附近,用来存放当前要执行的局部程序段和数据;速度可与CPU匹配,容量第二小(几MB)
内存(MainMemory):位于CPU之外,用来存放已被启动的程序及所用的数据;
用DRAM(注:DRAM每隔一段时间要刷新一次)实现,速度较快,容量较大(几GB)
辅存(外存):位于主机之外,用来存放暂不运行的程序、数据或存档文件;
用磁表面或光存储器实现,容量大速度慢

存储层次结构


这部分硬记下来,越靠近CPU越快。

Cache-主存地址三种映射方法,以及命中 直相联全相联N路-组相联唯一映射任意映射N-路映射

例题如下:

二路组相联映射:

I/O部分 I/O编址的两种编址方式 独立编址统一编址

独立编址对所有的I/O端口单独进行编号,使它们成为一个独立的I/O地址空间。这种情况下,指令系统中需要有专门的输入输出指令来访问I/O端口,输入输出指令中地址码部分给出I/O端口号。

统一编址:I/O地址空间与主存地址空间统一编址,即主存地址空间分出一部分地址给I/O端口进行编号,因为I/O端口和主存单元再同一个地址空间的不同分段中,根据地址范围就可区分访问的是I/O端口还是主存单元,因而无须设置专门的I/O指令,只要用一般的方寸指令就可以存取I/O端口。

IO数据传送控制方式(三种)

程序直接控制、中断控制和DMA控制。
DMA全称Direct Memory Access,DMA控制器向CPU请求的是总线使用权,DMA方式需要用中断处理进行辅助操作。

计算机存储器,控制存储器