




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 计算机组成原理课程设计说明书 题目:设计嵌入式CISC模型计算机 院系:计算机工程与科学学院 专业:网络工程 学号:1000380112 姓名:胡继恒 指导老师:陈志勇一 完成系统的总体设计 ALU状态条件寄存器 FCIRROM或RAM FZ FS操作控制器和时序产生器ARDRAC PC 具有时间标志的操作控制信号R2R0R1输出设备输入设备 二 操作控制器的逻辑框图三模型机的指令系统和所有指令的格式1) I/O指令输入指令(IN1)格式:7 6 5 4 3 2 1 0操作码 XX Rd输出指令(OUT1)格式:7 6 5 4 3 2 1 0操作码 Rs XX2) 转移指令条件转移指令(JS
2、)和无条件转移指令(JMP)格式: 7 6 5 4 3 2 1 0 操作码 X X X X 地址3) 比较指令和相加指令和相乘指令相加指令(ADD)和乘法(MUL)的格式:7 6 5 4 3 2 1 0操作码 Rs Rd4) MOV指令格式 7 6 5 4 3 2 1 0 操作码 X X Rd 立即数 5) 自减指令(DEC)7 6 5 4 3 2 1 0操作码 XX Rd6) TEST指令7 6 5 4 3 2 1 0操作码 XX Rd 助记符号 指令格式 功能 IN1 Rd1000 XX Rd将数据存到Rd中 OUT1 Rs1111 Rs XX(Rs) LED ADD Rs,Rd1100
3、Rs Rd(Rs)+(Rd) Rd JMP ADDR1110 XXXX ADDR ADDR PC DEC Rd1101 XX Rd (Rd)1 Rd MOV Rd,data1001 XX Rd Data Data Rd TEST Rd1010 XX Rd 80H-AC,锁存SF JS ADDR1011 XXXX ADDR若为负,则ADDR PC IMUL Rs,Rd0111 Rs Rd(Rs)*(Rd) Rd其中对Rs和Rd的规定 Rs 或 Rd选定寄存器 0 0R0 0 1R1 1 0R2模型机规定数据的表示采用定点整数补码表示,单字长8位,其格式如下: 76 5 4 3 2 1 0 符号位
4、 尾数四 时序产生电路 五 微程序流程图 00 PC -AR PC+1 02RD MBUS - IR 08SW- BUSBUS-RdRs - LEDP(1) IN1 OUT1 08 0FMOV TEST JS ADD DEC JMP MULPC-ARPC+109 0A 0B 0C 0D 0E 07Rd- BUSBUS -ACRSBUSBUS-ACRd-BUSBUS-ACRs- BUSBUS - AC PC - ARPC+1PC - ARPC+103 04 20 06 12 13 15ROM-BUSBUS-PCAC-1-BUSBUS-RdROM -BUSBUS - RdRd-BUSBUS-DRR
5、d-BUSBUS-DRAC锁存FSP(2) AC*DR-RdAC+DR-Rd 10 16 FS=1 FS=0ROM-BUSBUS-PC 20 30注:以 结尾的后继微地址都是00(1) 根据指令格式和指令系统的设计完成所有机器指令的微程序流程图,并确定每条微指令的微地址和后继微地址;(2) 设计微指令格式和代码表(3) 设计地址转移逻辑电路(4) 设计微程序控制的其他逻辑电路,包括微地址寄存器、为命令寄存器、控制存取器 第二步,指令流程图设计完成后,开始设计微指令的格式和微指令的代码表按照要求,CISC模型机的系统使用采用双水平型微指令,字长为25位,其中微命令字段为17位,p字段为2位,后继
6、微地址6位,其中格式如下 按照这个格式,再根据我的设计指令图,可以得到: 由微指令格式和微指令的程序流程图编写的微指令代码表如下所示,在微指令的代码表中微命令字段从左边到右边代表微指令的信号依次是:LOAD、LDPC、LDAR、LDIR、LDRI、RD_B、RS_BALU_B、LDAC、WR、CS、SW_B、LED_B、LDFR微地址P1P2后继微地址000000111001100100111100000001000001010010110010010110100010000000111000111001001011000000000000100100001101100111110000000
7、000011010000010010111110000100000001111000010001101111000010101001000100011100100110100000000000100111100110010011110000000110010101000001001101111000000100001011111001100100111100110000000110010000100011011110000001100011011000001001101111000010010001110111001100100111100001001100111110000100010001
8、100000000000100001000111000001111000000000010010100011110000111100000000001001101000110010010110000000000101011000001001011111000010110010110100011111000111100000000010000001000110010010110000000001100001000011001001111000000000六 顶层电路图生成微地址寄存器aa生成CROM控制器单元CISC模型机顶层电路图六 汇编语言源程序 MOV R1,0;寄存器R1用来存放最后的结
9、果 MOV R2,4;记录5个数 INPUT:IN1 R0; 00 DEC R2; TEST R0 JS L1 TEST R2 JS L2 JMP INPUT L1:MUL R0,R0; ADD R0,R1; TEST R2 JS L2 IMP INPUT L2:OUT1 R1 END七 机器语言源程序助记符 地址(十六进制) 机器代码 MOV R1,0 00H 10010001 01H 00000000 MOV R2,4 02H 10010010 03H 00000100 INPUT:IN1 R0; 04H 10000000 DEC R2; 05H 11010010 TEST R0 06H
10、10100000 JS L1 07H 10110000 08H 00001110 TEST R2 09H 10100010 JS L2 0AH 10110000 0BH 00010101 JMP INPUT 0CH 11100000 0DH 00000100L1:IMUL R0,R0; 0EH 01110000 ADD R0,R1; 0FH 11000001 TEST R2 10H 10100010 JS L2 11H 10110000 12H 00010101 JMP INPUT 13H 11100000 14H 00000100 L2:OUT1 R1 15H 11110100 END八 机
11、器语言功能仿真图及波形分析执行MOV R1,0 MOV R2,4IN1 R0; DEC R2; TEST R0JS L1 为负执行IMUL然后ADD R0,R1然后判断R2为负则跳出输出,否则跳到继续输出九 故障现象和故障分析 顶层电路无法正常运行,结果发现是线的粗细影响顶层电路的连接,导致无法查出错误。十 心得体会 通过将近两周的学习,每天没日没夜的思索,终于通过自己的努力,做出这个课程设计,虽然诸多地方按照书上来做,觉得很机械,从老师那基本没学到什么东西,自己不断看书,不断发掘,突然明白了许多东西,开始做时甚是迷茫加恐怖,但慢慢发现迎难而上,发现没有解决不了的问题真的学到了很多。十一软件清
12、单1)ALU单元:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALU ISPORT(A:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);S1,S0:IN STD_LOGIC;BCDOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SF:OUT STD_LOGIC);END ALU;ARCHITECTURE A OF
13、ALU ISSIGNAL AA,BB,TEMP:STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINPROCESS(S1,S0)BEGINIF(S1=0 AND S0=0)THEN -执行加法运算AA=0&A;BB=0&B;TEMP=AA+BB;BCDOUT=TEMP(7 DOWNTO 0);ELSIF(S1=0 AND S0=1)THEN -判断符号位IF(A(7)=0) THENSF=0;ELSIF(A(7)=1) THENSF=1;END IF;ELSIF(S1=1 AND S0=0)THEN -执行减一运算TEMP=A-1;BCDOUT=TEMP(7 DOWNTO 0)
14、;ELSIF(S1=1AND S0=1)THENTEMP(6 DOWNTO 0)=A(6 DOWNTO 0)*B(6 DOWNTO 0);TEMP(7)=A(7) XOR B(7);BCDOUT=TEMP(7 DOWNTO 0);SF=TEMP(7);END IF;END PROCESS;END A;2)状态字单元:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LS74 ISPORT(LDFR:IN STD_LOGIC;CY,ZI,SF:IN STD_LOGIC;FC,FZ,FS:OUT STD_LOGIC);END LS74;ARCHITEC
15、TURE A OF LS74 ISBEGINPROCESS(LDFR)BEGINIF(LDFREVENT AND LDFR=1)THEN FS=SF; END IF;END PROCESS;END A;3)暂存器、通用寄存器、地址寄存器LS273:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LS273 ISPORT( D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK:IN STD_LOGIC; O:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END LS273;ARCHITECTURE A
16、 OF LS273 ISBEGIN PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1) THEN O=D; END IF; END PROCESS;END A;4)1:2分配器FEN2:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FEN2 ISPORT( X:IN STD_LOGIC_VECTOR(7 DOWNTO 0); WR,LED_B:IN STD_LOGIC; W1,W2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END FEN2;ARCHITECTURE A OF FEN2
17、 ISBEGIN PROCESS(LED_B,WR) BEGIN IF(LED_B=0 AND WR=0) THEN W2=X; ELSE W1=X; END IF; END PROCESS;END A;5)3选1数据选择器MUX3:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX3 ISPORT(ID:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SW_B,CS:IN STD_LOGIC;N1,N2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);EW:OUT STD_LOGIC_VECTOR(7 DOW
18、NTO 0);END MUX3;ARCHITECTURE A OF MUX3 ISBEGIN PROCESS(SW_B,CS) BEGIN IF(SW_B=0) THEN EW=ID; ELSIF(CS=0)THEN EW=N2; ELSEEW=N1;END IF; END PROCESS;END A;6)4选1数据选择器MUX4:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX4 ISPORT(C,D,E,F: IN STD_LOGIC;X1,X2,X3,X4: IN STD_LOGIC_VECTOR(7 DOWNTO 0);W: out
19、 STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX4;ARCHITECTURE A OF MUX5 ISSIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN SEL=F&E&D&C; PROCESS(SEL) BEGIN IF(SEL=1110) THEN -R0_out W=X1; ELSIF(SEL=1101) THEN -R1_out W=X2; ELSIF(SEL=1011) THEN -R2-out W=X3; ELSIF(SEL=0111) THEN -R3_out W=X4; ELSE null; END IF; E
20、ND PROCESS;END A;7)程序计数器PC:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PC ISPORT( load,LDPC,CLR: IN STD_LOGIC; D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); O: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END PC;ARCHITECTURE A OF PC ISSIGNAL QOUT: STD_LOG
21、IC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(LDPC,CLR,load) BEGIN IF(CLR=0) THEN QOUT=00000000; ELSIF(LDPCEVENT AND LDPC=1) THEN IF(load=0) THEN QOUTPC ELSE QOUT=QOUT+1; -PC+1 END IF; END IF; END PROCESS; O=QOUT;END A;8)ROM芯片ROM16:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE
22、.STD_LOGIC_UNSIGNED.ALL;ENTITY ROM16 IS PORT(DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CS:IN STD_LOGIC);END ROM16;ARCHITECTURE A OF ROM16 ISBEGINDOUT=10010001 WHEN ADDR=00000000 AND CS=0 ELSE 10010010 WHEN ADDR=00000001 AND CS=0 ELSE 10000000 WHEN ADDR=00000010 AND C
23、S=0 ELSE 11010010 WHEN ADDR=00000011 AND CS=0 ELSE 10100000 WHEN ADDR=00000100 AND CS=0 ELSE 10110000 WHEN ADDR=00000101 AND CS=0 ELSE 10100010 WHEN ADDR=00000110 AND CS=0 ELSE 10110000 WHEN ADDR=00000111 AND CS=0 ELSE 11100000 WHEN ADDR=00001000 AND CS=0 ELSE 01110000 WHEN ADDR=00001001 AND CS=0 EL
24、SE 11000010 WHEN ADDR=00001010 AND CS=0 ELSE 10100010 WHEN ADDR=00001011 AND CS=0 ELSE 10110000 WHEN ADDR=00001100 AND CS=0 ELSE 11100000 WHEN ADDR=00001101 AND CS=0 ELSE 11110100 WHEN ADDR=00001110 AND CS=0 ELSE 00000000;END A;9)时序产生单元:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARI
25、TH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER ISPORT( Q,CLR: IN STD_LOGIC; T1, T2,T3,T4: OUT STD_LOGIC );END COUNTER;ARCHITECTURE A OF COUNTER ISSIGNAL X: STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN PROCESS(Q,CLR) BEGIN IF(CLR=0) THEN T1=0; T2=0; T3=0; T4=0; X=00; ELSIF(QEVENT AND Q=1) THEN X=X+1; T2
26、=(NOT X(1) AND X(0); T3=X(1) AND (NOT X(0); T4=X(1) AND X(0); END IF; END PROCESS; END A;10) 由于微地址寄存器中的触发器异步置“1”端低电平有效,与uA4ua0对应的异步置“1”控制信号SE5SE1(uA5的异步置“1”端SE6实际未使用)SE5=(FS).P(2).T4SE4=I6.P(1).T4SE3= I6.P(1).T4SE2= I5.P(1).T4SE1= I4.P(1).T4LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADDR IS POR
27、T( I7,I6,I5,I4:IN STD_LOGIC; FS,T4,P1,P2:IN STD_LOGIC; SE6,SE5,SE4,SE3,SE2,SE1:OUT STD_LOGIC);END ADDR;ARCHITECTURE A OF ADDR ISBEGIN SE6=1; SE5=NOT(NOT FS) AND P2 AND T4); SE4=NOT(I7 AND P1 AND T4); SE3=NOT(I6 AND P1 AND T4); SE2=NOT(I5 AND P1 AND T4); SE1=NOT(I4 AND P1 AND T4);END A;11)微地址寄存器:LIBR
28、ARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MMM IS PORT( SE:IN STD_LOGIC; T2:IN STD_LOGIC; D:IN STD_LOGIC; CLR:IN STD_LOGIC; UA:OUT STD_LOGIC );END MMM;ARCHITECTURE A OF MMM ISBEGIN PROCESS(CLR,SE,T2) BEGIN IF(CLR=0) THEN UA=0; ELSIF(SE=0)THEN UA=1; ELSIF(T2EVENT AND T2=1) THEN UA DATAOUT DATAOUT DA
29、TAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT DATAOUT=1000011001001111000000000; END CASE; UA(5 DOWNTO 0)=DATAOUT(5 DOWNTO 0); D(18 DOWNTO 0)=DATAOUT(24 DOWNTO 6); END PROCESS;END A;13)微命令寄存器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MCOMMAND ISPORT( T2,T3,T4,I3,I2,I1,I0:IN STD_LOGIC; O:IN STD_LOGI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 处方药与非处方药的试题及答案
- 行政法学解读与分析试题与答案
- 考场经验分享2025年执业医师考试试题及答案
- 主管护师学术进展试题及答案总结
- 护理技能测试题库及答案2025
- 2025年执业医师知识点试题及答案
- 行政法学相关法律的整合试题与答案
- 2025年经济法考生热点试题及答案
- 完整的2025年文化概论试题答案
- 2025年卫生资格考试在线复习试题与答案
- 校车驾驶员交通安全培训
- 飞机维修员入门教程
- 超声引导下神经阻滞下肢篇
- 2024届高三英语二轮专题复习:关于水中或雨中脱困脱险的读后续写练习写作素材
- 《如何处理人际关系》课件
- 中国带状疱疹诊疗专家共识2023版
- Part6 Unit1 Travel 课件-【中职专用】高一英语同步 课堂(高教版2021·基础模块2)(2023修订版)
- 《旋转变压器 》课件
- 个人信息保护与隐私权益
- 皮下脂肪瘤学习课件
- 装修常用数据手册(空间布局和尺寸)
评论
0/150
提交评论