@ExcitedSpider
2018-01-13T11:04:01.000000Z
字数 6422
阅读 2375
计算机组成原理复习(2)
硬布线、微程序的输入输出
输入:IR,状态字REG,时序信号 等
输出:一系列控制信号(微指令)
如何判断水平型/垂直型微指令?
一条指令可表示很多微命令——水平
一条指令只能表示很少的微命令——垂直
流水指令技术
串行传输中的数据传输速率
波特率:每秒钟通过信道传输的总位数,包括起止校验信息等位
比特率:每秒钟通过信道传输的信息量的位传输速率
实模式下使用中断向量表
字扩展时外接译码器CS#的逻辑:需要未使用的地址线为0,且MEMR#与MEMW#信号不都为0才有效
例题
某磁盘组有 6 个盘片,最外两侧盘面为保护面、不记录信息。盘片存储区域内径为
22cm,外径为 33cm,磁道间距最小为 0.25cm,磁道位密度为 1600b/cm。
(1)此磁盘组的存储容量是多少?
(2)当磁盘转速为 5400r/min,且同时仅一个磁头工作时,数据传输率是多少?
解:(1)每个盘面磁道数=(33-22)÷2÷0.25=22 个,
每个磁道信息量=2×3.14×11×1600=110528 bit=13816 B,
磁盘组存储容量=(6×2-2)×22×13816=3039520 B;
(2)数据传输率=记录密度×盘面转速=13816×(5400÷60)=1243440 B/s。
对于向量中断,简述中断响应的功能及各个阶段的具体任务。并说明 I/O 中断请求被响应的条件。
答:中断响应指 CPU 从当前程序转入中断服务程序的过程,主要包括识别中断源、保存现场、获得中断服务程序入口地址、转入中断服务阶段 4 项工作。
识别中断源的任务是从当前所有中断请求中选择一个最紧急的中断请求,并取得所选中断请求对应中断源的中断向量地址;保存现场的任务是保存程序返回点硬件现场,通过关中断(即IF←0)可实现默认的单重中断方式;获得中断服务程序入口的任务是用所选中断源的中断向量地址查中断向量表IVT,得到所选中断请求对应的中断服务程序入口地址(中断向量);转入中断服务阶段的任务最简单,只需将所获得的中断服务程序入口地址置入 PC 即可 。
CPU 按(PC)执行指令即进入了中断处理阶段。
某计算机的主频为 50MHz,与某个数据宽度为 32 位、数据传输率为 32Kbps 的设备进行数据 I/O 时,程序查询方式的一次查询操作需 200 个时钟周期,一次数据传送操作需100 个时钟周期,程序中断方式的一次中断处理需 500 个时钟周期。
(1)若程序查询方式中,CPU 每查询 10 次就可以传送一次数据,此时 I/O 占 CPU 时间
的百分比是多少?
(2)程序中断方式中,I/O 占 CPU 时间的百分比又是多少?
解:该设备每秒最多可进行数据 I/O 的次数为 32Kbps/32bit=1000 次/秒,
(1)每次 I/O 所占 CPU 时间为+ = s,
程序查询方式中,I/O 占 CPU 时间的百分比为= ;
(2)每次 I/O 所占 CPU 时间为 = ,
程序中断方式中,I/O 占 CPU 时间的百分比为= 。
某 CPU 的主频为 500MHz、CPI等于5,假设某外设数据传输率为0.5MB/s,采用中断方式进行数据传送,以4B长度为传送单位,对应的中断程序共18条指令,中断处理的其它开销相当于 2 条指令时间。
(1)中断方式下,CPU 用于该外设 I/O 的时间占整个 CPU 时间的百分比?
(2)若外设数据传输率提高到 5MB/s,改用 DMA 方式传送,每次 DMA 传送的块大小为5000B,DMA 预处理及后处理共需 500 个时钟周期,假设 CPU 与 DMA 接口间无访存冲突,则CPU 用于该外设 I/O 的时间百分比?
解:(1)CPU 每次中断开销=+ = = = ,
外设的中断请求频率=0.5MB/s÷4B=125000Hz,中断请求间隔== ,
I/O 时间占 CPU 时间百分比== 。
(2)CPU 每次 DMA 处理开销== = ,
外设的 DMA 请求频率=5MB/s÷5000B=1000Hz,DMA 请求间隔== ,
I/O 时间占 CPU 时间百分比== 。
某 32 位宽度的同步总线中,总线时钟频率为66MHz,若每个总线传输周期需要4个时钟周期,请计算该总线带宽。若想提高总线带宽,可采取哪些措施?
解:(1)由于每次总线传输都需要4个时钟周期,故总线传输次数/秒=66MHz/4=16.5MHz,总线带宽=32bit×16.5MHz=528Mb/s=66MB/s;
(2)增加同步总线的数据宽度,提高总线时钟的频率,采用猝发传输模式等都可以提高总线带宽。
为什么要进行总线仲裁?链式查询方式仲裁时,各主设备的仲裁逻辑是什么、有什么特点?计数器定时查询方式仲裁时,查询为什么要定时进行?如何实现循环优先级仲裁?
答:(1)由于总线是多个部件共用的传输介质,故同时只允许一个部件发送信息;为解决多个主设备同时竞争总线控制权的问题,必须要进行总线仲裁,用某种方式选择某个主设备为下个总县传输周期的总线使用权拥有者。
(2)链式查询方式仲裁时,各主设备的仲裁逻辑是该设备被询问、且有总线请求时获得下个总线传输周期的总线使用权;
链式查询方式仲裁采用的是静态优先级策略,所需仲裁信号线最少,可扩展性强,但对电路故障很敏感,容易产生断链现象。
(3)计数器定时查询方式仲裁时,没有请求的主设备不会产生任何响应信息,因此必须询问必须定时切换,以保证轮询工作方式的有效进行;
每次仲裁时,若均从 0 开始计数,则实现的是静态优先级仲裁策略;若均从上次仲裁结束时的计数值继续开始计数,则实现的是循环优先级仲裁策略。
在起止式异步串行通信协议中,若信息格式为 1 个起始位、7 个数据位、1 个停止位,约定波特率为 3600bps,请问每秒最多能传输多少个字符?
解:由题意,传送一个字符需要 1+7+1=9 位,
故每秒最多能传输的字符数为 3600/(1+7+1)=400 个。
单总线数据通路的 CPU 结构如图所示,PC 具有计数功能。写出下列指令的微操作命令序列。
(1)单字长指令[(R2)]←(R1)+(R0),目标数操作为寄存器间接寻址;
解:取指令的微操作命令序列为
t1 : PC out 、 MAR in , Read
t2 : WMFC
t3 : MDR out 、 IR in
t4 : R0 out 、 Y in
t5 : R1 out 、 ADD 、 Z in
t6 : R2 out 、 MAR in , Write
t7 : Z out 、 MDR in , WMFC
t8 : End
联合控制方式实现同步控制与异步控制间转换的思路是什么?需要哪些微操作控制或状态信号?实现相互转换的原理是什么?
答:实现思路是延长节拍周期,即节拍周期长度为异步方式长度对应的节拍周期数。
通常需要 1 个微操作控制信号表示是否已转入异步控制方式,需要 1 个状态信号表示异步控制方式是否已结束。以访存操作为例,分别为 WMFC 和 MFC。
某 CPU 主频为 200MHz,每个机器周期平均包含 4 个节拍周期,每个指令周期平均包含 3 个机器周期(其中有 2 个机器周期需要访存)。
(1)若每次访存时,机器周期中不需要插入等待周期,求该机的平均指令周期。
(2)若每次访存时,机器周期中需要插入 2 个等待周期,求该机的平均指令周期。
解:由于 CPU 主频为 200MHz,故节拍周期=时钟周期== 。
(1)机器周期=4*5ns=20ns,平均指令周期=3*20ns=60ns。
(2)访存的机器周期=(4+2)*5ns=30ns,不访存的机器周期=20ns,
平均指令周期=2*30ns+1*20ns=80ns
某微程序控制器中,CM 容量为 512×40 位,微指令采用水平型格式,顺序控制字段采用下址法+测试网络法(断定法),测试网络有 2 种外部测试条件。
(1)请设计该微程序控制器的微指令格式。
(2)该微程序控制器中最少有多少个微命令。
解:CM 的地址为 = 位;
(1)微指令格式顺序控制字段中,寻址方式位为 + = 位,下址为 9 位,则顺序控制字段为 2+9=11 位,操作控制字段为 40-11=29 位。
(2)该微程序控制器中最少有 29 个微命令,最多有 个微命令。
将指令执行过程分为取指 IF、译码 ID、取数 OF、执行 EX、写结果 WB 共 5 个阶段,各阶段的操作时长分别为 10ns、5ns、10ns、8ns、10ns。若将这 5 个阶段组织成线性流水线,则
(1)流水线的拍长应为多少?
(2)采用串行方式执行 10000 条指令时,共需要多少时间?
(3)若用流水方式执行同样数量指令,流水线的吞吐率、加速比、效率各是多少?
解:(1)流水线拍长=max{10ns,5ns,10ns,8ns,10ns }=10ns;
(2)若采用串行方式,每条指令执行时间为 10ns+5ns+10ns+8ns+10ns=43ns,
执行 10000 条指令共需要 10000×43ns=0.43ms;
(3) 流 水 = = ,
吞吐率 = 流 水 = ,
加速比 = 串 行 流 水 = ,
效率 = 。
某指令系统中,指令字长为 16 位,指令操作码采用扩展编码法,有单地址指令、双地址指令两种指令。若每个地址码均为 6 位,且双地址指令为 A 条,则单地址指令最多有多少条?
解:双地址指令操作码长为 16b-2×6b=4b,由题意,空闲 - 种编码,
单地址指令操作码长为 16b-6b=10b,可分为 4b 和 6b 两部分,
则单地址指令最多有- 条。
某容量为 16K×16bit 的 SRAM 芯片,其地址引脚(线)、数据引脚(线)各是多少?
若某 SRAM 芯片容量为 1K 个存储元,地址引脚有 8 根,则其数据引脚有多少根?
解:(1)芯片的地址引脚有 = 根,数据引脚有 16 根;
(2)数据引脚有= 根。
若用 8K×8bit SRAM 芯片构成 16K×16bit SRAM
(1)需要 SRAM 芯片多少片?
(2)各芯片在所组成 SRAM 存储空间中的位置?
(3)各芯片片选线的有效逻辑是什么?
(4)画出所组成 SRAM 的信号线与内部各芯片引脚的连接图。
解:(1)需要 SRAM 芯片(16K/16K)×(16bit/4bit)=4 片
(2)0000H-3FFFH
(3)各芯片的片选线有效逻辑为: CS0# = CS1# = CS2# = CS3# = CS#
(4)
某计算机中,CPU 有 20 根地址引脚(A 19 ~A 0 )、8 根数据引脚(D 7 ~D 0 ),控制引脚由 ADS 、IO/ M 及 R/ W 三根引脚组成,若主存配置为 64KB 的 ROM 及 192KB 的 SRAM ,ROM 在主存空间的低端。现有 64K×4 位 ROM 芯片、32K×8 位 SRAM 芯片若干。
(1)主存的地址线、数据线各有多少位?各芯片在主存空间中的位置?
(2)相对于主存,各芯片片选线的有效逻辑是什么?画出主存信号线与内部各芯片引
脚的连接图。
(3)相对于 CPU,主存被选中的条件(主存有效的逻辑)是什么?画出 CPU 与主存内
部各芯片引脚的连接图。
解:(1)主存总空间为 64KB+192KB=256KB,由于 CPU 的数据引脚宽度为 8 位,即主存单元长度为 8 位,故主存的数据线有 8 位,地址线有 = 位;
主存 ROM 空间需 ROM 芯片(64K/64K)×(8b/4b)=2 片,
主存 RAM 空间需 SRAM 芯片(192K/32K)×(8b/8b)=6 片;
(2)
(3)
某计算机中,约定主存按字节编址,CPU 有 20 根地址引脚、8 根数据引脚,配置有 64KB 的 Cache,若 Cache 与主存采用 4 路组相联映像、块大小为 16B。
(1)画出 Cache、主存的地址组成格式,并计算出各组成部分的长度。
(2)每个块的块标记长度是多少?为什么?
(3)若 CPU访存地址分别为 2D058H 和2D078H,求 Cache命中时对应的块标记是多少?
解:(1)由题意,主存地址长度为 20 位、Cache 地址长度为 16 位,块内地址长度为 4位,由于 Cache 与主存采用 4 路组相联映像,则 Cache 地址组成格式如下:
组号(10b)+组内块号(2b)+块内地址(4b)
主存地址组成格式如下:
区号(6b)+区内块号(10b)+块内地址(4b)
(2)每个块的块标记长度为 6 位,因为组相联映像时区内块号为 i 的主存块可映射到
Cache 的第 i 组的任意块,故地址变换时需用主存地址中的区号与组内每个块的块标记分别
比较。
(3)主存地址 2D058H=(0010 1101 0000 0101 1000)2 中,区号(高 6 位)为(0010 11)2 ,则Cache 命中时(第 105H 组内任意块)对应的块标记为(001011)2 ;
主存地址 2D078H=(0010 1101 0000 0111 1000)2 中,区号(高 6 位)为(0010 11)2 ,则
Cache 命中时(第 107H 组内任意块)对应的块标记为(001011)2 。
为什么虚拟存储器中存在虚存-辅存地址变换?为什么虚拟存储器的管理表格通常
都放在主存中?用虚拟地址查管理表有哪两个步骤?
解:(1)由于虚拟存储器是对正在执行的程序而言的,而所有程序均存储在辅存中,因此,虚存中所有信息均需从辅存中取得,故存在虚存-辅存地址变换。
(2)由于辅存速度太慢,主存-辅存间信息传送代价很大,为了尽可能不替换已调入主存的信息,虚存-主存间只能采用全相联映像方式;又由于虚存空间巨大(可>>主存空间),对这种全相联映像的虚存管理表格,硬件查表方式速度很快、但实现成本不可想象,故只能采用软件查表方式实现,即虚存-主存间管理采用以虚存地址为索引的索引表(非目录表)结构,这样一次查表即可获得结果、但管理表格更大,因辅存速度太慢,故虚存管理表通常存放在主存中。
(3)由于虚存管理表采用索引表结构、管理表存放在主存中,因此,查管理表有①用管理表主存基址+虚拟地址形成管理表项对应的主存索引地址,②用该主存索引地址访问主存获得管理表项内容这两个步骤。
冯·诺依曼模型的存储程序原理包含哪些内容、对计算机硬件和软件有哪些要求?冯·诺依曼模型计算机的特点有哪些?
答:存储程序原理是指程序和数据预先存放在存储器中,机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行。
存储程序原理要求存储器是由定长单元组成的、按地址访问的、一维线性空间结构的存储部件;要求软件指令支持用地址码表示操作数在存储器中的地址,指令长度为存储单元长度的倍数,编程语言中必须有转移型指令,以实现程序存储顺序到程序逻辑顺序的转变。
冯·诺依曼模型计算机的特点可归纳为如下几点:
⑴计算机由运算器、控制器、存储器、输入设备和输出设备组成;
⑵存储器是由定长单元组成的、按地址访问的、一维线性空间结构;
⑶程序由指令组成,指令和数据以等同地位存放在存储器中;
⑷机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行;
⑸指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在存储器中的地址;
⑹指令和数据均采用二进制方式表示,运算亦采用二进制方式;
⑺机器以运算器为中心,输入/输出设备与存储器间的数据传送都经过运算器。