计算机组成原理-燕山大学期末复习提纲

本文涵盖了计算机组成原理的关键概念,包括冯诺依曼体系结构、数据的二进制表示和运算、存储器的层次结构(如主存、缓存和辅助存储)、浮点数的运算规则、指令系统的设计以及控制器的微程序控制。重点讨论了数据编码、存储器扩展、浮点数加减、微指令编码和IO控制方式如中断和DMA。
摘要由CSDN通过智能技术生成

计算机组成原理

零、写在前面

本文适用于计算机组成原理(第五版)期末突击使用,基于复习提纲编写,在此基础上对部分内容进行了展开,对于某些模块也附上了相关视频链接。

按照“计算机系统概述数据表示与运算存储器指令系统控制器 I/O”的顺序列出知识主线和复习要点。此外,部分比较零散的知识归纳后列出。

重点内容需要结合教材(清华、哈工大两版均可,完整学习网上资源推荐哈工大刘宏 伟老师公开课,速通视频推荐速成视频)。

本文内容较多,完整阅读时间大概在半小时左右,理解掌握时间大概在十二小时左右(完整掌握后正常期末成绩在80+),请各位同学根据时间安排合理规划。

一、计算机系统概述

本章节内容以了解为主

1、 电子计算机发展

代数时间硬件技术速度(次/秒)
1946-1957电子管40 000
1958-1964晶体管200 000
1965-1971中小规模集成电路1 000 000
1972-1977大规模集成电路10 000 000
1978-今超大规模集成电路100 000 000

2、 计算机系统的组成

硬件系统:主机、打印机、磁盘(光盘等)、网络设备、其他硬件设备

软件系统:操作系统、编译系统、网络操作系统、应用软件系统、软件文档、资料

3、 冯诺依曼计算机硬件构成及特点

请添加图片描述

  1. 计算机由五部分组成
  2. 采用存储程序的方式
  3. 数据以二进制编码表示
  4. 指令由操作码和地址码组成
  5. 指令在存储器中按执行顺序存放
  6. 机器以运算器为中心

4、 摩尔定律

当价格不变时,集成电路杀昂可容纳的元器件的数目约每隔18-24个月便会增加一倍,性能也将提升一倍。

5、 计算机的多级层次结构(虚拟机)

请添加图片描述
请添加图片描述

二、数据的运算和表示(运算器)

1、 真值数字化

  1. 进制:十、二、十六进制及互相转化
    1. 十进制转二进制:对整数部分采用除二取余法,即辗转相除法,对小数部分采用乘二取整法。注意小数点前转先算出的是最高位,小数点后的部分先算出的是最低位。
    2. 二进制转八、十六进制:三(四)个二进制位为一组,小数点左侧从右往左写,小数点右侧从左往右分组,不足的位置用0补齐(1 101. 010 1) 2 _2 2=(001 101. 010 100) 2 _2 2=(15.24) 8 _8 8
  2. ± \pm ±:有符号数,0表示+,1表示-
  3. 小数点:定点数(定点整数【阶码为j,位数为s,小数点固定在数的最低位之后即:符号位、数值位、隐含的小数点位置(依靠约定并不实际显示)例如1111=-7】,定点纯小数【小数点固定在最高位之后,例如1111=-0.875】,溢出(指的是超出数字所能表示的范围),浮点数(传统、IEEE754
  4. 数据的存储和排列
    1. 大端方式:按照从最高有效字节到最低有效字节的顺序存储数据,即最高有效字节放在最前面(反着放)
    2. 小段方式:按照从最低有效字节到最高有效字节的顺序存储数据,即最低有效字节放在最前面(顺着放)
  5. IEEE754:小数点位置在阶码和尾数之间,为隐含式结构

​ 数符(符号)|阶码|尾数 总位数

短实数: 1 8 23 32

长实数: 1 11 52 64

临时实数:1 15 64 80

2、 数字化的编码

**省流:**正数三码合一;负数原码等于机器码,反码除符号位按位取反,补码是按位取反后末尾加一。正负数的移码都是在补码的基础上最高位取反。

1-1
原码0000 00011000 0001
反码0000 00011111 1110
补码0000 00011111 1111
移码1000 00010111 1111

(1)原码

**省流:**原码在原数值的基础上添加符号位其余保持不变

机器数的最高位为符号位,0正1负,数值紧随其后,以绝对值的形式给出

非常接近真值;符号位不参与运算;数值0的表示结果不唯一

eg:+0.1011(n=4),则 [ x ] 原 = 0.1011 [x]_原=0.1011 [x]=0.1011;-0.1011,则 [ x ] 原 = 1.1011 [x]_原=1.1011 [x]=1.1011

(2)反码

**省流:**反码:正数保持不变,负数按位取反

机器数的最高位为符号位,0正1负,数值0的表示结果不唯一

eg:+0.1011(n=4),则 [ x ] 反 = 0.1011 [x]_反=0.1011 [x]=0.1011;-0.1011,则 [ x ] 反 = 1.0100 [x]_反=1.0100 [x]=1.0100

(3)补码

**省流:**补码:正数保持不变,负数按位取反末尾加一

机器数的最高位为符号位,0正1负,数值0的表示结果是唯一的(全是000000)

eg:+0.1011(n=4),则 [ x ] 补 = 0.1011 [x]_补=0.1011 [x]=0.1011;-0.1011,则 [ x ] 补 = 1.0101 [x]_补=1.0101 [x]=1.0101

(4)移码

**省流:**先求补码然后将符号位取反

eg:+0.1011(n=4),则 [ x ] 移 = 1.1011 [x]_移=1.1011 [x]=1.1011;-0.1011,则 [ x ] 移 = 0.0101 [x]_移=0.0101 [x]=0.0101

(5)溢出处理

三种任选其一:

  1. 当符号相同的两个数(补码形式)相加时,如果结果的符号位与加数/被加数的符号位不同时,则溢出
  2. 当任意符号的两数相加时,如果数值高位的进位≠符号位的进位时,则溢出
  3. 采用双符号位时,正数的符号位为00,负数的符号位为11,符号位参与运算,运算结果的两个符号位不同时(01或10)则表示溢出。双符号位的补码求解的模应该为 2 ( n + 2 ) 2^{(n+2)} 2(n+2)或者为4

3、 定点数加减乘

加法和乘法明确说明不考,故此处进行省略

(1)定点数加减法

  1. 补码的求解方法仍然需要减法,通过对补码求解公式进行拆分,引出”符号位不变,原码数值按位取反末尾加一的计算规律“
  2. [ x ] 补 + [ y ] 补 = [ x + y ] 补 [x]_补+[y]_补=[x+y]_补 [x]+[y]=[x+y] ( m o d 2 n + 1 / 2 ) (mod 2^{n+1}/2) (mod2n+1/2)
  3. [ x − y ] 补 = [ x + ( − y ) ] 补 = [ x ] 补 + [ − y ] 补 = [ x ] 补 − [ y ] 补 [x-y]_补=[x+(-y)]_补=[x]_补+[-y]_补=[x]_补-[y]_补 [xy]=[x+(y)]=[x]+[y]=[x][y]
  4. [ − x ] 补 = − [ x ] 补 [-x]_补=-[x]_补 [x]=[x]

(2)定点数乘法

  1. 原码一位乘:
  2. 补码一位乘:
    1. 矫正法
    2. Booth算法

4、 浮点数加减

(1) 浮点数表示

j f j 1 j 2 ∣ S f s 1 s 2 … S m j_fj_1j_2|S_fs_1s_2…S_m jfj1j2Sfs1s2Sm

浮点数由阶码和尾数两部分组成,阶码是整数,由阶符和阶码的数值部分组成,反应浮点数的表示范围以及小数点的实际位置。尾数是纯小数,其数值部分反应浮点数的精度,其符号(尾符)代表浮点数的正负。

(2)浮点数加减法!!重要!!

请结合例题1食用

  1. 对阶操作:比较两浮点数的阶码大小,求出差值E,将小的右移E位,并在阶码值上加上E使两数解码相等,符号位不参与右移,前面补零。可保留右移时的高位来保证运算的精度
  2. 尾数的加减运算:对阶完成后,两尾数进行加减运算,得到对应的和差
  3. 规格化操作:
    1. 如果结果的两个符号位的值不同,则代表运算尾数结果溢出,要在位数结果右移一位,阶码+1,称为右规”向右规格化“
    2. 两个符号位的值相同,最高数位值与符号位相同,将尾数连续左移n次直到不同,同时阶码-n,称为左规”向左规格化“
    3. 双符号位的原码规格化尾数最高位为1,补码规格化尾数为:00.1xxx或11.0xxx
  4. 舍入:在右规或对阶时,尾数低阶上的数值会被移掉影响精度。常用0/1舍入法。当移掉的最高位为1时,尾数的末位加一,如果溢出则要再次右规。
  5. 检查阶码是否溢出:表示浮点数溢出,不溢出则正常结束。下溢出结果为机器零(阶码和尾数全部置0),上溢出则置溢出标志。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C80igY6z-1661349029812)(期末复习.assets/image-20220823170325235.png)]

5、 奇偶校验

奇偶校验码只能发现一位或奇数个位数的错误,不能确定错误发生在哪一位上,考虑到大多数情况下发生1位错误的概率要远大于多位同时出错,该方案还是有很大的价值的。

数据奇校验编码偶校验编码
000(1)000(0)000
001(0)001(1)001
010(0)010(1)010
011(1)011(0)011
100(0)100(1)100
101(1)101(0)101
110(1)110(0)110
111(0)111(1)111

三、存储系统

1、 主存

(1)RAM

  1. SRAM

    基本单元电路(一对反向触发器组成的双稳态电路)——芯片(拆分地址并重合交叉选择)——时序(地址线、控制线、数据线)

  2. DRAM

    基本单元电路(栅极电容)——芯片(地址分时复用并重合交叉选择)——时序(地址线、控制线、数据线)——刷新和再生——三种刷新方式:

  3. DRAM和SRAM的对比

    DRAM采用栅极电容存储信息,SAM采用双稳态触发器存储信息

    DRAM集成度高,功耗小,存取慢,一般用来组成大容量主存系统;SRAM存取快,集成度低,功耗大,组成高速缓冲存储器和小容量主存系统。

    SRAM需要有片选信号,DRAM不需要,可以用行选通信号和列选通信号兼做片选信号。

    SRAM地址线直接和容量有关,DRAM采用地址复用技术,一般DRAM地址引脚数为地址位数的一半:采用分时复用,先传一半行地址,再穿一半列地址。引脚数增加一个,地址位数增加两位,容量扩大四倍。

(2)ROM

PROM_EPROM_EEPROM-Flash-NOR Flash-NAND Flash

(3) 存储器扩展!!重要!!

  1. 位扩展

    只在位数方向扩展,目的是加大字长,芯片的字数和存储器的字数是一致的

    连接方式:将各存储芯片的地址线、片选线和读写线相应地并连起来

    将各芯片的数据线单独列出

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2k8yueof-1661349029812)(期末复习.assets/image-20220823175140212.png)]

  2. 字扩展

​ 仅在字数方向扩展,目的是增加存储器中字的数量而位数保持不变。

​ 连接方式:将各存储芯片的地址线、数据线和读写线并连起来,用片选信号来区分各个芯片。

在这里插入图片描述

  1. 字位扩展!!重要!!

请结合例题2食用

​ 计算所需芯片数量、按位分组、按最大芯片根数分配地址,剩余高位地址根数作为片选(译码器输入)并根据题目表要求列出地址表,完成各组地址分配)

eg:32k*8位EEPRM扩展成128k*16位只读存储器,需要多少片EPROM?画出存储器的组成框图?

需要4组,每组两片,共八片

每个芯片十五(32k= 2 5 + 10 2^{5+10} 25+10)根地址线,需要构成的是十七根地址线的芯片,多了两根做片选信号,正好用2:4译码器,两个输入四个输出,选这四组是哪一组。

在这里插入图片描述

(4)主存储器与CPU的链接!!重要!!

连接原理:主存储器通过DB、AB、CB与CPU进行连接;数据总线的位数与工作频率的乘积正比于数据传输速率;地址总线的位数决定了可寻址的最大内存空间;控制总线指出本次IO操作完成的时刻

eg:使用8k*8的SRAM芯片组成32k*16的存储器,画出芯片与CPU连接的逻辑图

位扩展:8位-16位,需要2片,数据位数翻倍(组内)

字扩展:8k-32k,需要4组,地址线增加2位( 2 2 2^2 22),通过地址译码使地址增加2位(添加一个2:4译码器)

片数:(64k*8)/(16k*4)=8片

地址范围:每片 8K 个存储元,因此片内地址由 13 位二进制数构成,还需要 2 位地址进 行字扩展,因此地址共 15 位。

第一组:00 0 0000 0000 0000 ~ 00 1 1111 1111 1111

第二组:01 0 0000 0000 0000 ~ 01 1 1111 1111 1111

第三组:10 0 0000 0000 0000 ~ 10 1 1111 1111 1111

第四组:11 0 0000 0000 0000 ~ 11 1 1111 1111 1111

连接结构图:

在这里插入图片描述

注意:本图中片4-片7的片上的数据总线应该为 D 15 − D 8 D_{15}-D_8 D15D8,图片内容有错误

2、 辅存

(1)分类

磁表面(机械硬盘、磁带)、磁芯(破环性读出)、光存储(CD、DVD)、半导体存储器(TTL,静态MOS)

(2)磁表面技术指标

  1. 记录密度(道密度、位密度)
  2. 记录容量
  3. 平均访问时间
  4. 数据传输速率

3、 存储系统

(1)性能指标

容量,速度,位价

(2)程序访问的局部性原理

包含时间局部性和空间局部性。时间局部性:最近的未来要用到的信息,看很可能是正在使用的信息,因为程序正在循环。空间局部性:最近的未来要用到的信息,很可能与现在正在使用的信息在存储空间上是连续的,因为指令通常是顺序存放、顺序执行的。(本条内容了解即可)

(3)Cache-主存层次

  1. 技术指标:命中率、平均访问时间、效率
  2. 地址映像:直接映像、全相联映像、组相联映像!!重要!!

​ 直接映像:每一个区与cache的页数相同,多少个区,每个cache就有多少个内容,冲突问题严重。【主存字块标记】【cache字块地址】【块内地址】
在这里插入图片描述

全相联映像:每个页中的每个区都可以放到cache中的任意位置,冲突率降低了,电路复杂度非常高。【主存字块标记】【块内地址】

在这里插入图片描述

组相联映像:分组,组间直接映射,组内全相联【组号】【块号】【块内地址】

在这里插入图片描述

  1. 地址变换:主存地址分段(位数),Cache地址分段(位数)!!重要!!

​ 结合例题2食用最佳

  1. Cache与内存一致性:写回法,写一次法

(4)主存、辅存层次

  1. 调入机制:

    页式虚拟存储器、段式虚拟存储器、段页式虚拟存储器

  2. 地址变换:逻辑(虚)地址分段(位数),查表(页表、段表、段表+页表),主存地址分段;

  3. 快表(TLB)、内表(逻辑地址转化为物理地址)、外表(逻辑地址转化为物理地址)

  4. 虚拟存储器、TLB和Cache的协同操作:

​ 在最好的情况下,虚拟地址由TLB进行转换到实地址(表明页已在内存,不仅慢表有,快表也有),然后发现该实地址所在的块就在Cache中,故直接找到,并将偏移量对应的数据(字)取回送给处理器。

​ 在一般情况下,虚拟地址由TLB进行转换到实地址(表明页内已存在内存,不仅慢表有,快表也有),然后发现未命中cache,只能从内存中将相应的块送到cache,找到正确的数据并取回处理器。

​ 在最坏的情况下,TLB和页表均未命中(这种情况cache一定不会命中,因此cache使内存中块的副本),需要从辅存调入页到内存,然后更新页表(慢)和快表,并将页中所要查找的字所在的块调入cache,与此同时,找到正确的数据并取回处理器。

(5)cache与虚存的异同

相同点:

  1. 两者都是为了提高存储系统的性价比,即使存储系统的性能接近高速存储器

  2. 都是基于程序局部性原理:一个程序运行时只需要用到程序和数据的一小部分,将这部分放到比较快的存储器中即可,其他大部分放在速度低、价格便宜、容量大的存储器中,能以较低的价格实现高速的运算。

不同点:

  1. 在虚拟存储器中未命中的性能损失要远大于Cache系统中未命中的损失,主存和cache性能相差5-10倍,外存和主存性能相差上千倍
  2. cache主要解决CPU和主存的速度差异问题,虚存主要解决存储容量问题
  3. CPU和cache和主存之间均有直接访问通路,cache不命中时可直接访问主存。而虚存所依赖的辅存与CPU之间不存在直接的数据通路,主存不命中时只能通过调页解决,CPU最终还是要访问主存
  4. cache管理完全由硬件解决,对系统程序员和应用程序员完全透明。而虚存管理由软件(操作系统)和硬件共同完成,虚存对实现存储管理的程序员是不透明的(段式和段页式管理对应用程序员半透明)

四、指令系统

1、 指令格式

(1)操作码

​ 操作码扩展技术(指令长度不变,以最长指令码的操作码位数作为基础,逐步向较短地址码长度指令进行扩展,以此来增加操作码的数量)

(2)地址码

​ 充分利用CPU内存的专用寄存器,减少地址码数量(PC)以及长度(寄存器编号代替内存地址)

2、 寻址方式

(1)地址寻址

  1. 顺序寻址:PC+1→PC
  2. 跳跃寻址:(PC)+A→PC

(2)数据寻址

  1. 立即数寻址:操作数在指令之中
  2. 储存器直接寻址:操作数在内存地址中
  3. 存储器间接寻址:操作数在内存地址的地址之中
  4. 寄存器直接寻址:操作数在寄存器值中
  5. 寄存器间接寻址:操作数在寄存器所在地址的内存之中
  6. 基址寻址(BR)+A,用于段页式虚拟存储器虚拟页面向内存的调入
  7. 变相寻址(IX)+A,用于访问数组(数组中元素相加)
  8. 相对寻址(PC)+A,用于浮动程序,使逻辑存储空间中编程的程序,调入到内存任意位置都可以正常运行
  9. 堆栈寻址:SP,保护断点和现场(CPU内部寄存器)

(3)RISC和CISC

  1. RISC形成

    28定律:80%的常用程序仅使用了指令集中20%的指令,而其他80%的指令仅用于完成20%的应用场景

  2. RISC特点:

    1. 优先选取使用频率高的简单指令以及有用而不复杂的指令,避免使用复杂的指令
    2. 指令长度固定,指令格式种类少、寻址方式种类少、指令之间各字段的划分比较一致,各字段的功能也比较规范
    3. 只有取数、存数指令访问存储器(数据在寄存器和存储器之间传送),其余指令的操作均在寄存器之间进行
    4. CPU中通用寄存器数量相当多,算术逻辑运算指令的操作数都在通用寄存器中存取
    5. 大部分指令在一个或者小于一个机器周期内完成,易于实现流水线加速
    6. 以硬布线控制逻辑为主,不用或少用微程序控制
    7. 特别重视程序编译优化工作,以减少程序执行时间

五、控制器

1、 数据通路与操作控制信号(命令)

(1)专用寄存器

(2)模型机的数据通路

(指令周期、CPU 周期(机器周期)、时钟周期(状态、 T 周期、节拍))

(3)技术指标——机器速度(MIPS 和 CPI)

  1. MIPS:每秒钟多少百万条指令。

  2. CPI:每条指令多少个时钟周期。

(4)模型机的操作控制信号及过程!!重要!!

在这里插入图片描述

加法指令完成以下操作:

  1. 从存储器取指令,送入IR,并进行操作码译码,PC+1,为下一条指令做准备(取指令)。
  2. 在ALU计算数据地址,并将计算得到的有效地址送到AR(间址)。
  3. 到存储器取数(去操作数)
  4. 进行加法计算,结果送到寄存器,并根据运算结果置状态位N,Z,V,C(计算)

指令的执行过程:

在这里插入图片描述

2、微程序控制器!!重要!!

(1)微程序、微指令、微操作、微命令

微命令:控制部件通过控制总线向各执行部件发出各种控制命令

微指令:在一个CPU周期内,一组实现一定操作功能的微命令的组合

微操作:执行部件接受微命令后进行的操作

微程序:实现一条机器指令功能的许多条微指令组成的序列

总结:

  • ​ 一个程序=一组机器指令
  • ​ 一条机器指令(微程序)=一组微指令
  • ​ 一条微指令=一组微命令

(2)控制存储器

存储位置程序的存储器,称为控制存储器

由于微程序是对机器指令的解释,且指令系统的机器指令固定,所以微程序固定,控制存储器只需要ROM即可

由于微程序由微指令序列组成,而微指令包括控制字段和下一条微指令地址,故微指令字长要远大于指令字长,继而需要较大容量的控制存储器

执行一条机器指令就相当于执行控制存储器中的一段微程序。

(3)微指令格式(控制信号+下一条微指令地址)

(4)微指令格式化

  1. 缩减控制信号长度:不编码、完全编码、部分编码:互斥+相关
  2. 增强微程序流控制方式:将下一条微指令地址码分为:转移控制字段+转移控制地址。
  3. 水平型微指令和垂直型微指令

​ 无编码和部分编码均属于水平型微指令(并行发出所有指令或互斥信息分组【控制信号位数缩减,但并行度为损失】),完全编码属于垂直型微指令(类似于机器指令,一次只能表达一条微命令,并行度严重降低)

水平型微指令:

	1. 一次能定义且并行执行多个微命令的微指令
	1. 并行操作能力强,效率高,灵活性强
	1. 执行一条机器指令所需的微指令数目少,执行时间短。
	1. 微指令字较长,增加了控存的横向容量,同时微指令和机器指令的差别很大,设计者只有熟悉了数据通路,才有可能编制出理想的微程序,一般用户不易掌握

(这里应该是一个有序列表,但是typora抽风了,修改完保存就还是这样,无视就行)

垂直型微指令:

  1. 一次只能执行一个微命令的微指令
  2. 并行操作能力差,一般只能实现一个微操作,控制一到两个信息传送通路,效率低
  3. 执行一条机器指令所需的微指令数目多,执行时间长
  4. 垂直型微指令与机器指令很相似,所以容易掌握和利用,编程比较简单,不必过多地了解数据通路的细节,且微指令字较短

(5)微指令的编码法

1. 直接控制法

操作控制字段中的各位可以直接控制计算机,不需要进行译码

操作控制字段中的每一个独立的二进制位代表一个微命令,每个微命令对应并控制数据通路中的一个微操作

特点:结构简单,并行性强,操作速度快

微指令字太长:在N个微命令中,有许多是互斥的,他们并不允许并行操作,将他们安排在一条微指令中是毫无意义的

在这里插入图片描述

2.字段编码法

将操作字段分成若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。

又分成两种:

字段直接编码法:各字段都可以独立地定义本字段的微命令,而与其他字段无关

字段间接编码法:一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义。在字段直接编码法的基础上来进一步缩短微指令字长的方法。

在这里插入图片描述

(6)程序和微程序的区别

  1. 层次不同,一个处于程序层次,一个处于微程序层次
  2. 微程序是由微指令组成的,它用于描述机器指令,实际上是机器指令的实时解释器,它是由计算机的设计者事先编制好并放在控制存储器中的。对于程序员来说,计算机系统中微程序一级的结构和功能是透明的
  3. 程序则最终由机器指令完成,它是由软件设计人员事先编制好并存放在主存或辅存中的

(7)机器指令和微指令的区别

  1. 机器指令跟微指令所处的级别不同,机器指令在程序层次,微指令在为程序层次
  2. 一系列微指令和的有序集合构成一段微程序,完成一条机器指令的功能实现
  3. 机器指令和微指令结构不同,机器指令由操作码和操作数地址构成,微指令由控制信号(或微操作或微命令)和下址构成。

六、IO系统

1、 IO设备

(1)输入设备

键盘(薄膜、机械),鼠标(机械、光电)

(2)输出设备

显示器(CRT、LCD、LED),打印机(针式、喷墨、激光)

2、 IO系统

(1)IO设备+IO接口

设备:外部设备、设备控制器、端口(数据、控制、状态)

接口:实现主机和外设的通信连接控制;进行地址编码和设备选择;数据缓冲;数据格式的交换;传递控制命令和状态信息

(2)IO接口的数据交换方式

  1. 程序直接控制方式:

    淘宝购买东西并付款之后,直接在小区门口等待(CPU 等待),直到快 递送到手中,再取回家(CPU 取数)。

  2. 程序中断控制方式:

    淘宝购买东西并付款之后,直到接收到取快递的短信(中断请求),如果不忙(中断响应),才将快递取回家(CPU 取数)。

    1. 中断源:外部中断(IO设备异常、电源掉电)、内部中断(异常、故障、陷阱)
    2. 准备就绪触发器(D=1)、中断请求触发器(INTR=1)、中断屏蔽触发器(MASK=0)、排队其(优先权)、中断允许触发器(IF=1)
    3. 响应条件(快递到快递驿站(D=1)、双 11 快递量很多需要排队(优先 权)、并且你的快递合法(MASK=0)、取件人有时间(IF=1)、当前指令执行结束)
    4. 响应后的处理(中断服务程序)流程:中断嵌套;
  3. DMA控制方式:

​ 淘宝购买东西并付款之后,直接委托给一个秘书,预先告诉他取快递的地点和送回到哪(内存地址和设备地址(硬盘号+盘面+磁道+扇区)),并在秘书取回之后(DMA:请求总线(从老板借车)之后,再传输数据),给老板反馈(中断报告),让老板查看是否正确(奇偶校验)。

(3)程序查询方式的特点

  1. 实现方便,控制简单
  2. CPU与外设采用串行方式工作,牺牲了CPU效率,响应速度慢
  3. 只是用于对少量IO设备的处理
  4. 无法对随机出现的事件快速处理

(4)程序查询与程序中断控制方式的比较

  1. 程序查询方式中,何时操作IO设备需要由CPU查询并控制,在中断方式中由外围设备主动向CPU申请
  2. 程序查询方式中,CPU与IO设备时串行工作的;中断方式中,他们是并行工作的
  3. 程序查询方式中无法处理异常随机事件,中断方式可以对随即请求及时处理
  4. 程序查询方式的硬件结构简单,但CPU效率低,中断恰好相反

(5)DMA与程序中断控制方式的比较

  1. 中断方式通过程序实现数据传输,而DMA则是通过硬件来实现数据传输
  2. CPU对于中断的响应是在执行完一条指令后;而对DMA传送的响应则可以再指令执行过程中的任意两个存储周期(CPU)周期之间,因为DMA不需要执行中断服务程序,故不需要断电保护和现场保护
  3. 中断方式不仅具有数据传送能力,其特点是能处理”异常随机事件“;而DMA的特点则主要用于”成块数据“的快速传送
  4. 中断方式必须切换程序,所以要进行现场保护和现场恢复操作;而DMA只需要挪用内存周期来进行数据传送,不改变CPU现场
  5. DMA请求的优先权比中断请求高

七、 例题!!重要!!

八道例题务必全部掌握!

1、 浮点数加减法

在这里插入图片描述

问题:为什么选择两位符号位?保持精度,可以处理溢出

2、 存储芯片扩展及与CPU链接-1

1

在这里插入图片描述

注意:本图中片4-片7的片上的数据总线应该为 D 15 − D 8 D_{15}-D_8 D15D8,图片内容有错误(懒得改了)。搭配讲解视频食用更佳。

3、 存储芯片扩展及与CPU的链接-2

在这里插入图片描述
在这里插入图片描述

4、 Cache和主存之间的映射方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

速通教程(26分钟)后半段cache命中率看时间安排决定是否学习

5、 微指令编码方式-1

在这里插入图片描述

P字段来源:

在这里插入图片描述

6、 微指令编码方式-2

在这里插入图片描述

注意:

​ 注意区分控存容量和控存容量字数,控存容量计算公式为: 微指令字长 ∗ 2 下址字段长度 微指令字长*2^{下址字段长度} 微指令字长2下址字段长度,控存字数计算公式为: 2 下址字段长度 2^{下址字段长度} 2下址字段长度

​ 采用直接控制法的话每种情况直接占一位,外部条件和微命令都满足这个限制,否则位数只需要满足 2 n − 1 2^n-1 2n1即可三种外部条件,n=2只需要两位。

7、 CPU内部结构及控制-1

在这里插入图片描述
取址周期:PC(程序计数器)【含有下一条指令的地址】,先自增,然后通过内部总线告诉**MAR(地址寄存器)放到地址总线上,然后去M(储存器)**中相应的地址拿到指令;**CU(控制单元)发出读命令到控制总线上,告诉M(储存器)要读地址上的内容,M(储存器)将地址上的内容通过DB(数据总线)给到CPU内的MDR(数据寄存器),由MDR(数据寄存器)放到IR(指令寄存器)**中。

间址周期:IR(指令寄存器),通过MAR到M储存器中访问到地址;CU通过控制总线读取M中的内容,储存器通过数据总线将数据交给CPU内的数据储存器MDR。

执行(执行无定法):参考资料

中断:参考资料

8、 CPU内部结构及控制-2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一. 选择题 (每小题1分,共10分) 1. 计算机系统中的存贮器系统是指______。 A RAM存贮器 B ROM存贮器 C 主存贮器 D 主存贮器和外存贮器 2. 某机字长32位,其中1位符号位,31位表示尾数。若用定点小数表示,则最大正小数为______。 A +(1 – 2-32) B +(1 – 2-31) C 2-32 D 2-31 3. 算术 / 逻辑运算单元74181ALU可完成______。 A 16种算术运算功能 B 16种逻辑运算功能 C 16种算术运算功能和16种逻辑运算功能 D 4位乘法运算和除法运算功能 4. 存储单元是指______。 A 存放一个二进制信息位的存贮元 B 存放一个机器字的所有存贮元集合 C 存放一个字节的所有存贮元集合 D 存放两个字节的所有存贮元集合; 5. 相联存贮器是按______进行寻址的存贮器。 A 地址方式 B 堆栈方式 C 内容指定方式 D 地址方式与堆栈方式 6. 变址寻址方式中,操作数的有效地址等于______。 A 基值寄存器内容加上形式地址(位移量) B 堆栈指示器内容加上形式地址(位移量) C 变址寄存器内容加上形式地址(位移量) D 程序记数器内容加上形式地址(位移量) 7. 以下叙述中正确描述的句子是:______。 A 同一个CPU周期中,可以并行执行的微操作叫相容性微操作 B 同一个CPU周期中,不可以并行执行的微操作叫相容性微操作 C 同一个CPU周期中,可以并行执行的微操作叫相斥性微操作 D 同一个CPU周期中,不可以并行执行的微操作叫相斥性微操作 8. 计算机使用总线结构的主要优点是便于实现积木化,同时______。 A 减少了信息传输量 B 提高了信息传输的速度 C 减少了信息传输线的条数 D 加重了CPU的工作量
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值