1、简单实验计算机的设计山东建筑大学计算机科学与技术学院课程设计说明书题 目: 简单实验计算机的设计(七)课 程: 计算机系统综合设计院 (部): 计算机科学与技术学院专 业: 计算机科学与技术班 级: 学生姓名: 学 号: 指导教师: 完成日期: 山东建筑大学计算机科学与技术学院课程设计任务书设计题目简单实验计算机的设计(七)指导教师班 级已知技术参数和设计要求1、 使用FD-CES实验仪2、 主要模块:运算器、寄存器、指令部件、内存、总线缓冲、微程序控制、启停和时序模块。3、 完成以下指令的设计:MOV Ri,#dataLDA addr1ADD A,RiSTA addr2HALT设计内容与步骤
2、1、 运算器采用单累加器多通用寄存器结构,操作数寻址方式采用直接地址寻址,立即数寻址,累加器直接寻址。2、 程序、微程序的设计、调试。3、 实现能执行将寄存器(Ri)中的内容与内存某个单元addr1内容相加存入到另一个单元addr2中,并停机,然后从控制台读出addr2存放的计算结果。4、 课程设计说明书。设计工作计划与进度安排1、 调试工具4学时2、 设计语言ABL-HDL 6学时3、 FD-CES实验仪功能模块10学时4、 指令与微程序的设计10学时5、 课程设计说明书10学时设计考核要求1、 考勤20%2、 课程设计说明书50%3、 成果演示30%指导教师(签字): 教研室主任(签字):
3、1、课程设计题目简单实验计算机的设计(七)。2、课程设计目的在学习了专业基础课计算机组成原理和系统结构课程的基础上,通过设计简单实验计算机的部分指令,加深对计算机硬件结构和系统软件的认识,初步掌握计算机指令的设计与使用方法。3、课程设计方案基于FD-CES实验箱的硬件模块平台,通过PC机和可编程逻辑(PLD)电路实验板,完成简单实验计算机的部分指令的控制信号线的连接、编码、微程序的设计,在FD-CES实验箱的控制台上运行用所设计的指令编写的程序,验证设计指令的正确性。4、课程设计内容4.1、设计要求(1)运算器: 采用单累加器多寄存器结构(开关KA、KB、KC、KR分别置左、右、右、左)。(2
4、)指令系统: 小于等于8条指令,无外设。(3)内存寻址方式: 直接地址寻址,立即数寻址,累加器直接寻址。(4)微程序设计微操作信号发生器。4.2、设计整机逻辑框图4.3、设计指令系统4、 (1)实验计算机的指令系统具体由以下5条指令组成MOV Ri,#dataLDA addr1 ADD A,RiSTA addr2HALT(2)指令操作数寻址方式及其编码MOV Ri #data : 寻址方式:立即数寻址 功能:data Ri编码: 指令编码 :00000 0Ri(R1),data00000001d7d6d5d4d3d2d1d0LDA addr1 : 寻址方式:直接地址寻址 功能:(addr1)
5、A编码: 指令编码:00001 0a9,a8,a7 a0 00001000a7a6a5a4a3a2a1a0 ADD A,Ri : 寻址方式:累加器直接寻址 功能:(A)+ (Ri) A编码: 指令编码:01010 0Ri(R1) 01010001STA addr2 : 寻址方式:直接地址寻址 功能: A (addr2)编码: 指令编码:01011 0a9,a8,a7 a001011000a7a6a5a4a3a2a1a0HALT : 功能:停机编码: 指令编码:10100 00010100000 4.4设计指令执行流程双字节指令MOV Ri,#data 该指令功能为dataRi,需执行如下微操作
6、: (PC) IAB OAB;程序计数器PC内容作访问内存地址 (M) ODB IDB IRl;读出指令字节送指令寄存器IR1(PC)+1 PC;PC加1,为取下条指令字节准备(PC) IAB OAB;根据PC访内存(M) ODB IDB Ri;取出本指令第二字节(即data)送Ri (PC)+1 PC;PC加1,为取下条指令字节准备 其中,必须同一拍;可单独一拍也可与合一拍;也必须同一拍;可单独一拍也可与合一拍。 推荐采用如下方案:T0(第一拍): T1(第二拍): 双字节指令LDA addr 该指令功能为(addr) A,需执行如下微操作: (PC) IAB OAB;程序计数器PC内容作访
7、问内存地址 (M) ODB IDB IRl;读出指令字节送指令寄存器IR1(PC)+1 PC;PC加1,为取下条指令字节准备(PC) IAB OAB;根据PC访问内存(M) ODB IDB IR2;取出本指令第二字节送IR2(PC)+1 PC;PC加1,为取下条指令字节准备 I2.I1.I0(IR2) IAB OAB;由IRl低3位和IR2的8位形成11位操作数地址(M) ODB IDB TMP;从内存读出操作数送TMP (TMP) A;TMP内容经ALU传送,存入A 其中,必须同一拍;也必须同一拍;也必须同一拍;可以单独一拍也可与合一拍;可单独一拍也可和合一拍;可单独一拍也可和合一拍或者和合
8、一拍(TMP设置为直通)。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 单字节指令ADD A,Ri 该指令功能为(A)+(Ri)A,需执行如下微操作: (PC) IAB OAB;程序计数器PC内容作访问内存地址 (M) ODB IDB IRl;内存该地址单元读出指令字节送指令寄存器IR1(PC)+1 PC;PC加1,为取下条指令字节准备(A) ACT;累加器A内容送累加器暂存器ACT,为ALU准备好被加数 (ACT)+(Ri) BUF IDB A;使暂存器TMP输出高阻,读Ri寄存器内容,使ALU执行加法,结果经BUF至DB最后送人累加器A Cn+4 CY;据加法
9、结果置进位标志CY 其中,必须在一拍(即取指令周期)内完成;也必须在同一拍内完成;而不可以和在同一拍,但可以和在同一拍;可以和同拍也可以和同拍;也可把、单独一拍,甚至和各一拍也可以。 推荐采用如下方案: T0(第一拍): T1(第二拍): 双字节指令STA addr 该指令功能为A (addr),需执行如下微操作: (PC) IAB OAB;程序计数器PC内容作访问内存地址 (M) ODB IDB IRl;读出指令字节送指令寄存器IR1(PC)+1 PC;PC加1,为取下条指令字节准备(PC) IAB OAB;根据PC访问内存(M) ODB IDB IR2;取出本指令第二字节送IR2(PC)+
10、1 PC;PC加1,为取下条指令字节准备 I2.I1.I0(IR2) IAB OAB;由IRl低3位和IR2的8位形成11位操作数地址RR, A, B, /Cn, M, S3, S2, S1, S0OBCL (ACT) BUF IDB ODB;读A内容经ALU传送至IDB,存人ODB ODB (M); 将ODB里的数写入到内存中。 其中,必须同一拍;也必须同一拍;也必须同一拍;可以单独一拍也可与合一拍;可单独一拍也可和合一拍;可单独一拍也可和合一拍或者和合一拍(TMP设置为直通)。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 4.5、确定微操作控制信号及其实现方法
11、4.5.1.设计微操作信号 (1)运算器模块(ALU)ZC= CP= SA 接X0接M17 SB 接X1接M16 PO 接CY Pl 接A0接SR P2 接A7接SL CA 接/ S3S0 接M23M20 /Cn 接M19 M 接M11 CG 接Ml8 CC 接/ OB 接M8(2)寄存器堆模块(REG)WR=RR 接M1 A 接I0 B 接I1(3)指令部件模块(I_PC) CL= P+l 接M7 GI 接M6 CI 接 CK 接PO CLR 接+5V 0I 接M15LP、PC0如图2-15所示。 (4)内存模块(MEM) RC=M2+WC=M3+ (5)总线缓冲模块(BUS) Bl、B3
12、接RF B2=RC+IAB2IAB10 KA 接IAB0 PA 接IAB1(6)启停和时序模块(R_P) DR 接M5 RCP 接 (7)微程序控制模块(MPG) MLD 接M4 MP+1 接+5V MCLR 接RO MCLK 接P0MIG 接地MDl0MD6 接地MD5 接I7 MD4 接I6 MD3 接地 MD2 接I3MDlMDO 接VCC(+5V)4.5.2.微操作信号的实施用PLD实验板实施,先在PC机Synario环境下编辑微操作信号的硬件描述文件,然后编译成相应的熔丝图文件,最后通过PC机并行口下载电缆将熔丝图文件烧到PLD实验板上的ispLSI2096内,即完成了微操作信号的实
13、施。4.5.3设计微指令的格式指令助记符位23 22 21 2019 18 17 1615 14 13 1211 10 9 87 6 5 43 2 1 0信 号S3 S2S1 S0Cn MX1 X0OI CLCP /CG OTLP OBGI P+1DR MLDWC RCRR WR微指令码(十六进制)有效电平011* * * * * * *000001000001微地址取指微指令000H00000000100001110110101000876A001002MOV Ri,#data003000000001000111111111011008FFB0040000000010000111011010
14、1000876A005LDA addr00700000000110011111111101000CFFA008000000110000111110111010030FBA00900000000100001110110101000876A00AADD A,Ri0131001101110101110101111009BAEBC01400000000100001110110101000876A015STA addr01700000000110011111111101000CFFA018000010000000111010110110080EB60190000000010000111011010100
15、0876A01AHALT023000000001000111110011110008F9E02400000000100001110110101000876A4.5.4确定微程序控制方式一、确定微程序入口地址形成方法采用“按操作码散转”的方法确定微程序入口地址的形成。该方法以指令操作码(8位)为核心,扩展成11位的微程序地址即MD1OMDO。IRl的I7.I6.I2为指令操作码,每条指令执行不超过4拍,即微程序可由多至4条微指令组成,那么可按下图形成各微程序首地址 MD10 MD6 MD5 MD4 MD3 MD2 MD1 MD0 “0” I7 I6 “0” I3 “1”按指令操作码散转指令操作码
16、I7 I6 I3微程序首址MD10MD00 0 00 0 10 1 00 1 11 0 0003H007H013H017H023H 二、确定控存的顺序控制方法 控存的顺序控制方法采用计数增量方法。即每段微程序执行过程中MPC加1计数,指向下一条微指令地址。4.5.5编写各指令的微程序指令助记符节拍微指令码MOV Ri,#dataT0008FFBT100876ALDA addr1T000CFFAT1030FBAT200876AADD A,RiT09BAEBCT100876ASTA addr2T000CFFAT1080EB6T200876AHALTT0008F9ET100876A4.6、编写调试程
17、序4.6.1汇编程序:MOV R1 #20HLDA 55H ADD A,R1STA 56HHALT4.6.2、编写ABEL程序,并烧到PLD实验板MODULE CESBtitle This is an example for how to use PLD BoardDefine Computer Input/Output Pins:BLOCK1 IAB10 PIN 45; IAB9 PIN 44; IAB8 PIN 43; IAB7 PIN 42; IAB6 PIN 41; IAB5 PIN 40; IAB4 PIN 39; IAB3 PIN 38; IAB2 PIN 37; IAB1 PIN
18、 36; IAB0 PIN 35; RC PIN 34; WC PIN 32; B2 PIN 31; IDB0 PIN 30; IDB1 PIN 29; IDB2 PIN 28; IDB3 PIN 27; IDB4 PIN 26; IDB5 PIN 25; IDB6 PIN 24; IDB7 PIN 23; I0 PIN 22; I1 PIN 21; I2 PIN 13; I3 PIN 12; I4 PIN 11; I5 PIN 10; I6 PIN 9; I7 PIN 8; PCO PIN 7; PINC PIN 6; LP PIN 5; GI PIN 4; OI PIN 3;BLOCK2
19、CL PIN 2; RR PIN 128; WR PIN 127; SB PIN 126; SA PIN 125; A PIN 99; B PIN 100; P1 PIN 123; P2 PIN 56; CG PIN 124; CY PIN 110; CT PIN 122; OT PIN 121; ZD PIN 20; CP PIN 120; S3 PIN 119; S2 PIN 118; S1 PIN 117; S0 PIN 109; M PIN 108; CN PIN 107; SR PIN 106; SL PIN 105; X0 PIN 104; X1 PIN 103; A7 PIN 8
20、4; A0 PIN 51; OB PIN 102; RO PIN 78; DR PIN 101; CLK PIN 46;BLOCK3 M23 PIN 98; M22 PIN 96; M21 PIN 95; M20 PIN 94; M19 PIN 93; M18 PIN 92; M17 PIN 91; M16 PIN 90; M15 PIN 89; M14 PIN 88; M13 PIN 87; M12 PIN 86; M11 PIN 85; M10 PIN 77; M9 PIN 76; M8 PIN 75; MD8 PIN 66; MD7 PIN 63; MD6 PIN 62; MD5 PIN
21、 61; MD4 PIN 60; MD3 PIN 59; M7 PIN 74; M6 PIN 73; M5 PIN 72; M4 PIN 71; M3 PIN 70; M2 PIN 69; M1 PIN 68; M0 PIN 67; MD2 PIN 58; MLD PIN 57;BLOCK 4 MIG=0 PA PIN 55; KA PIN 53; PB PIN 54; KB PIN 52; READ NODE;EQUATIONSDefine Connections and Logic:*ALU* CP = !(M13 & CLK); SA = M16; X0 = M16; SB = M17;
22、 X1 = M17; P1 = A0; SR = A0; S3 = M23; S2 = M22; S1 = M21; S0 = M20; CN = M19; M = M18; CG = M11; OB = M8; OT = M10; CT = 1;*REG* WR = !(M0 & CLK); RR = M1; A = I0; B = I1;*I-PC* CL = !(M14 & CLK); PINC = M6; GI = M7; OI = M15; PCO = !M6; LP = (!M9) & ( !I4 & !I3 & ZD # !I4 & I3 & CY # I4 & !I3 & A0
23、 # I4 & I3);*MEM* RC = M2 # !CLK; WC = M3 # !CLK;*BUS* B2 = M2 # IAB2 & IAB10; KA = IAB0; PA = IAB1; IDB0 = KB; IDB7 = KA; IDB0.OE=READ; IDB7.OE=READ; READ = !(M2#!(IAB10&IAB2);*R-P* DR = M5;*MPG* MLD = M4; MD8 = 0; MD7 = 0; MD6 = 0; MD5 = I7; MD4 = I6; MD3 = 0; MD2 = I3;END CESB4.6.3、利用FD-CES控制台将汇编
24、程序输入内存1、输入内存如要将程序和数据分别写入内存的相应单元中,相应的操作和显示如下表操 作显 示M/CM置左RET(或STOP)CPU READY(或小数点消失)000 LOAD000 x x x x x01 W+1001 x x 0 120 W+1002 x x 2 008 W+1003 x x 0 855 W+1004 x x 5 551 W+1005 x x 5 158 W+1006 x x 5 856 W+1007 x x 5 6A0 W+1008 x x A 0 2、读内存将内存中的相应单元的数据读出,检查上一步键入是否正确, 相应的操作和显示如下表操 作显 示M/CM置左RET
25、(或STOP)CPU READY(或小数点消失)000 LOAD000 0 1 x x xR+1001 2 0 x x xR+1002 0 8 x x xR+1003 5 5 x x xR+1004 5 1 x x xR+1005 5 8 x x xR+1006 5 6 x x xR+1007 A 0 x x x4.6.4利用FD-CES控制台将指令的微程序输入控存一、写控存(键人微程序)把微程序分别写入控存的相应单元中,相应的操作和显示如下表。操 作显 示M/CM置右RET(或STOP)CPU READY(或小数点消失)000 LOAD000 x x x x x x00876A W+1001 x x x x x xRET
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1