




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成原理课程设计说明书题 目: 设计求平均值的CISC模型计算机 院 (系): 计算机科学与工程学院 专 业: 计算机科学与技术 学生姓名: 吴建海 学 号: 1100310526 指导教师: 陈智勇 1、课程设计的题目和内容:设计一台嵌入式CISC模型计算机(采用定长CPU周期、联合控制方式),并运行能完成一定功能的机器语言程序进行验证。 要求连续输入5个有符号整数(用8位二进制补码表示,十六进制数输入)求所有数的平均值并输出显示。说明:5个有符号数从外部输入; 一定要使用符号位(比如说SF)课程设计完成的内容 1.完成系统的总体设计,画出模型机数据通路框图; 2.设计微程序控制器(C
2、ISC模型计算机)的逻辑结构框图; 3.设计机器指令格式和指令系统; 4.设计时序产生器电路; 5.设计所有机器指令的微程序流程图; 6.设计操作控制器单元;在CISC模型计算机中,设计的内容包括微指令格式(建议采用全水平型微指令)、微指令代码表(根据微程序流程图和微指令格式来设计)和微程序控制器硬件电路(包括地址转移逻辑电路、微地址寄存器、微命令寄存器和控制存储器等。具体电路根据微程序控制器的逻辑结构框图、微指令格式和微指令代码来设计)。 7.设计模型机的所有单元电路,并用VHDL语言(也可使用GDF文件-图形描述文件)对模型机中的各个部件进行编程,并使之成为一个统一的整体,即形成顶层电路或
3、顶层文件; 8.由给出的题目和设计的指令系统编写相应的汇编语言源程序; 9.根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机中的ROM中去; 10.使用EDA软件进行功能仿真,要保证其结果满足题目的要求;(其中要利用EDA软件提供的波形编辑器,选择合适的输入输出信号及中间信号进行调试。)2、 系统的总体设计:整个系统数据通路如下所示:控制器的逻辑结构框图:指令寄存器IR操作码微地址寄存器地址译码控制存储器地址转移逻辑状态条件微命令寄存器P字段操作控制字段微命令信号本模型机中的指令系统中共有12条基本指令,下表列出了每条指令的格式、汇编符号和指令功能。1、 模型机
4、的指令系统和所有指令的指令格式本模型机中的指令系统中共有12条基本指令,下表列出了每条指令的格式、汇编符号和指令功能。指令助记符指令格式功能15-1211 109 87-0IN1 Rd0001××Rd××××××××输入设备RdMOV Rd,im0010××Rdim立即数RdCMP Rs,Rd0011RsRd××××××××(Rs)-(Rd),锁存标志位ADD Rs,Rd0100RsRd×
5、;×××××××(Rs)+(Rd)Rd,锁存标志位INC Rd0101××Rd××××××××(Rd)+1Rd,锁存标志位DEC Rd0110××Rd××××××××(Rd)-1Rd,锁存标志位JNZ addr0111××××addr若不等,则addrPCJNC addr1000Rs
6、15;×addr若相等,则addrPCJMP addr1001××××addraddrPCOUT1 Rs1010Rs××××××××××(Rs)输出设备SUB Rs,Rd1011RsRd××××××××(Rs)-(Rd)RdMOV1 Rs,Rd1100RsRd××××××××(Rs)Rd说
7、明:对Rs和Rd的规定:Rs或Rd选定的寄存器0 0R00 1R11 0R2 1 1R3 模型机规定数据的表示采用定点整数补码表示,单字长为8位,其格式如下:76 5 4 3 2 1 0符号位尾数指令格式:(1)I/O指令(单字节)IN输入指令:7 6 5 43 21 0 操作码× ×RdOUT输出指令:7 6 5 43 21 0 操作码Rs× ×(2)MOV指令(双字节)7 6 5 43 21 0 操作码× ×Rddata(3) CMP指令(单字节) 7 6 5 43 21 0 操作码RsRd“Rs”为源寄存器,存放的是源操作数 “
8、Rd”为目的寄存器,存放的是目的操作数所在的地址(4)算数运算指令(单字节)ADD、SUB7 6 5 43 21 0 操作码RsRd“Rs”为源寄存器,存放的是源操作数 “Rd”为目的寄存器,存放的是目的操作数所在的地址(5)DEC(单字节)自减1指令:7 6 5 43 21 0 操作码× ×Rd(6)INC指令(单字节)7 6 5 43 21 0 操作码× ×Rd(7)JNZ、JMP、JNC条件转移指令(双字节)7 6 5 43 2 1 0 操作码× × × ×addrT1、T2、T3、T4与CLR、Q之间的关系
9、图QCLRT1T2T3T4一个CPU周期现在,我们开始微程序控制器的设计,它包括以下几部分工作:(1)根据指令格式和指令系统设计所有机器指令的微程序流程图,并确定每条微指令的微地址和后继微地址;(2)设计微指令格式和微指令代码表;(3)设计地址转移逻辑电路;(4)设计微程序控制器中的其它逻辑单元电路,包括微地址寄存器、微命令寄存器和控制存储器;(5)设计微程序控制器的顶层电路。 首先做第一步,根据指令格式和指令系统设计所有机器指令的微程序流程图.对于我设计的模型机,对应的指令流程图如下所示 第二步,指令流程图设计完成后,开始设计微指令格式和微指令代码表,按照要求,CISC模型机系统使用的微指令
10、采用全水平型微指令,字长为26位,其中微命令字段为17位,P字段为3位,后继微地址为6位,其格式如下: 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0LOAD LDPC LDAR LDIR LDRi RD_B RS_B S2 S1 S0 ALU_B LDAC LDDR WR CS SW_B LED_B LDFR P1 P2 P3 后继微地址按照这个格式,再根据我设计的指令流程图,可以得到:PCAR PC+1由微指令格式和微程序流程图编写的微指令代码表如下所示,在微指令的代码表中微命令字段从左边到右代表
11、的微命令信号依次为:LOAD、LDPC、LDAR、LDIR、LDRi、RD_B、RS_B、S3、S1、S0、ALU_B、LDAC、LDDR、WR、CS、SW_B、LED_B、LDFR。P字段在下页附图中第三步:设计好了微指令代码表之后,我们可以开始设计地址转移逻辑电路地址转移逻辑电路是根据微程序流程图3-2中的棱形框部分及多个分支微地址,利用微地址寄存器的异步置“1”端,实现微地址的多路转移。由于微地址寄存器中的触发器异步置“1”端低电平有效,与µA4µA0对应的异步置“1”控制信号SE5SE1的逻辑表达式为:(µA5的异步置“1”端SE6实际未使用SE5=FS&
12、#183;P(2)·T4SE4=I7·P(1)·T4SE3=I6·P(1)·T4SE2=I5·P(1)·T4SE1=I4·P(1)·T4嵌入式CISC模型计算机的顶层电路图汇编语言源程序和机器源程序: 地址(十六进制)汇编语言源程序 机器语言源程序00 MOV R1,05H 01 MOV R3,00H02L1: IN1 R003 ADD R0,R304 DEC R105 JNZ L106 MOV R0,FBH07 MOV R1,05H08 MOV R2,00H09 CMP R3,R20A JNC L30B
13、L2: CMP R3 R00C JNC L50D DEC R20E ADD R1,R30F JMP L210L3: CMP R3,R111 JNC L412 JMP L513L4: INC R214 SUB R3,R115 MOV1 R1,R316 MOV R1,05H17 JMP L318L5: OUT1 R219 JMP L5机器语言源程序的功能仿真波形图及结果分析可以看出,此时R2中存放的03就是结果,数据输出端OD输出的就是R2内的数据。故障现象和故障分析在做的过程中出现了很多问题。在仿真的时候,在观察y输入信号的时候发现在一个周期内值改变了多次,一直检查不出来,后来请教了同学,才发现
14、是DEC指令的机器代码在ALU里面的和COMTROM的不一样,导致执行的不是这个指令,改正之后,终于解决了 心得体会刚开始去上老师的课时,听得一头雾水,因为发现好多地方自己同不懂。然后我就去看课本,同时问老师一些问题,当看到其他同学也问老师问题时,自己也跑过去凑热闹,因为这样可以了解更多的知识。直到后来才发现,原来除了设计自己的指令外,我们需要写MCOMMAND,写CONTROM来解析我们写的指令,这或许可以算得上一个极简单的CPU模型了吧。就是有了微程序控制器,计算机才认识我们自己设计的指令,才知道当读取到什么指令时该执行什么操作。听得多了,看得多了,就渐渐的明白了一些课设的相关知识,然后画
15、指令流程图,设计指令,写程序完成任务,这些几乎都是水到渠成的工作了,很多都可以依葫芦画瓢来完成。本次课设,由于汇编学的很差,期汇编代码是和班级同学的相同,但是自己重新设计了指令周期流程图,经过调试得出的结果其实只要把最基本的原理搞明白了,后续工作开展是非常快的。但在没明白原理前,千万不要畏惧困难,慢慢的一点一点学习,特别是仿真软件的学习和使用,需要花费相当的时间。只要认真了,就有可能实现。软件清单:本次直接使用的是校园网的软件图,只有CROM、ROM、改动较大。其他涉及到微指令字段的,把所有的字段位数改成26位即可LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL
16、;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_SIGNED.ALL;ENTITY ROM IS PORT(DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CS_I:IN STD_LOGIC);END ROM;ARCHITECTURE A OF ROM ISBEGIN DOUT<= "0000000000000000"END A;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE
17、 IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_SIGNED.all;ENTITY ALU ISPORT( X: IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y: IN STD_LOGIC_VECTOR(7 DOWNTO 0); S2,S1,S0: IN STD_LOGIC; ALUOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; CF,ZF: OUT STD_LOGIC );END ALU;ARCHITECTURE A OF ALU ISSIGNAL AA,BB,TEMP:STD_LOGIC_VEC
18、TOR(8 DOWNTO 0);SIGNAL TEMP1:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESSBEGIN IF(S2='0' AND S1='0' AND S0='0') THEN-ADD AA<='0'&X; BB<='0'&Y; TEMP<=AA+BB;ALUOUT<=TEMP(7 DOWNTO 0); CF<=TEMP(8); IF (TEMP="100000000" OR TEMP="
19、000000000") THEN ZF<='1' ELSE ZF<='0' END IF;ELSIF(S2='0' AND S1='0' AND S0='1') THEN -CMP(SUB) ALUOUT<=X-Y;IF(X<Y) THEN CF<='1' ZF<='0' ELSIF(X=Y) THEN CF<='0' ZF<='1' ELSE CF<='0' ZF<
20、='0' END IF; ELSIF(S2='0' AND S1='1' AND S0='0') THEN -INC AA<='0'&Y; TEMP<=AA+1; ALUOUT<=TEMP(7 DOWNTO 0); CF<=TEMP(8); IF (TEMP="100000000") THEN ZF<='1' ELSE ZF<='0' END IF; ELSIF(S2='0' AND S1='1&
21、#39; AND S0='1') THEN -DEC AA<='0'&Y; TEMP<=AA-1; ALUOUT<=TEMP(7 DOWNTO 0); CF<=TEMP(8); IF (TEMP="000000000") THEN ZF<='1' ELSE ZF<='0' END IF; ELSIF(S2='1' AND S1='0' AND S0='0') THEN -AND TEMP1<=X AND Y; AL
22、UOUT<=TEMP1; CF<='0' IF (TEMP1="00000000") THEN ZF<='1' ELSE ZF<='0' END IF; ELSIF(S2='1' AND S1='0' AND S0='1') THEN -OR TEMP1<=X OR Y; ALUOUT<=TEMP1; CF<='0' IF (TEMP1="00000000") THEN ZF<='1
23、9; ELSE ZF<='0' END IF; ELSIF(S2='1' AND S1='1' AND S0='0') THEN -Rd->BUS ALUOUT<=Y;ELSE ALUOUT<="00000000" ; CF<='0' ZF<='0' END IF; END PROCESS;END A;在这里附上CROM的图以为设计了JNC指令,所以增加了P3测试LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CONT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 米、面制品的电子商务与网络营销考核试卷
- 跨文化沟通与国际合作考核试卷
- 连锁酒店品牌形象宣传手段研究考核试卷
- 谷物磨制企业产品创新与市场竞争能力考核试卷
- 棉花加工设备的声学降噪技术考核试卷
- 新育儿护理方法实践指南
- 影视作品烟雾机租赁与特效制作合同
- 高效冲击试验机租赁及材料抗冲击性能改进合同
- 区块链智能合约法律审查与合同执行监督合同
- 模块化建筑幕墙胶缝更换与装配式建筑合同
- 2024年青海省中考一模语文试题
- 电器安装维修服务合同
- 中信证券公司融资融券业务方案设计
- 2023版煤矿安全管理人员考试题库及解析
- DBJ04T 289-2020 建筑工程施工安全资料管理标准
- 化工设计知到智慧树章节测试课后答案2024年秋浙江大学
- 互联网金融(同济大学)知到智慧树章节测试课后答案2024年秋同济大学
- 宏观经济学知到智慧树章节测试课后答案2024年秋浙江大学
- 2024年中考数学复习:中点模型专项练习
- 旅行社企业章程范本
- 2025年宁波余姚市直属企业招招聘笔试参考题库含答案解析
评论
0/150
提交评论