I2 SUB R2,R1 ;(R2) - (R1) → R2 I3 MUL R3,R4 ;(R3) × (R4) → R3 I4 ADD R4,R5 ;(R4) + (R5) → R4
I5 LDA R6,A ;M(A)→ R6, M(A)是存储器单元 I6 ADD R6,R7 ;(R6) + (R7) → R6 要求:(1)指出上述指令中,各指令间存在何种数据相关?(5分)
(2)画出按序发射按序完成各段推进情况图。(5分) (3)画出按序发射按序完成的流水线时空图。(5分)
解:
(1) I1与I2之间有RAW相关;I3与I4之间有WAR相关;I5与I6之间有RAW和WAW相关。(5分)
(2)各段推进图如下所示:(5分)
(3)流水线时空图如下所示:(5分)
南昌航空大学2008—2009学年第1学期期末考试
课程名称:计算机组成与结构A B 卷
一. 基本题(共50分)
1. 冯诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?(10分) 答:冯诺依曼型计算机的主要设计思想是:采用存储程序的方式,编好的程序和数据存放在同一个存储器中,计算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部,指令和数据均采用二进制码表示,指令在存储器中按顺序存放。其主要组成部分有:运算器、控制器、存储器、输入输出设备,以及总线。
2. 已知x和y,用变形补码计算x-y,同时指出结果是否溢出。(16分) (1) x=10111 y=11011 (2) x=11011 y=-10011
解: [x-y]补=[x]补+[-y]补(8分)
(1) [x]补=0010111, [-y]补=11 00101
[x]补 00 10111 + [-y]补 11 00101 11 11100
双符号位为“11”,结果没有溢出,x-y=-00100。
(2)[x]补=0011011, [-y]补=00 10011 (8分) [x]补 00 11011 + [-y]补 00 10011 01 01110
双符号位为“01”,表示已溢出,x-y=10010。
3. 总线仲裁分集中式仲裁和分布式仲裁两类。简述集中式仲裁可分为哪几种方式?
每种方式各自的特点是什么?(12分) 答:集中式仲裁可分为链式查询方式、计数器定时查询方式和独立请求方式三种,各自的特点如下:
(1)链式查询方式:总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口。由近至远依次查询各I/O接口,一旦到达有总线请求的接口就不再往下查询。显然,离总线仲裁器越近的设备优先级越高。该方式的优点是:只用很少几根线就能按一定优先次序实现总线仲裁,且这种结构分容易扩充设备。缺点是:对询问链的电路故障很敏感,一旦第i个设备的接口有故障,那么第i以后的设备就不能进行工作。另外,查询链的优先级是固定的,可能造成低优先级的设备长时间申请不到总线。
(2)计数器定时查询方式:总线仲裁器接收到请求信号后,BS线为“0”的情况下让计数器开始计数,计数值通过一组地址总线发向各设备。当地址线上的计数值与总线请求设备的地址相一致时,该设备获得总线控制权,终止计数查询。若每次计数从“0”开始,各设备的优先次序与链式查询相同;若从终止点开始计数,则各设备使用总线的优先级相等;若计数器的初值用程序来设定,就可以方便地改变优先级次序。
(3)独立请求方式:每一个共享总线的设备都有一对总线请求线BRi和总线授权线BGi。
总线仲裁器有一个排队电路,它根据一定的优先次序决定优先响应哪个设备请求。该方式的优点是:响应时间快,且对优先次序的控制相当灵活。
4. 简述中断处理过程。(12分) 答:中断处理过程如下:
(1)当CPU执行完一条现行指令时,如果外设向CPU发出中断请求,那么CPU在满足响应条件的情况下,将发出中断响应信号,与此同时关闭中断(“中断屏蔽触发器”置“1”),表示CPU不再接收别的设备的中断。
(2)这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,将它转移到处理该中断的中断服务程序。
(3)CPU保存现场信息,待设备服务完成后,恢复CPU现场信息。这些动作完成后,开放中断(“中断屏蔽触发器”置“0”),并返回到原来被中断的主程序的下一条指令继续执行。
二.计算题(共25分)
1. 用原码阵列除法器计算x÷y,其中x= 11000,y = -11111。(10分) [解:](1)符号处理:[z]符 = [x]符⊕ [y]符
(2)[x]原= [x]补=0 11000 [∣y∣]补=0 11111 [-∣y∣]补=1 00001 被除数 x 0 11000
+[-∣y∣]补1 00001 余数为负 1 11001 → q0=0 左移 1 10010
+[∣y∣]补0 11111
余数为正 0 10001 → q1=1
左移 1 00010 +[-∣y∣]补1 00001
余数为正 0 00011 → q2=1 左移 0 00110 +[-∣y∣]补1 00001
余数为负 1 00111 → q3=0
左移 0 01110
+[∣y∣]补0 11111
余数为负 1 01101 → q4=0
左移 0 11010
+[∣y∣]补0 11111
余数为负 1 11001 → q5=0
+[∣y∣]补0 11111
余数 0 11000
故, [x÷y]原=1. 11000 加上符号有:x÷y = -0.11000 余数为:0 11000
2. 已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M×8位的 DRAM芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问: (1)若每个内存条为16M×64位,共需多少个内存条?(5分) (2)每个内存条共有多少个DRAM芯片?(5分)
(3)主存共需要多少DRAM芯片?CPU如何选择各内存条?(5分)
解:
(1)226/224=4块。(5分) (2)(224/222)*(64位/8位)=32片。(5分) (3)主存共需DRAM芯片为:4*32=128片。(5分)
每个内存条有32片DRAM芯片,容量为16M*64位,需要24根地址线(A23
—A0)完成内存条存储单元寻址。一共有4块内存条,采用两根高位地址 线(A25—A24),通过2:4译码器译码产生片选信号对各模块进行选择。
三.分析与设计题(共25分)
1. 分析题(共15分)
下图为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器,M为主存,AR为地址寄存器,DR为数据缓冲寄存器,ALU为算术逻辑运算单元,控制信号G控制两条总线之间的桥。线上标有小圆圈表示有控制信号(如,R1O为寄存器R1的控制信号),未标字符的线为直通线,不受控制。假设该指令地址已经放入PC中,“STO R1,(R2)”指令的含义是完成寄存器R1的内容传送至(R2)为地址的数存单元中。要求: (1)画出其指令周期流程图(5分);
(2)列出相应的微操作控制信号序列(5分);
(4)并简要描述各CPU周期完成的主要功能(5分)。
解: (1) 指令周期流程图如下图所示。(5分) (2)微操作控制信号序列如下图右侧所示。(5分)
(3)各CPU周期完成的主要功能如下:(5分)
PC→AR:表示将PC中的逻辑地址信息传送到AR寄存器中;
M→DR:表示将AR所指地址的M中所存放的指令信息读到DR寄存器中; DR→IR:表示将DR寄存器中的指令信息传送到IR寄存器中; R2→AR:表示将R2寄存器中的逻辑地址信息传送到AR寄存器中; R1→DR:表示将R1寄存器中的数据信息传送到DR寄存器中;
DR→AR:表示将DR中信息存放到AR寄存器中逻辑地址所指的M中。
2. 设计题。(10分)
设某机器字长为32位,CPU有16个32位通用寄存器,设计一个能容纳64种操 作的指令系统。如果采用通用寄存器作为基址寄存器,则RS型指令的最大寻找 空间是多大?
解: (1) 指令格式:(5分)
16个通用寄存器占4位,64种操作占6位,剩下22位用于存储器地址,
则指令格式如下:
(2)采用R位基址寄存器寻址,地址 =(R)+ D。 (5分)
当基址最大,D也取最大值时寻址能力最大,而寄存器是32位的,故最
大地址空间是: 232+222= 4GB + 4MB