1、计算机组成原理期末复习纲要1、理解与识记。1、冯诺依曼体制的核心思想:采用存储程序工作方式。 事先编制程序(根据问题找算法编程序 ); 将程序存储于计算机的存储器中; 计算机在运行时自动地、连续地从存储器中依次取出指令加以执行。2、总线的特性:机械特性、电气特性、功能特性、时间特性。3、指令系统的定义:一台计算机中所有机器指令的集合。对指令系统性能的基本要求:完备性、有效性、规整性、兼容性。4、 (1)寄存器寻址 在指令的地址码部分给出某一寄存器的某一单元的名称,而所需的操作数就在这个寄存器的该单元中。EA=Ri;执行阶段不访存,只访问寄存器,执行速度快 寄存器个数有限,可缩短指令字长(2)
2、、寄存器间接寻址 地址码部分给出的是寄存器的某个单元格名称,该单元格中存放的是操作数在主存中的地址。EA=(Ri);有效地址在寄存器中, 操作数在存储器中,执行阶段访存便于编制循环程序(3) 、相对寻址 把当前 PC 中的内容与指令地址码部分给出的位移量之和作为操作数的地址.EA = ( PC ) + A;A 是形式地址(可正可负,补码)A 的位数决定操作数的寻址范围,广泛用于转移指令。(4) 、 变址寻址 IX 为变址寄存器(专用) ,通用寄存器也可以作为变址寄存器EA = ( IX ) +A;如果在变址寻址中引入基址寄存器,则 EA=(IX)+(BR)+A;可扩大寻址范围,IX 的内容由用
3、户给定 在程序的执行过程中 IX 内容可变,形式地址 A 不变 便于处理数组问题5、分辨率:在显示屏幕上,图像都是由称作像素的光点组成的,光点的多少称作分辨率(显示设备能够表示像素的个数) ;灰度级:所显示像素点的暗亮差别称作灰度级。中断:在接到随机请求后,CPU 暂停执行原来的程序,转去执行中断处理程序,为响应的随机事件服务,处理完毕后 CPU 恢复原程序的继续执行,这个过程称为中断.DMA 控制方式的基本思想(P253 ):是一种完全由硬件执行的主存与外设之间数据直接传送的 I/O 控制方式,由 DMA 控制器从 CPU 接管对总线的控制权,数据传送不经过 CPU,而直接在主存和外设之间进
4、行。一般用于高速成组的数据传送。DMA 与主存交换数据的三种方式: (1) 停止 CPU 访问主存(CPU 暂停方式)(2) CPU 周期挪用(或周期窃取)(3) DMA 与 CPU 交替访问(直接访问存储器工作方式)DMA 方式传送数据的三个阶段:预处理、数据传送、后处理。6、通道的基本功能:P261P262通道是一种硬件机构,又称 I/O 处理机。因其是专用,故有很强的 I/O 处理能力。它接受 CPU 的委托,独立地执行自己的通道程序来实现内存与外设之间的数据传输。当 CPU 委托的 I/O 任务完成后,通道发出中断,请求 CPU 进行结束处理。根据信息交换方式,通道可分成:选择通道、多
5、路通道(字节多路通道、成组多路通道) 。比较四种 I/O 控制方式与 CPU 的并行程度高低:程序查询方式:数据在 CPU 和外设之间的传送完全靠计算机程序控制,是在 CPU 主动控制下进行的。中断方式:适用于随机出现的服务,按字节方式传输数据,一定程度上实现了 CPU 与 I/O 设备的并行工作。DMA 方式:适用于内存与外设之间的大批量数据交换的场合,以块的方式传输数据,传输率仅受内存访问 时间的限制,基本实现了 CPU 与外设的并行工作。通道方式:可实现对外设的统一管理和外设与内存之间的数据传送,完全实现了 CPU 与外设的并行工作。7、DRAM、SRAM 的比较:存储原理 集成度 芯片
6、引脚 功耗 价格 速度 刷新动态 DRAM 电容 高 少 小 低 慢 有静态 SRAM 触发器 低 多 大 高 快 无DRAM 刷新的概念:为了维持 DRAM 记忆单元存储信息,通常每隔 2ms 就必须对存储体中所有记忆单元的栅极电容补充一次电荷,这个过程就是刷新。8、机器指令与微指令之间的关系: 1.一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的 操作划分成若干条微指令来完成,由微指令进行解释和执行。 2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关
7、,后者与控制存储器有关。指令周期的定义:取出并执行一条指令所需的全部时间。微程序控制的基本思想:将微程序设计技术和存储技术相结合,用微程序设计的思想来组织操作控制逻辑,将微命令按一定规则组合成微指令,再把这些微指令按时间先后排列构成微程序,放在一个只读的控制存储器中.当机器运行时,逐条地读出这些“微指令” ,从而产生所需要的各种微操作控制信号,使相应部件执行规定的操作。控制存储器的功能:用来存放实现全部指令系统的微程序9、CPU 的四大基本功能:(1) 指令控制;(2)操作控制;(3)时间控制;(4)数据加工。控制器主要组成部件: 程序计数器 PC、指令寄存器 IR指令译码器、时序产生器、操作
8、控制器运算器主要组成部件: 算术逻辑单元 ALU、累加寄存器 AC数据缓冲寄存器 DR、状态条件寄存器 PSW主存和 CPU 之间增加 cache 的目的(P101):为了解决 CPU 和主存之间速度不匹配。2、计算与推理。1、 正数的反码与原码相同,负数的反码为其原码的符号位不变,其余各位按位变反正数的补码与原码相同,负数的补码为其反码的末位加一可得规则 1.反码运算时,其符号位与数值一起参加运算.2.反码的符号位相加后如果有进位出现,则需把它送到最低位去相加.3.反码的运算形式:X+Y反=X 反+Y反 X-Y反=X反+-Y反无论正数还是负数,移码与补码的数字位相同,符号位相反规则 1.移码
9、的运算形式:X+Y移 =X移+Y补 X-Y移= X移+-Y补 2.移码的符号位相加后如果有进位出现,则需把这个进位舍去2、主存容量 16MB,cache 容量 8KB,4 个字节为一块,采用直接映像,回答如下问题:1.主存与 cache 各包含多少块?2.主存分多少区?3.主存地址分几个字段?每个字段多少位?4.在该方式下,主存的第 5000 块位于哪个区?映像到 cache 的哪个块中?分析:1.主存块数:已知主存容量 16M,4B 为一块则 主存块数=主存容量 /每块容量= 1610241024/4=222 块cache 块数=cache 容量/每块容量 = 81024/4=211 块2.
10、主存分几个区:主存分区数=主存总块数 /cache 总块数= 222/211=211 区 3.主存分三个字段:主存区号标记位、cache 块地址位、块内地址 主存区号标记位数=11 位 cache 块地址位数=11 位 块内地址位数 =2 位 4. 位于哪个区:块号 DIVcache 总块数=5000 DIV 211=2 区映像到 cache 哪个块 :块号 MODcache 总块数=5000 MOD 211=904 块3、例题:某程序对页面要求的序列为:P1,P2,P3,P4P1,P2,P5,P1,P2,P3,P4,P2,设 cache 为 3 个块,请分别采用 FIFO 算法和 LRU 算
11、法,求命中率各是多少?分析: FIFO:当前 cache 中如果存在与调入的页面相同的页面,则命中,否则不命中.当命中时,不发生页面置换,并标记一次命中,不命中时,发生页面置换,将此时 cache 中最先调入的页面置换出去.页号块号 1 2 3 4 1 2 5 1 2 3 4 2123命中次数命中率=2/12 100%=17%LRU:分析:当前 cache 块中如果存在与调入的页面相同的页面,则命中,否则不命中.当命中时,要发生页面置换,cache 中哪一个页面与调入的页面相同就将哪一个页面置换出去,并标记一次命中,不命中时,同样发生页面置换,将此时 cache 中最先调入的页面置换出去.页号
12、块号 1 2 3 4 1 2 5 1 2 3 4 2123命中次数命中率=3/12 100%=25%4、例题 1:基址存储器的内容为 2000H,变址寄存器内容为 03A0H,指令的地址码部分是 3FH,当前正在执行的指令所在的地址为 2B00H,请求出变址编址(考虑基址)和相对编址两种情况的访存有效地址。变址编址情况下访存的有效地址:EA=基址寄存器内容+变址寄存器内容+形式地址 A=2000H+03A0H+3FH=23DFH相对编址情况下访存的有效地址:EA=(PC)+A=2B00H+3FH=2B3FH例题 2:已知某指令形式地址 A 为 4000H,内存 4000H 单元的内容为 200
13、0H,2000H 单元的内容为3000H,PC 内容为 2AFH,变址寄存器 X 中内容为 90H,基址寄存器 R 的内容为 3CBH。求以下寻址方式下的有效地址是多少:直接寻址: EA=A=4000H一次间接寻址: EA=(A)=2000H变地址寻址: EA=(IX)+A=90H+4000H=4090H相对寻址: EA=(PC)+A=2AFH+4000H=42AFH5、某磁盘组有 6 个盘片,存储区域内径直径 22cm,外直径为 33cm,道密度为 40 道/cm,内层位密度为 400 位/cm,转数为 2400 转/分,问:1.共有多少个盘面可用?共有多少柱面?2.盘组总存储容量是多少?3
14、.数据传输率是多少?4.采用定长数据块记录格式,直接寻址的最小单位是什么?寻址命令如何表示磁盘地址?5.如果某文件长度超过一个磁道容量,应将它记录在同一个存储面上还是存储在同一个柱面上?为什么?1.分析:最上面和最下面的盘面是不可用的 盘片可用面个数= 盘片个数22=6 2-2=10 个柱面数: 有效区域:有效区域=(外道直径- 内道直径)/2=(33-22)/2=5.5 cm柱面数=道密度 有效区域 =405.5=220 道( 即 220 个柱面)2.盘组总存储容量:盘组容量=盘面容量 盘片可用面个数=道容量柱面数 盘片可用面个数=内层位密度 内道周长 柱面数盘片可用面个数=(400 /8)
15、3.14 22 220 10=3454220 10=7598800B 7.25MB3.数据传输率=每秒转速 道容量 =2400/60 3454=13816 B/s4.采用定长数据块记录格式,直接寻址的最小单位是一个记录块(一个扇区) ,其编址方式可为如下格式:台号 柱面号 盘面号 扇区号5.记录在同一个柱面上,因为当文件长度超过磁道容量时,不需要重新找道,数据读写速度快。6、关于字位扩展的应用举例: 根据所给条件,确定 CPU 与存储器的连接图.步骤:1. 确定存储器中包含芯片的个数:如果用 M N 位 的存储芯片组成 K L 位 的存储器,则需芯片个数为: K/M *L/N 个。2. 确定
16、CPU 连接到每个芯片的地址线条数,总的数据线条数。将芯片容量大小转换成字节,再转换成 2n 形式,则 n 为连接芯片的地址线条数,构成 的存储器的总位数即为所需数据线条数.3. 每组芯片数= 存储器总位数 /每块芯片位数分组数=总的芯片个数 /每组芯片数4. 根据分析结果确定连接图例题 1:已知一个存储器用 RAM 芯片(8K4 位)形成一个 16K8 位的 RAM 区域,假设 RAM 芯片有 CS和 R/W 信号端,CPU 地址总线为 14 根(A0A13),数据线为 8 根(D0D7), 控制信号为 R/W(读写),MREQ 时(当存储器进行读/写操作时,该信号指示地址总线上的地址是有效
17、的). 画出该 CPU 与存储器的连接图.分析:1.确定 RAM 芯片的个数: 16/8 * 8/4 = 4 片2.确定 CPU 连接到 RAM 芯片的地址线条数: 8K=81024B=213B故 CPU 连接到芯片的地址线条数为 13 根(A0A12)3.每组芯片数= 存储器总位数/每块芯片位数 =8/4=2 片分组数=总的芯片数 /每组芯片数=4/2=2 组4.根据分析画出 CPU 与存储器的连接图例题 2:某 CPU 提供 16 条地址线(A0A15),8 条数据线(D0D7)及 R/W 控制信号,CS 片选信号,目前使用的存储器包含 4KB 的 ROM 区域,采用 2K8 位的芯片组成
18、,RAM 区域的地址范围为:4000H4FFFH,采用4K2 位的芯片构成,请画出 CPU 与存储器的连接图.分析: 1.确定 ROM 芯片和 RAM 芯片的个数ROM:ROM 区域的容量和位数 (4K8 位) 4/2 * 8/8 = 2 片RAM 区域的容量:通过地址范围确定 RAM 区域的容量4FFFH-4000H=FFFH=4095D 4096B/1024=4KB4KB 即为 RAM 区域的容量.(4K 8 位) 4/4 * 8/2 =4 片2.确定 CPU 连接到每个芯片的地址线条数:ROM:地址线条数为 11 根. RAM:地址线条数为:12 根3.确定分组及每组芯片数:ROM:每组
19、芯片数=ROM 区域总位数/每片 ROM 位数=8/8=1 片分得组数=总 ROM 芯片数/每组芯片数=2/1=2 组RAM:每组芯片数=RAM 区域总位数/每片 RAM 位数=8/2=4 片分得组数=总 RAM 芯片数/每组芯片数=4/4=1 组4.根据分析画出 CPU 与存储器的连接图7、异步刷新方式下,求刷新信号周期。第 3 章习题 4(P102):有一个 1024K*32 位的存储器,由 128K*8 位的 DRAM 芯片构成。问:(1)总共需要多少 DRAM 芯片? (2)设计此存储体组成框图。(3)采用异步刷新方式,假设 DRAM 128*128 如单元刷新间隔不超过 8ms,则刷
20、新信号周期是多少?分析:(1) 、总共需要 DRAM 芯片:1024/128 * 32/8 = 32 片(2) 、连接到每个芯片的地址线数:17 条每组芯片数: 32/8 = 4 片分组数: 32/4 = 8 组画图。(3) 、刷新周期 = 最大刷新时间间隔 /行数 = 8/128 = 0.0625 ms8、取指令的过程:1.明确指令地址:2.取指令:数据在主存和运算器之间进行存取访问的数据通路:取数据到运算器的通路:存数据到存储器的通路:9、操作码扩展技术的相关例题规则 1.令某定长指令的操作码长 m 位,每个操作数地址码长 n 位,其中包含三地址指令 K 条,二地址指令 L 条,则有: L
21、=(2m-K).2n 二地址指令条数=(总的指令条数-三地址指令条数). 2n 若除包含三地址指令,二地址指令外,还包含有一地址指令 M 条,则有: M= (2m-K).2n-L. 2n一地址指令条数=(总的指令条数-三地址指令条数). 2n- 二地址指令条数.2n规则 2:操作码的长度= 指令长度 -地址码总长度操作数地址码总长度要以操作数的地址数最多的指令地址码长度为准.例题:某机为定长指令结构,指令长度为 16 位,每个操作数的地址码长 2 位,指令分为单操作数,双操作数,三操作数三种,若三操作数指令已经有 a 条,单操作数指令已有 b 条,(1)求双操作数指令最多有多少条?(2) 分别
22、画出该指令系统中三操作数、双操作数、单操作数指令的地址格式。(1)分析:从题意知,该定长指令结构从三地址指令扩展到一地址指令,根据题意有:操作码长度= 指令长度-地址码总长度 =16-32=10 位根据公式:设双操作数有 x 条 b=(210-a).22-x.22x=4096-4a-b/4(2)三种操作数地址格式三操作数地址双操作数地址单操作数地址 P101102:习题 1:设有一个具有 20 位地址和 32 位字长的存储器,问:(1)该存储器能存储多少个字节的信息?(2)如果存储器由 512K * 8 位 SRAM 芯片组成,需要多少片? (3)需要多少位地址作芯片选择?分析:(1)220B
23、=1024*1024B = 1MB (2)1024/512 * 32/8 = 8 片(3)连接到每个芯片雷地址线 19 条,剩下一条作为芯片选择。习题 6:用 32K*8 位的 E2PROM 芯片组成 128K*16 位的只读存储器,试问:(1)数据寄存器多少位? (2)地址寄存器多少位?(3)共需多少个 E2PROM 芯片? (4)画出此存储器组成框图。分析:(1)16 位 (2)17 位(128KB = 2 17B)(3)128/32 * 16/8 = 8 个(4)连接到每个芯片的地址线数:15 条(32K)每组芯片数:2 片 分组数:4 组画图。P234:习题 7:某磁盘存储器转速 r
24、=3000 转/分,共有 4 个记录面,每道记录信息为 12288B,最小磁道直径为230mm,共有 275 道。问:(1)磁盘存储器的存储容量是多少? (2)磁盘数据传输率是多少?(3)平均等待时间是多少? (4)给出一个磁盘地址格式方案。分析:(1)磁盘容量 = 道容量 * 柱面数 * 记录面个数 = 12288/1024 * 275 *4 = 13200KB = 12.89MB(2)数据传输率 = 每秒转数 * 道容量 = 3000/60 * 12 = 600 KB(3)平均等待时间 = (60/每分转数) /2 = 0.01 s(4)磁盘地址格式方案 台号 柱面号 盘面号 扇区号习题
25、8:已知某磁盘存储器转速为 2400 转/分,每个记录面道数为 200 道,平均找道时间为 60ms,每道存储容量为 96KB,求磁盘的存取时间与数据传输率。分析:平均存取时间 = 平均找道时间 + 平均等待时间=60ms + (60/2400) / 2 * 1000 = 72.5ms数据传输率 = 每秒转数 * 道容量 = (2400/60)* 96KB = 3840 KB/s 习题 10:一台活动头磁盘机的盘片组共有 20 个可用的盘面,每个盘面直径 18 英寸,可供记录部分宽 5英寸,已知道密度为 100 道/英寸,位密度为 1000 位/英寸(最内道) ,并假定各磁道记录的信息位数相同
26、。试问:(1)盘片组总容量是多少 MB ?(2)若要求数据传输率为 1MB/s,磁盘机转速每分钟应是多少转?分析:(1)a 求内道直径: (18-d 内 )/2 = 5 d 内 =8 英寸b 求盘组容量 = 面容量 * 可用面个数 = 道容量 * 柱面数 * 20=内存位密度 * 内道周长 * 道密度 * 有效区域 * 20=(1000/8)*3.14*8 *100*5 *20 = 31400000B = 29.95MB(2)数据传输率 = (每分转数/60 )*道容量1MB/s = (r / 60)* 0.003 解得: r = 20000 r / minP269270:习题 2:中断向量地
27、址是_B_ 。A. 子程序入口地址 B. 中断服务程序入口地址C. 中断服务程序入口地址指示器 D. 例行程序入口地址 习题 4:采用 DMA 方式传送数据时,每传送一个数据就要占用一个_C_ 的时间。A. 指令周期 B. 机器周期 C. 存储周期 D. 总线周期习题 12:下列陈述中正确的是 _D_ 。A. 在 DMA 周期内,CPU 不能执行程序B. 中断发生时,CPU 首先执行入栈指令将程序计数器内容保护起来C. DMA 传送方式中,CMA 控制器每传送一个数据就窃取一个指令周期D. 输入输出操作的最终目的是要实现 CPU 与外设之间的数据传输指令系统练习:某指令系统指令长 16 位,每个操作数的地址码长 6 位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令有 K 条,无操作数指令有 L 条,问单操作数指令最多能有多少条?分析:X=2 10-26K-l/26