计算机组成原理基础知识点梳理_计算机组成原理思维导图

计算机组成原理基础知识点梳理_计算机组成原理思维导图《计算机组成原理》唐朔飞 第三版 知识点总结笔者自用。可能有错。第一章 计算机系统概论1.1 计算机系统简介1.1.1 计算机的软硬件概念计算机系统 = 软件 + 硬件软件:人们事先编制的具有各类特殊功能的程序。系统软件注意汇编程序和翻译程序是并列关系不是从属关

《计算机组成原理》唐朔飞 第三版 知识点总结   笔者自用。可能有错。   第一章 计算机系统概论   1.1 计算机系统简介   1.1.1 计算机的软硬件概念   计算机系统 = 软件 + 硬件   软件:人们事先编制的具有各类特殊功能的程序。 系统软件 注意汇编程序和翻译程序是并列关系不是从属关系。 应用软件   硬件:计算机的实体部分,即看得见摸得着的各种电子件。 1.1.2 计算机系统的层次结构   汇编语言和操作系统在20s50s引入(第二代计算机)   高级语言在20c60s出现 1.1.3 计算机组成和计算机体系结构   计算机体系结构是那些能够被程序员所见到的计算机系统的属性。   计算机组成是指如何实现计算机体系结构所体现的属性。   1.2 计算机的基本组成   1.2.1 冯诺依曼机   特点 由5大设备组成:运算器、存储器、控制器、输入设备、输出设备 指令和数据的地位同等,可以按地址寻访 指令和数据都按二进制表示 以运算器为中心   基本特点:按地址访问并顺序执行指令。 1.2.2 计算机的硬件框图   现代计算机的三大组成部分:CPU、I/O设备、主存   1.3 计算机硬件的主要技术指标   三大技术指标: 机器字长 存储容量 运算速度 此处可出计算题:CPI、吉普森法等   第二章 计算机的发展及应用   2.1 计算机的发展史   ENIAC 1946交付使用,使用十进制运算   计算机的四代: 第一代电子管计算机 第二代晶体管计算机 第三代集成电路计算机(OS出现)   集成电路: SSI 几十个门 MSI 几百个门 LSI 几千个门 VLSI 上万个门   第三章 系统总线   总线:只能分时发送,但可以同时接收。   3.2 总线的分类   按数据传送方式:并行传输总线、串行传输总线 按连接部件 片内总线 系统总线 数据总线(双向) 地址总线(单向) 控制总线(稍复杂,见 P44) 通信总线:一般是电缆式,而不是印刷电路。 串行通信总线 并行通信总线   3.3 总线特性及性能指标   3.3.3 总线标准 ISA 及其扩展 PCI:并行,即插即用,支持突发工作方式 USB:串行,即插即用   3.5 总线控制   3.5.1 判优控制   主设备:对总线有控制权的设备   从设备:响应从主设备发来的命令   集中式 链式查询 仅需常数根线 计数器定时查询 计数从0开始,则优先级从0到n降序 计数从上次终点开始,则优先级相等 需要 (log_2 n) 条地址线,其中n为设备数目 独立请求方式 响应快速,控制复杂 需要 (2n) 根线(但不会增加处理机开销)   三条总线仲裁的辅助线:BS总线忙、BR总线请求、BG总线同意   分布式 自举式 冲突检测式:常用于网络 3.5.2 通信控制   总线周期的四个阶段: 申请分配阶段 寻址阶段 传数阶段 结束阶段   通信控制的四种方式:   同步通信   异步通信:增加两条应答线 不互锁:如CPU写主存 半互锁:如多CPU系统下,CPU访问共享存储器 全互锁:如网络通信   波特率:单位bps(位每秒) 此处可出计算题   半同步通信   也使用统一时钟,但增设一条等待线 (overline{mathop{WAIT}})   分离式通信:常用于大型机   第四章 存储器   4.1 概述   4.1.1 分类   按存储介质: 半导体存储器 磁表面存储器 磁芯存储器 光盘   按存取方式: 随机存储器 RAM SRAM:触发器原理 DRAM:电容充放电原理 只读存储器 ROM 串行访问存储器(顺序存取存储器) 磁盘是一种部分串行访问的存储器!   按作用分类:主存、辅存、缓存、Flash。见P70的图。 4.1.2 层次结构   三大主要性能指标 速度 容量 每位价格   层次结构主要体现在 缓存-主存 和 主存-辅存 这两个层次上。现代计算机几乎都有这两个层次,构成了 缓存、主存、辅存 三级存储系统。   虚拟存储器的地址变换工作是由硬件自动完成的,对用户不可见。   4.2 主存储器   4.2.1 概述   主存包括RAM和ROM两部分。   主存到Cache的调动是对程序员完全透明的。   虚拟存储器的调动由操作系统完成,对系统程序员不透明,对应用程序员透明。   大端:低位放高字节   小端:高位放高字节   主存技术指标:   存储容量   存储速度 存取时间 (T_A):启动一次存储器操作到完成该操作的全部时间 存取周期 (T_{MC}):存储器进行连续两次独立的存储器操作所需的最小间隔时间   通常 存取周期 > 存取时间 4.2.2 半导体存储芯片简介   译码驱动方式: 线选法:结构简单,一维,适用于容量小的芯片 重合法:结构复杂,二维,适用于容量大的芯片 4.2.3 RAM   SRAM 读周期时序:地址、片选、数据输出   SRAM 写周期时序:地址、片选、写允许、数据输入   DRAM 读周期时序:RAS、WE、CAS、数据输出   DRAM 写周期时序:RAS、WE、数据输入、CAS   ​ 也即,后两步的顺序是相反的。 刷新   ​ 刷新的单位是行。 集中刷新:在一个规定的刷新周期内,对所有行进行刷新。这段时间 RAM 无法读写,也即存在死区。 分散刷新:将刷新分散到每个存取周期中进行。无死区,但存取周期变长。 异步刷新:二者的结合。顺序刷新各行。 4.2.5 存储器与CPU的连接 存储容量的扩展 字扩展:增加存储字的数量 位扩展:增加存储字长 字、位扩展 连接   这里有一个选存储芯片的题型,可见 P94 下方。 系统程序区选用ROM 用户程序区选用RAM 4.2.6 汉明码   码字:由若干个二进制位组成的序列。   码距:相同长度的码字中,对应二进制位不同的位数。   汉明码具有一位纠错能力。   设欲检测的二进制代码为n位,为使其具有纠错能力,增添k位检测位,则k需满足:   [2^kgeq n+k+1 ]   已知n,就可求出k的最小值。   这k个检测位被安排在新的码字的第 (2^{k-1}) 位上,即第1,2,4,8,16……位。   然后,为每个检测位安排小组,其中第 (i) 个小组即 (C_{2^{i-1}}) (C表示新的码字)对应的 (g_i) 小组满足: (g_i) 小组独占第 (2^{i-1}) 位 (g_i) 和 (g_j) 小组共同占有第 (2^{i-1} + 2^{j-1}) 位 (g_i) 和 (g_j) 和 (g_k) 小组共同占有第 (2^{i-1} + 2^{j-1} + 2^{k-1}) 位 依此类推。   于是,可以推出 (g_1) 小组包含1,3,5,7,9,……位 (g_2) 小组包含2,3,6,7,10,11,12,15,……位 (g_3) 小组包含4,5,6,7,12,13,14,15,……位 (g_4) 小组包含8,9,10,11,12,13,14,15,24,……位 ……   之后,根据奇偶配置情况决定校验位的值,在配偶原则下,校验位的值应该使得自己组内所有位的异或值为0,反之配奇原则则是1。 4.2.7 提高访存速度的措施 单体多字系统   一次性取多个字,减少CPU访存次数。但对跳转指令不友好,而且要求数据总线宽度成倍增长。 多体并行系统   高位交叉编址:高位地址表示体号,低位地址表示体内地址。合理调动使不同的源访问不同的体,即可并行工作。   低位交叉存储器连续读取n个字所需的时间 (t_2=nT)   低位交叉编址:低位地址表示体号,高位地址表示体内地址。数据分散在多个体中,多个体并行工作。   低位交叉存储器连续读取n个字所需的时间 (t_1=T+(n-1) au)   T:存储周期   τ:总线传输周期   n:模块数   4.3 高速缓冲存储器   4.3.1 概述   Cache 与主存之间是字块传送。   有关访存命中率和访存时间的例题可见 P111。   保持 Cache 和主存内容一致的办法: 写直达法:数据同时写入cache和主存。稳妥,但增加访存次数。 写回法:只写cache,不写主存,仅当cache数据需要替换时才写入主存。需要设置额外标志位。 4.3.2 Cache-主存地址映射   重难点!P117   三种映射模式 直接映射(简单,快) 全相联映射(复杂,灵活性好) 组相联映射(上面二者的折中)   三种映射模式主要出 主存地址配置的格式 计算题。 4.3.3 Cache 替换策略 先进先出(FIFO)法(容易实现,但没用) 近期最少使用(LRU)法(效果最好) 随机法(丝毫没有用处)   4.4 辅助存储器   4.4.1 概述   早期磁盘所有磁道上的扇区数相同,即内侧磁道的扇区密度比外侧磁道高,造成了一定程度的浪费。   现代磁盘外道上的扇区比内道数量多,充分利用空间。   磁表面存储器的主要技术指标   记录密度   存储容量   平均寻址时间   寻址时间 = 找道时间 + 等待时间   平均寻址时间 = 平均找道时间 + 平均等待时间   一般平均时间就是简单地将最长时间除以2。   数据传输率   误码率   磁盘地址格式:驱动器号、柱面号、记录面号、扇区号。 如果有一个较大的文件,在一个扇区写不下,那么应该优先改变记录面,而不是优先改变柱面。 4.4.2 磁记录原理和记录方式 磁表面存储器的记录方式 归零制 不归零制 “见1就翻”的不归零制 调相制 调频制 改进型调频制 4.4.3 硬磁盘存储器 磁道记录格式 定长记录格式 不定长记录格式 SSD SSD现已加入408考纲,但上课没讲 RAID   冗余磁盘阵列。 4.4.6 循环冗余校验(CRC)码   模2运算的特点是不看进位和借位,加减就是异或。   模2除的上商原则(重要): 部分余数的首位为1时,上1 部分余数的首位为0时,上0 部分余数的位数少于除数的位数时,停止除法,该部分余数就是最后的余数。 也就是说,上商只无脑看首位数字,不比较大小。   引入一种多项式,这种多项式和一个二进制位序列是一一对应的。   比如,1101对应的多项式 (M(x)) 为:   [M(x)=1cdot x^3+1cdot x^2+0cdot x^1+1cdot x^0 ]   已知输入序列M(x),生成多项式G(x),则求CRC码的步骤如下:   令 r = G(x)位数 – 1,如G(x) = 1011,4位,则 r = 3。   将M(x) 左移 r 位。右边补零。   用模2除的方法计算   [frac{M(x)cdot x^r}{G(x)} ]   得到   [xxx+frac{xxx}{xxx} ]   的形式,其中左边是商,右边是余数。取余数的分子部分。   将分子部分加到左移后的M(x),即得到CRC码。   第五章 I/O 系统   5.1 概述   5.1.2 输入输出系统的组成   I/O 系统包括:   I/O 软件 I/O 指令(CPU指令的一部分):操作码、命令码、设备码三个组成部分 通道指令/通道控制字(通道自身的指令)   I/O 硬件 5.1.3 I/O设备与主机的联系方式   I/O 设备编址方式 统一编址:减少了主存容量,速度变慢,但无需专用的I/O指令。 不统一编址:需要专用I/O指令。 5.1.4 I/O设备与主机信息传送的控制方式   5种控制方式: 程序查询方式 异步、串行、灵活、慢 程序中断方式 异步、并行、慢 DMA方式 窃取的时间一般为一个存取周期。 I/O通道方式(不考) I/O处理机方式(不考)   5.2 I/O 设备   本节408不考。 I/O 设备大致分三类 人机交互设备 信息驻留设备 机-机通信设备 输入设备 键盘 鼠标 触摸屏 输出设备 显示器 字符显示 图形显示 图像显示 打印机 击打式 点阵式(逐字、逐行) 非击打式 喷墨(逐字) 激光(逐页)   5.3 I/O 接口   接口既可以是两种硬设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。 5.3.3 接口类型 按数据传送方式分类 并行接口 串行接口 按功能选择的灵活性分类 可编程接口 不可编程接口 按通用性分类 通用接口 专用接口 按数据传送的控制方式分类 程序型接口 DMA型接口   5.4 程序查询方式   D:完成触发器   B:工作触发器   5.5 程序中断方式   中断技术的三大目的 提高计算机的整机效率 应付突发事件 实时控制的需要   INTR:中断请求触发器   MASK:中断屏蔽触发器   EINT:中断允许触发器 5.5.4 I/O 中断处理过程   一次中断处理过程的5个阶段: 中断请求 中断判优 中断响应 中断服务 中断返回 5.5.5 中断服务程序的流程   中断服务程序的4大流程 保护现场:两个含义 保护程序断点,即PC的内容。由中断隐指令完成。 保护通用寄存器和状态寄存器,由中断服务程序完成。 中断服务 恢复现场:出栈指令 中断返回:程序返回指令   开中断的时机: 单重中断:在中断服务程序的最后才开中断 多重中断:在保护现场后、中断服务前即开中断。   5.6 DMA方式   为了分时使用主存,DMA与主存交换数据时采用以下3种方法: 停止CPU访问主存 周期挪用/周期窃取(常用) CPU不访问主存时,无冲突,直接进行DMA。 CPU正在访问主存,等主存完成一个存取周期后,CPU让出,DMA访存。 CPU和DMA同时请求访存:I/O的请求优先,因为可能丢数据。此时进行周期窃取,窃取1-2个存取周期。DMA结束后,CPU访存。 DMA与CPU交替访问主存 5.6.3 DMA的工作过程   DMA传送过程 预处理 数据传输 后处理 5.6.4 DMA接口的类型 选择性DMA接口:适用于快速设备 多路型DMA接口:适用于同时为多个慢速设备服务 链式多路型DMA 独立请求多路型DMA   ASCII是7位二进制码,最后一位作校验位。   第六章 计算机的运算方法   通常称寄存器的位数为机器字长。   6.1 无符号数和有符号数   6.1.1 无符号数   简单 6.1.2 有符号数 原码 反码 补码 按位取反+1的技巧:从后往前找到第一个1,该1不变,前面的所有位(含符号位)取反,最后把符号位去掉。 补码有几位,它的模就是几。 移码 补码和移码的互相转换可以简单地将符号位取反来完成。   要明确不同码制表示的范围。 在整数定点机中,原码和反码可以表示-1; 在小数定点机中,原码和反码不能表示-1。   6.3 数的定点表示和浮点表示   6.2.1 定点表示   容易 6.2.1 浮点表示   难点!   [N=S imes r^j ]   S是尾数,是一个纯小数,即 (0<|S|<1)。 (r=2) 时,将尾数(小数部分的)最高位为1的浮点数称为规格化数。 (r=4) 时,将尾数(小数部分的)最高两位不全为0的浮点数称为规格化数。 (r=8) 时,将尾数(小数部分的)最高三位不全为0的浮点数称为规格化数。 j是阶码,是一个整数。 r是基数,一般取 (2^n)。最最常用的是2。   规格化:   (r=2^n) 时,阶码每减1,尾数就左移n位;阶码每加1,尾数就右移n位。 6.2.4 举例   计算题。主要是定点数和真值转浮点数。 6.2.5 IEEE 754 标准   重点!   IEEE 754 规定,浮点数由1位数符、若干位阶码(含阶符)、若干位尾数组成。第一位的数符决定了这个数字的正负。尾数使用原码表示(因为这里的尾数是无符号数),阶码使用移码表示,阶码的真值要加上127才能得到IEEE 754中的阶码表示。   尾数通常是规格化表示,即最高(小数)位是1,因此这个1一般省略(对于下面两种,一般省略),节省一位空间。IEEE 754中的尾数实际上是把尾数移位成“1.xxxx”的形式,然后去掉1,只保留xxxx的部分。   IEEE 754 常用的浮点数是以下两种:一般只记忆阶码的位数,符号位永远是1位,总位数是32或64,则尾数位数可以推算得到。 符号位 阶码 尾数 总位数 单精度 1 8 23 32 双精度 1 11 52 64   另有一种临时实数,占80位,很少用,此处未列出。   6.3 定点运算   全章最难,应该也是全书最难吧😰   本节介绍定点数的加减乘除、移位运算。 6.3.1 移位运算 逻辑移位 逻辑移位是对无符号数的移位,无论左右移,无论码制(有符号数全当无符号数处理),一律无脑补0。 算术移位   算数移位是对有符号数的移位,规则比较复杂,依赖码制。   算术移位不管怎么移,符号位永远是不变的。也即移位只对于数值位有效。   正数无论码制,左右移都一律补0。   负数稍复杂: 原码:一律补0 反码:一律补1 补码:左移补0,右移补1 6.3.2 加法与减法运算   现代计算机一律采用补码做加减法。因此下面的讨论全是针对补码的。 加法 容易 减法 [A-B]补=[A]补+[-B]补 其中[-B]补=[B]补 连同符号位在内取反得到。 溢出判断   ​ 在计算机中,真值超出机器字长能表示的范围的现象叫做溢出。   一位符号判溢出(少用) 将两个同号的数相加,可能产生溢出。异号相加不会溢出。 将两个异号的数相减,可能产生溢出。同号相减不会溢出。 但实际上无论加减,计算时都是两个补码相加的形式,因此只要参与运算的补码的符号相同,而结果又和这个符号不同,就判定为溢出。 计算机中常用符号位进位和最高数值位进位进行异或来判断,如果结果是1,则溢出,结果是0则未溢出。   两位符号位判溢出(常用) 引入“变形补码”,有两个符号位: 如果x为正,则其变形补码就是它本身。 如果x为负,则其变形补码是其本身加4。 判断原则:当两个符号位不同时,溢出;否则未溢出。 如果最高符号位产生进位,直接丢掉这个进位。 变形补码的最高符号位是真正的符号位,表示这个数的实际符号。 6.3.3 乘法运算 原码一位乘 P245   原码乘法只计算乘数和被乘数的绝对值,符号位由两个数的符号位异或得来。下面的两位乘也是一样。 开始,取部分积 (z_0=0)。 检查乘数的最低位,如果是1,则部分积加上被乘数的绝对值;如果是0,则部分积不变。 部分积和乘数都右移一位。 检查乘数是否已经完全移出,如果是,结束;否则转2。   注意原码一位乘的最后一步是右移。   原码一位乘中的所有右移都是逻辑右移。   运算时可能出现绝对值大于或等于1的情况,因此需要增加一位,最高位仍是符号位。 原码两位乘 P247   和原码一位乘的区别在于两位乘一次右移两位。   重要的表格!见 P248 表 6.11   ​ 要注意,(C_j=1) 时,操作内容是要加上一个 (x^*) 的,如果本位操作(由 (y_{n-1}y_n) 决定)已经是 (+2x^*) 了,那么实际上就要加 (+3x^*),就和 (y_{n-1}y_n=11) 的情况相同了,于是 (C_j) 保持,实际上的最终操作反而是减去 (x^*)。   减去被乘数实际使用加上被乘数的负补码实现,因此右移两位的操作按补码右移完成。   运算时的绝对值可能大于或等于2,因此需要增加两个符号位,以最高位为真正的符号位。   运算时使用先移(两位)位再加 (x^*) 的方法,而不是先加 (4x^*) 再移位。二者实际上的作用是等价的,但是前者不需要用到额外的电路,实现简便。   运算时可能出现部分积为负的情况,这是正常的。但是最后的部分积一定是个正数,因为我们做的是绝对值运算。 补码一位乘 P250   补码乘法的符号位也正常参与运算,最终计算得出的符号位是什么就是什么。下面的两位乘也是一样。 被乘数符号任意,乘数符号为正 按照原码乘法的规则运算。其中加和移位按照补码规则计算。 被乘数符号任意,乘数符号位负 把乘数的补码去掉符号位,当成一个正数和被乘数的补码相乘,然后加上被乘数的负补码进行矫正。 被乘数和乘数符号都任意 采用 Booth 算法。规则表详见 P254。部分积取双符号位。 补码两位乘(不考)   难度过大,期末不考 6.3.4 除法运算 原码除法   原码除法和原码乘法一样,符号位不参与运算,参与运算的是绝对值。结果的符号由异或得来。   这里介绍的定点除法运算要求 0 < |被除数| < |除数|,也就是说商一定是一个纯小数。还要保证除数和被除数都不为零。 恢复余数法 每次都减去除数,这是一种试探性的操作。如果得到负数,说明不应该减去除数,于是再加上除数(恢复余数),上商0;如果得到正数,说明应该减去除数,上商1。 第一次上商时,上在整数位上,该位为1时,说明溢出;该位为0时,说明未溢出。 加减交替法 余数 (R_i>0) 时,上商1,做 (2R_i-y^*) 的运算。 余数 (R_i<0) 时,上商0,做 (2R_i+y^*) 的运算。 补码除法   只讨论加减交替法。   (待补)   6.4 浮点四则运算   6.4.1 浮点加减运算   两个浮点数阶码不等时,尾数的小数点位置不一样,因此不能直接加减。   步骤: 对阶 阶码小的向阶码大的看齐 尾数求和 按定点加减进行运算 规格化 舍入 0舍1入法 恒置1法 溢出判断   6.5 算术逻辑单   6.5.1 ALU 电路   ALU是组合电路,即有输入立即产生输出。 6.5.2 快速进位链 并行进位链 单重分组跳跃进位 将n位全加器分成若干小组,小组内的进位同时产生,小组间采用串行进位,又有组内并行、组间串行之称。 双重分组跳跃进位 将n位全加器分成若干大组,每个大组中又包含若干小组,每个小组的最高进位是同时产生的,大组间串行进位。故又有(小)组内并行、(小)组间并行之称。   第七章 指令系统   7.1 机器指令   7.1.1 指令的一般格式   指令 = 操作码 + 地址码   操作码长度可以变化。应尽量使较常用的指令占用较短的操作码,以提高译码速度。   四地址指令   四个地址分别是:第一操作数地址、第二操作数地址、结果地址、下一条指令的地址。   将下一条指令的地址放在PC中,就可省去,得到三地址指令。   三地址指令   安排同上。   可以将结果放在ACC中,就得到二地址指令。   二地址指令 两个地址分别是:第一操作数地址、第二操作数地址。 有的机器也可以将操作数地址也作为结果地址,并在完成操作后写入结果地址覆盖操作数。如x86的add、mul等 将一个操作数隐含在ACC中,就得到一地址指令。   一地址指令 唯一的地址是操作数地址。另一个操作数在ACC中,结果仍放ACC。   零地址指令 空操作、停机等指令不需要地址码。 子程序返回、中断返回等指令的地址码隐含在堆栈指针SP中。   7.2 操作数类型和操作类型   7.2.1 操作数类型   地址、数字、字符、逻辑数据等。 7.2.3 操作类型   一个较完善的指令系统应该包含如下几种操作类型: 数据传送 算术逻辑操作 程序控制(如转移) 无条件转移 条件转移 过程调用与返回 I/O 其他   7.3 寻址方式   寻址方式:指令寻址、数据寻址 7.3.1 指令寻址   简单。 顺序寻址 跳跃寻址 7.3.2 数据寻址 立即寻址:指令字中的地址码是立即数,直接指出操作数的值 直接寻址:指令字中的地址码是操作数在主存中的地址。 隐含寻址 间接寻址:指令字中的地址码指示出一个主存的位置,该位置保存有操作数在主存中的地址。 相比直接寻址可以支持更大的操作数寻址范围。因为地址码总是占用不到完整的指令字长,但存储字长可以和指令字长一致。 寄存器寻址 指令字中的地址码指出一个寄存器号,操作数保存在这个寄存器内。 寄存器间接寻址 和上面的不同之处在于寄存器中保存的是操作数在主存中的地址,而不是操作数本身。 基址寻址 EA = A + BR,A变,BR不变 隐式:专门设一个基址寄存器BR 显式:用户使用时明确指定一个通用寄存器,用作BR 主要用于为程序或数据分配存储空间,BR的内容一般由OS或管理程序确定。 变址寻址 EA = A + IX,A不变,IX变 主要用于数组。 相对寻址 EA = PC + A 主要用于转移类指令。 堆栈寻址 要求计算机内设有堆栈 软堆栈(用主存+堆栈指针实现) 硬堆栈(用专门的寄存器组实现)   7.4 指令格式举例   重难点!请参考课本 P319-325   向上兼容:高档机能兼容低档机的程序运行   向下兼容:后开发的程序能在较早的机器上运行   7.5 RISC 技术   RISC的主要特点 指令种类少,且多为简单指令。用简单指令的组合实现复杂指令。 指令长度固定,寻址方式种类少。指令译码快。 通用寄存器数量多。 一定采用流水线技术 大部分指令在一个时钟周期中完成。 控制器采用组合逻辑控制(而非CISC的微程序控制),延迟小。 采用优化编译技术   第八章 CPU的结构和功能   结构决定功能,而不是反过来。   8.1 CPU的结构   8.1.1 控制器CU的功能 取指令 分析指令 执行指令 8.1.3 CPU的寄存器 控制和状态寄存器(用户不可见) 控制寄存器 MAR、MDR、IR:用户不可见 PC:用户可见 状态寄存器 状态寄存器 PSW寄存器 用户可见寄存器 通用寄存器 数据寄存器 地址寄存器 条件码寄存器   8.2 指令周期   CPU每取出并执行一条指令所需的全部时间称为指令周期。   一个完整的指令周期: 取指 FE 间址 IND 执行 EX 中断 INT   8.3 指令流水   8.3.3 流水线性能   这里可以出计算题。见 P353。 流水线加速比   [S_p=frac{m}{1+(m-1)/n} ]   其中,m是流水线段数(级数),n是执行指令的条数。 流水线效率   [E=frac{n}{m+n-1}=frac{S_p}{m} ]   m、n的含义和加速比相同。 8.3.4 流水线中的多发技术 超标量技术:在同一个时钟周期内并发多条独立指令。 超流水线技术:好比将流水线再分段,第一条指令的第一个时钟周期未结束时,第二条指令就开始取指。 超长指令字技术:依赖强大的编译程序,将多条指令组合成一条超长指令来执行。要求更大的Cache。   8.4 中断系统   8.4.2 中断请求标记和中断判优逻辑 中断判优逻辑 硬件实现 链式排队器 CPU内部的排队器 软件实现 8.4.3 中断服务程序入口地址的寻找 硬件向量法   用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。   此法寻找入口地址速度快,在现代计算机中普遍采用。 软件查询法   当查到某一中断源有中断请求时,接着安排一条转移指令,直接指向此中断源的中断服务程序入口地址。这一地址由程序员或系统事先确定。 8.4.4 中断响应   CPU总是在指令执行周期结束后,响应任务中断源的请求。 8.4.6 中断屏蔽技术   中断屏蔽字。此处易出画图题。   第九章 控制单的功能   9.1 微操作命令的分析   0->ACC:ACC清零   L(ACC)->R(ACC):ACC右移一位   ACC0->ACC0:ACC0是符号位的意思,即保持符号位不变。   运行标志触发器G:G=1时机器运行,G=0时停机。   0->G:机器停机。   Ad(IR)->MAR:IR中指令的地址码部分送MAR   1->R:向主存发读命令。   1->W:向主存发写命令。   M(MAR)->MDR:将MAR所指的内存单的值读出,放入MDR   MDR->M(MAR):与上面相反   Ad(IR)->PC:用于无条件跳转。将IR中指令的地址码部分送PC   第十章 控制单的设计   两种办法:组合逻辑设计、微程序设计   10.1 组合逻辑设计   10.2 微程序设计   10.2.3 微指令的编码方式 直接编码(直接控制)方式:含义清晰、速度快、但控存容量需要很大 字段直接编码方式(显式编码):需要译码 字段间接编码方式(隐式编码): 混合编码:将1和2或3昏混用 其他 10.2.5 微指令格式 水平型微指令:效率高、速度快、灵活性强 上面几种编码方式都属于水平型微指令 垂直型微指令:以较长的微程序结构换取较短的微指令结构

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/17965.html

(0)
上一篇 2024年 9月 16日 下午2:36
下一篇 2024年 9月 16日

相关推荐

关注微信