六、问答题(共15分)
1.设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R1和R2是暂存器。(8分)
WR存储器MARIRPC内部总线Bus微操作命令形成部件CPUMDRACCR1ALUR2
(1)假设要求在取指周期由ALU完成 (PC) + 1→PC的操作(即ALU可以对它的一个源操作数完成加1的运算)。要求以最少的节拍写出取指周期全部微操作命令及节拍安排。
答:由于 (PC) + 1→PC需由ALU完成,因此PC的值可作为ALU的一个源操作数,靠控制ALU做+1运算得到 (PC) + 1,结果送至与ALU输出端相连的R2,然后再送至PC。
此题的关键是要考虑总线冲突的问题,故取指周期的微操作命令及节拍安排如下:
T0 PC→MAR,1→R
T1 M(MAR)→MDR,(PC) + 1→R2
T2 MDR→IR,OP(IR)→微操作命令形成部件 T3 R2→PC
(2)写出指令ADD # α(#为立即寻址特征,隐含的操作数在ACC中)在执行阶段所需的微操作命令及节拍安排。
答:立即寻址的加法指令执行周期的微操作命令及节拍安排如下:
T0 Ad(IR)→R1 ;立即数→R1
T1 (R1) + (ACC)→R2 ;ACC通过总线送ALU T2 R2→ACC ;结果→ACC
2.DMA接口主要由哪些部件组成?在数据交换过程中它应完成哪些功能?画出DMA工作过程的流程图(不包括预处理和后处理)
13
答:DMA接口主要由数据缓冲寄存器、主存地址计数器、字计数器、设备地址寄存器、中断机构和DMA控制逻辑等组成。在数据交换过程中,DMA接口的功能有:(1)向CPU提出总线请求信号;(2)当CPU发出总线响应信号后,接管对总线的控制;(3)向存储器发地址信号(并能自动修改地址指针);(4)向存储器发读/写等控制信号,进行数据传送;(5)修改字计数器,并根据传送字数,判断DMA传送是否结束;(6)发DMA结束信号,向CPU申请程序中断,报告一组数据传送完毕。DMA工作过程流程如图所示。
DMA请求DMA响应发送主存地址传送一个字修改地址指针和字计数器测试传送是否结束?是DMA结束否
七、设计题(10分)
设CPU共有16根地址线,8根数据线,并用MREQ作访存控制信号(低电平有效),用WR作读写控制信号(高电平为读,低电平为写)。现有下列芯片及各种门电路(门电路自定),如图所示。画出CPU与存储器的连接图,要求:
(1)存储芯片地址空间分配为:最大4K地址空间为系统程序区,相邻的4K地址空间为系统程序工作区,最小16K地址空间为用户程序区;
(2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。
14
AmA0AkA0G1CSROMPD/ProgrCSRAMG2AG2BCBAY7Y6WEY0DnD0DnD074138译码器G1,G G 2A,2B为控制端C, B, A为变量控制端 ?? YY0为输出端7ROM: 2K×8位 8K×8位 32K×8位RAM: 1K×4位 2K×8位 8K×8位 16K×1位 4K×4位
(1)主存地址空间分配:
6000H~67FFH为系统程序区; 6800H~6BFFH为用户程序区。
答:(1)主存地址空间分配。(2分)
A15 ? A11 ? A7 ? ? A0
1111111111111111111111001100101010101010101010101010101010101010101010101010101010101010101??0??1?0??1??0?最大4K 2K×8位ROM 2片
相邻4K 4K×4位RAM 2片
0000000000110101010101010101010101010101010101010101010101010??1??0?1??最小16K 8K×8位RAM 2片
(2)合理选用上述存储芯片,说明各选几片? 2)根据主存地址空间分配
最大4K地址空间为系统程序区,选用2片2K×8位ROM芯片;(1分) 相邻的4K地址空间为系统程序工作区,选用2片4K×4位RAM芯片;(1分)
最小16K地址空间为用户程序区,选用2片8K×8位RAM芯片。(1分)
(3)详细画出存储芯片的片选逻辑图。
15
+5VG1G2AG2BCBAY7&&&1&&MREQA15A14A13Y1Y0A12A11A10A0CPU8K×8位RAM8K×8位RAM4K×4位RAM4K×4位RAM2K×8位ROM2K×8位ROMD7D4D3D0WR A14A15MREQA13A12A11A10A9A0G1G2AG2BCBAY5&Y4A10ROMA02K?8位A91K?4位RAMA0A9RAMA01K?4位D7D4D3D0WRD7D0D7D4D3D0
16