计算机设计-CPU设计-计算机实验.pdf
《计算机设计-CPU设计-计算机实验.pdf》由会员分享,可在线阅读,更多相关《计算机设计-CPU设计-计算机实验.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、哈尔滨工业大学计算机科学与技术学院实验报告:CPU设计与实现课程名称:计算机设计与实践课程类型:必修目录CPU设计与实现.1CPU设计.31.设计思路图.32.内部信号设计.3二模块设计.41.BEATER:节拍生成器.42.MEMI0:内存10访问接口.43.T0取指模块.54.T1运算模块.55.T2读写周期.66.T3回写周期.6CPU设计L设计思路图节拍生成器BEAT节拍内逻辑TO:取指周期T1:运算周期T 2:读写周期T 3:回写周期指令计数器PC指令寄存器IR四1 境存器ADDR运算器结果ALU暂存器RTEMP更新寄存器Rdata更新指令计数器PCnew地址总线ABUS数据总统DB
2、U2信息接口,I。地址QADKW 据 10而 _访存控制、I。控制2.内部信号设计1)控制信号BEAT:节拍信号Order:指令信号2)T0取指周期TOJOMAR:取指周期所用的指令地址3)T1运算周期Tl_T3PCupdate:零旗帜,主要用于辅助判别是否要对指令地址进行更新Tl_IOMMAR_T3PCnew:生成地址,在存数、取数指令中作为数据地址,在条件跳转、无条件跳转指令中作为更新指令地址;Tl_T2Rtemp_IOMMDR:运算器输出,根据指令的不同分别送入回写缓存或数据总线低八位4)T2读写周期T2_T3Rdata:回写缓存5)T3回写周期T3_T1REG:回写缓存T3_TOPCu
3、pdate:决定是否更新指令地址T3_T0PC:更新指令地址6)内存10访问接口IOM_TOIR:完整的十六位数据总线,作为指令;IOM_T2Rtemp:低八位数据总线,作为回写缓存;二模块设计1.BEATER:节拍生成器输入:CLK(l):时钟信号RST(l):重置信号输出:B E A T (3 d o w n t o 0):节拍信号重置信号有效时输出为0 0 0 0;否则,从 1000开始,每过一个时钟周期循环右移一位2.MEMIO:内存10访问接口控制:C L K(l):时钟信号R S T(l):重置信号B E A T (3 d o w n t o 0):节拍信号O r d e r (1
4、 5 d o w n t o 0):指令输入:P C o u t (1 5 d o w n t o 0):指令地址A D D R o u t (1 5 d o w n t o 0):数据地址A L U o u t (7 d o w n t o 0):运算器输出输出:R t e m p(7 d o w n t o 0):回写数据I R(1 5 d o w n t o 0):取得指令交互端口:主存-A B U S (1 5 d o w n t o 0):地址总线D B U S(1 5 d o w n t o 0):数据总线n M R E Q(l)n R D(l)n W R(l)n B H E(l)
5、n B L E(l)1/0-I O A D(1 d o w n t o 0)I O D B(7 d o w n t o 0)n P R E Q(l)n P R D(l)n P W R(l)在重置信号有效时,输出与所有交互端口都输出高阻;否则,考察节拍情况。如为第一拍10 0 0,则地址总线接指令地址,主存选中并读有效,数据高低位传送,取得指令接数据总线,其余端口与输出均输出高阻;如为第二拍0 1 0 0,输出与所有交互端口都输出高阻;如为第三拍0 0 1 0,则根据指令高五位决定动作一如为00100存数指令,则地址总线接数据地址,数据总线低八位接运算器输出,主存选中并写有效,数据低位传送,其余
6、端口与输出均输出高阻;一如为00101取数指令,则地址总线接数据地址,回写数据接地址总线低八位,主存选中并读有效,数据低位传送,其余端口与输出均输出高阻;一如为0 1 0 0 0 输入指令,则 1 0 地址接指令中的对应数据,回写数据接1 0 数据,I。选中并读有效,其余端口与输出均输出高阻;一如为0 1 0 0 1 输H i 指令,则 I。地址接指令中的对应数据,。数据接运算器输出,1 0 选中并写有效,其余端口与输出均输出高阻;如为其他指令,所有交互端口与输出均输出高阻:如为第四排0 0 0 1,所有输出与端u均输出高阻。3.T0取指模块控制:C L K(l):时钟信号R S T(l):重
7、置信号B E A T (3 d o w n t o 0):节拍信号内部信号:P C (1 5 d o w n t o 0):指令地址I R (1 5 d o w n t o 0):指令输入:P C i n(1 5 d o w n t o 0):更新指令地址P C u p d a t e(l):指令地址更新信号I R i n(1 5 d o w n t o 0):取得指令输出:P C o u t (1 5 d o w n t o 0):目前指令地址I R o u t (1 5 d o w n t o 0):输出指令在重置信号有效时,输出与所有交互端口都输出高阻;否则,考察节拍情况。如为第一拍1
8、0 0 0,则输出指令接输入指令,其余端口输出高阻;如为第二拍0 1 0 0,在时钟下跳沿为指令地址进行自增操作;如为第三拍0 0 1 0,不改变接线;如为第四排0 0 0 1,若指令地址更新信号有效,则指令置为更新指令地址。4.T1运算模块控制:C L K(l):时钟信号R S T(l):重置信号B E A T (3 d o w n t o 0):节拍信号O r d e r (1 5 d o w n t o 0):指令内部信号:P C (1 5 d o w n t o 0):指令地址I R (1 5 d o w n t o 0):指令A、B:运算器寄存器输入:R d a t a i n (7
9、 d o w n t o 0):更新数据输出:Z F(1):零旗帜A D D R o u t (1 5 d o w n t o w n 0):生成地址A L U (7 d o w n t o 0):运算器结果运算模块内部又可分为三个子模块:运算器、通用寄存器与数据地址寄存器。运算器由运算器寄存器、运算器结果和零旗帜组成,仅 在 0 1 0 0 拍工作,默认把指令中R i字段对应寄存器值送进A,把指令中Rj字段对应寄存器值送进B,运算结果为零时零旗帜置1,而后根据指令高五位进行工作:对于加减指令00000.00001,对运算寄存器执行相应运算,并把运算结果送到端口;对于寄存器转存指令00010,
10、直接将B送到运算结果;对于立即数转存指令00011,将指令低八位送到运算结果;对于存数指令00101和条件跳转00110,将 A送到运算结果;对于无条件跳转00111,将 00000000送到运算结果;对于输出指令01001,将 A 送到运算结果;其余情况下,运算结果一律置为高阻。通用寄存器模块在0100拍时,负责把寄存器值送入运算寄存器,在 0001拍时,根据指令决定是否读入更新寄存器值,并改写对应的寄存器。数据地址寄存器模块仅在0100拍工作,把指令低八位送到生成地址低八位,而 把 R7送到生成地址高八位,而后根据指令高五位工作:对于存数指令00101,把生成地址送入内存10访问端口;对于
11、条件跳转00110和无条件跳转00111,把生成地址送入回写模块的更新指令地址;其余情况下送出值为高阻。5.T2读写周期控制:C L K(l):时钟信号R S T d):重置信号B E A T (3 d o w n t o 0):节拍信号O r d e r (1 5 d o w n t o 0):指令输入:A L U o u t (7 d o w n t o 0):运算器输出l O m o u t (7 d o w n t o 0):1 0 主存输出输出:R t e m p o u t (7 d o w n t o 0):回写缓存在 0010拍,回写缓存根据指令类型读入运算器结果或数据总线低八
12、位;在 0001拍,把回写缓存送往寄存器。6.T3回写周期控制:C L K(l):时钟信号R S T(l):重置信号B E A T (3 d o w n t o 0):节拍信号O r d e r (1 5 d o w n t o 0):指令输入:R t e m p(7 d o w n t o 0):回写缓存P C n e w i n (1 5 d o w n t o 0):更新指令地址Z F(1):零旗帜输出:P C u p d a t e(l):更新指令地址信号P C n e w(1 5 d o w n t o w n 0):更新指令地址R d a t a(7 d o w n t o 0)回
13、写数据在 0100拍,读入零旗帜,在指令高五位为00110条件跳转或00111无条件跳转时,更新指令地址信号置1。在 0001拍,根据指令类型输出回写数据、回写指令地址或高阻。三仿真波形L节拍发生器Name ValueJr Clkrstbeatout3:0cclk_period10100010000 psU U ITU_ r-LG D Gi_ riooo oiX)X 0010 X 0010CX)1 Y 1000 0 ps2.主存10端口NameValue1 1 1 1 1 1 1 1 190i n s i 1 10I0l lnsi&elk0_r_r&rst0A 飞 beat3X)100000(
14、0(_ 中 order15:000000000000X X X X X X X X X X JO O O O O R S pcout15:000000000000 y addrout15:000000000000 飞 aluout7:000000000ooocxO O P k dbus15:011111111111uuuuinnnnuuuuuuu y dbusout15:011111111111iniuuuinnnuuuuuinj1111113 R j iodbin7:0uuuuuuuu y iodbout7:0uuuuuuuu R8 rtemp7:0zzzzzzzz R8 m5:011111
15、111111ZZZZZZZZ2zzzzzzz(-A*abus15:000000000000ZZZZZZZZ2zzzzzzzJoocxxxxA Y ioad(lX)zzIfe clk_period10000 psiorder7:0 01000111u r n111:【010重置信号有效期间,访存控制字全1,其余端口输入高阻I Name1 Value90 ns 1100 ns 1110 ns 120 n*pcout(lSX)000000000000000000(00000000A Q dddrcxit15:000000000000(XXXXXXX ooooooooAaluoutpxi1111111
16、1000000001111:111 R0 dbus15XJz z z z z z z z z z zu nm m m nnnm uuu)zzzzzzzz 1ZZZZZZr、一 dbusout(15:0ZZZZZZZZZZ2u ruutmjuuuuunnju)zzzzzzzzzzzzzzz*iodbinpOuuuuuuuuunin uuuu*iodboutp)uuuuuuuucum JUUU*rtemppoz z z z z z z zZZZ2 zzzz,忧3 0 11111111111z IZZZIZZZZZZZZZZ111111111111111A*abus15)z z z z z z z
17、z z z zz rzzzzzzzzzzzzzz;0000000000000-zzzzzzzzzzzzzzzJ R f ioadL0zz2z1*clk_period10000 paXO(X)ptA lorderp)1111111111111111);01000111;11111111zzzzzzzz1111 1111J立即数转存指令I Name1 Value1 一150 QB 1160 ns 170 ns 1180 ns 190 ns 1200 ns 1&dk0LW l R8 beat13:0A R!order15X)pcout(15:0Aaddrout15 0*aluoutp:0 y dbu
18、s(15:0 Y dbu$out15OA W9 odbinp:0)odbout7:0rtempP:0*0010000000000000000000000000000000000011111111z z z z z z z z z z zz z z z z z z z z z zUUUUUUXJUuuuuuuuuz z z z z z z z11111111111000110000100:001000)1;1000000II 0000001111oo 00000000000X0oooooooooooooocx000000000000000(X l l l ll l lz z z z z z-11
19、11111111111-zzzzzzzz ZZZZZZZz z z z z z-zzzzzzzzzzzzzzzzuuuuuuuuuuuuuuuuzzzzzzzz111111111111111口,abu$15 0z z z z z z z z z z az z z z z z-;0000000000000:zzzzzzzz rzzzzzzz:0000000蟹 ioad(lX)dk_period*orderp:0zz10000 pa11111111IZXOOOO pt0100011111111111:zzzzzzzz1111 1111;:01000111加法指令NameValue.1.310 ns
20、4 dkQ r s t4由切000010_l-1000;:0100:A orderflSPI 0 0 1 0。011101)000010010000-r q pcout15)中 addrout15:0 飞 aluoutp:0 dbus15:0 -dbusout15:0 中 iodbinp)iodbout7:0 +rtempP:0 R8 H15:0 1 abus15:0 R!ioadL01ft clk_period Y iorderp:00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0z z z z z z z zo o o o o o o o zz zo o
21、 o o o o o o zz zuuuuuuuuuuuuuuuuz z z z z z z z1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0zz1 0 0 0 0 p s0 0 1 0 0 1 1 1_1111 L illmi i i i i mi -1、zz z z z z z z z z z z z-111111111111 )zz z z z z z z z z z z z-00 0 0 0 0 0 0 0 0 0 0-)zzzzzzzzzzzzz0100011111111111320 ns330 ns340 ns350 ns 1_r一r;0010
22、:00:10000010001110100011-(XXXX 00000000000ocxxx 00000000000oooooooozzzzz-oooooooozzzzz-zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz):1111111111111:I JUUUUUUI uuuuuuu2zzzzzzz11111 11111111111zzzzzzzzzzooooooo o o o o o o-:zzzzzzzz:ooooooooooooo-10000 ps00100111 ;1111 1111):01000111)存数指令|Name1 Value500 ns5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 设计 CPU 实验
限制150内