ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:936.07KB ,
资源ID:15294911      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15294911.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(组成原理课程设计.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

组成原理课程设计.docx

1、组成原理课程设计附件1:学 号: 课 程 设 计题 目带进位运算指令的实现学 院计算机科学与技术专 业计算机科学与技术班 级姓 名指导教师 2011年6月28日课程设计任务书学生姓名: 专业班级: 计 指导教师: 工作单位:计算机科学与技术学院题 目: 基本模型机的设计带进位运算指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要

2、求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在

3、使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中带进位运算指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1设计的目的及设计原理1.1实验目的:(1)掌握各个单元模块的工作原理,进一步将其组成完整的系统,构造成一台基本模型计算机。(2)在本试验中,将规划读、写内存,寄存器,数值计算等功能,并且编写相应的微程序。具体上机调试

4、各个模块以便进一步掌握整机的概念。对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。(3)通过使用软件HKCPT,了解程序编译,加载的过程。同时,培养动手能力,独立解决问题的能力。(4)通过微单步,单拍调试,理解模型机中的数据流向。1.2设计原理:1.2.1在各个模块试验中,各模块的控制信号都是有试验者手动模拟产生的。而在真正的实验系统中,模型机的运行是在微程序的控制下进行的,可实现特定指令的功能。在本实验平台中,模型机从内存中取出,解释,执行及其指令都将由微指令和与之相配合的时序来完成,即一条机器指令对应1个

5、微程序。2.模型机的逻辑框图 根据设计要求,对实验仪硬件资源进行逻辑组合,便可设计出该模型机的逻辑框图。简单的模型计算机由算术逻辑运算单元,微程序单元,堆栈寄存器单元,累加器,启停单元,时序单元,总线和存储器单元组成.在模型机中,将实现RAM的读/写指令,寄存器的读/写指令,跳转指令,ALU的加,减,与,或指令。把通用寄存器作为累加器A,进行左,右移等指令,整体构成一个单累加器多寄存器的系统。算术逻辑运算单元由两个数据锁存器(DR1,DR2),ALU,1个数据缓冲器224组成。EDR1为0且DR1CK有上升沿时把数据DATA BUS上的数据打入DR1,EDR2为0且DR2CK有上升沿时把DAT

6、A BUS上的数据打入DR2,S0,S1,S2,S3,CN,M控制工作方式,ALU-O为0时224把ALU的运算结果输出到数据总线。微程序控制单元由位地址寄存器,微程序寄存器(6264*3),微指令锁存器组成。MLD为1且MCK有上升沿时位地址寄存器自动加1,MLD为0且MCK上有上升沿时把微地址打入位地址寄存器。 指令部件模块由一个指令寄存器IR1,1个地址锁存器IR2,PC计数器,2个输出锁存器224组成。EIR1为0且IRCK有上升沿时把DATA BUS上的数据打入IR1,EIR2为0且IR2CK有上升沿时把DATA BUS上的数据打入IR2,ELP为0且PCCK有上升沿时可重新置PC值

7、,ELP为1,PC-O为0且有上升沿时PC加1,PC-O为0,IR2-0为1时把PC值输出到ADDRESS BUS,PC-O为1,IR2-O为0时把IR2的值输出到ADDRESS BUS。存储器由1片静态RAM(6264)及控制电路构成。RM,BUS为0,WM为1时容许存储器读出,RM,BUS为1,WM为0时容许存储器写入,EMCK时存储器的写入或读出信号。寄存器组由累加器A和堆栈寄存器(R0,R1,R2,R3)组成。X0,X1控制A的工作模式,ERA为0时选通A,RACK是A的工作脉冲,SA,SB选通一个寄存器(R0,R1,R2,R3),RR为0容许寄存器读出,WR为0容许数据写入。3.计指

8、令系统,并分析指令格式 本实验平台采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑其指令,以及寻址方式和编码方式的问题3.1指令类型3.1.1 算术/逻辑运算类指令如:加法,减法,取反,逻辑运算(ADD A ,Ri, SUB A ,Ri)3.1.2 移位操作类指令如:带进位或不带进位的移位指令:(RCC A,RR A)3.1.3 数据传送指令如:CPU内部寄存器之间数据传递:MOV A,RiMOV Ri,A3.1.4 程序跳转指令跳转指令分为无条件跳转指令和有条件跳转指令。可根据寄存器内容为零来标志(ZD),有无进位来标志(CY),也可根据用户自定义标志。JMP addr 无条

9、件跳转JZ addr ZD=0时跳转JC addr CY=0时跳转JN addr 自定义3.1.5存储器操作类指令存储器读/写指令。把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。 如:LDA addr (addr)-A STA addr (A)-addr3.2.操作数寻址方式及编码3.2.1直接地址寻址 例如,双字节指令: LDA addr (addr)-A STA addr (A)-addr第1字节 (操作码) 第2字节(操作数地址)I7I6I5I4 I3I2I1I0A7A6A5A4A3A2A1A0 3.2.2寄存器直接寻址 指令字节中含有寄存器选择码,决定选哪个寄存器进行操作。

10、 例如,单字节指令: MOV A ,Ri单字节(操作码与RI选择码)I7I6I5I4 I3I2I1I0 例如,双字节指令: MOV Ri , #data第1字节(操作码及RI选择码) 第2字节(DATA)I7I6I5I4 I3I2I1I0D7D6D5D4 D3D2D1D0 3.2.3寄存器间接寻址 例如,单字节指令: MOV A ,Ri (Ri)-ARI选择码I7I6I5I4 I3I2I1I0 3.2.4立即数寻址 例如,MOV A,#data data-A MOV Ri, #data data-Ri第1字节(操作码及RI选择码) 第2字节(DATA)I7I6I5I4 I3I2I1I0D7D6

11、D5D4 D3D2D1D03.3指令格式分析Intel 8086/8088指令字较短,所以指令采用变长指令字结构。指令格式包括单指令、双字长指令、三字长指令等多种。指令长度为16字节不等,既有8位、16位、24位、32位、40位和48位6种,其中第一个字节为操作码;第2个字节指出寻址方式;第3个至第6个字节则给出操作数地址等。基本指令格式如下: 4.设计微程序及其实现方法 在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多有24个微操作控制信号,可由微代码直接实现。如果采用多组编码译码,那么24位微代码通过二进制译码可实现个互斥的微操作控制信号。 由于

12、模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0MD7,这种方法称为“按操作码散转”.如下表所示。每条指令不超过4条的微程序指令,那么可根据下表组成每条微程序的首地址微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。微地址寄存器由2片74LS161组成,在模型机停止状态下,微地址被清零。当实验平台开始运行时,微地址从00H开始运行。且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。 CM中的存储情况如下表所示: 表格

13、中的位数对应的关系如下:23 22 21 20 19 18 17 16 15 14 13 12 11 10MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA 9 8 7 6 5 4 3 2 1 0RA-O EDR1 EDR2 ALU-O DN M S3 S2 S1 S0指令助记符微地址有效值23 2221 2019 1817 1615 1 13 1211 10 9 8 7 6 5 43 2 1 00 0 0 00 0 0 00 0 0 * * 0 0 00 0 * * * * *取址微指令00H0 1 0 01 1 0 01 1 1

14、11 1 1 11 1 1 11 1 1 101H02HADD A,Ri03H1 1 1 11 1 1 11 1 1 11 1 0 01 1 1 11 0 0 104H1 1 1 11 1 1 10 1 1 11 1 1 10 1 1 11 0 0 105H1 1 1 11 1 1 11 1 1 11 0 1 11 0 1 01 0 0 106H0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 1SUB A,Ri07H1 1 1 11 1 1 11 1 1 11 1 0 01 1 0 10 1 1 008H1 1 1 11 1 1 10 1 1 11 1 1 1

15、0 1 0 10 1 1 009H1 1 1 11 1 1 11 1 1 11 0 1 11 0 0 00 1 1 00AH0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 1MOV A,Ri0BH1 1 1 10 1 1 10 1 1 11 1 1 11 1 1 11 1 1 10CH1 1 0 11 0 1 11 1 1 11 0 1 11 1 1 11 1 1 10DH0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 10EHMOV A,Ri0FH1 1 1 11 1 1 10 1 1 11 0 1 11 1 1 11 1

16、1 110H0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 111H12HMOV Ri,A13H1 1 1 11 1 1 11 0 1 11 1 0 11 1 1 11 1 1 114H0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 115H16HMOV A,#data17H1 1 0 11 1 0 11 1 1 11 0 1 11 1 1 11 1 1 118H0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 119H1AH MOV Ri,#data1BH1 1 0 11 1 0 11 0 1

17、 11 1 1 11 1 1 11 1 1 11CH0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 11DH1EHLDA addr1FH1 1 0 10 1 0 11 1 1 11 1 1 11 1 1 11 1 1 120H1 1 0 11 0 1 11 1 1 11 0 1 11 1 1 11 1 1 121H0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 122HSTA addr23H1 1 0 10 1 0 11 1 1 11 1 1 11 1 1 11 1 1 124H1 0 1 11 0 1 11 1 1 11 1

18、 0 10 0 0 00 0 0 025H0 0 0 00 0 0 00 0 0 00 0 0 01 1 1 11 1 1 126HRRC27H1 1 1 11 1 1 11 1 1 10 0 0 11 1 1 01 1 1 128H0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 029H0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 02AHRLC2BH1 1 1 11 1 1 11 1 1 01 0 0 11 1 1 01 1 1 12CH0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 1

19、2DH2EHJZ addr2FH1 1 0 10 1 0 01 1 1 11 1 1 11 1 1 11 1 1 1JC addr30H0 1 0 01 1 0 11 1 1 11 1 1 11 1 1 11 1 1 1JMP addr31H32HORL A,#data33H1 1 1 11 1 1 11 1 1 11 1 0 01 1 1 11 1 1 034H1 1 0 11 1 0 11 1 1 11 1 1 10 1 1 11 1 1 035H1 1 1 11 1 1 11 1 1 11 0 0 11 0 1 11 1 1 036H0 1 0 01 1 0 01 1 1 11 1 1

20、11 1 1 11 1 1 1ANL A,#data37H1 1 1 11 1 1 11 1 1 11 1 0 01 1 1 11 0 1 138H1 1 0 11 1 0 11 1 1 11 1 1 10 1 1 11 1 0 139H1 1 1 11 1 1 11 1 1 11 0 0 11 0 1 11 0 1 13AH0 1 0 01 1 0 01 1 1 11 1 1 11 1 1 11 1 1 13BH3CH 3DH3EHHALT3FH1 1 1 11 1 1 11 1 0 11 1 1 11 1 1 11 1 1 15.模型机当中的时序设计安排 由于模型机已经确定了指令系统,微指

21、令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。在实验中为了让试验者更好的观察实验的各个中间过程各寄存器的值,由监控单元产生一个PLS-O信号来控制时序产生.PLS-O信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个微指令周期,为不同的寄存器提供工作脉冲. PLS1:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加 PLS2:PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。 PLS3:把24位微指令打入3片微指令锁存器。PLS4:把当

22、前总线上的数据打入微指令选通的寄存器中。6.设计指令执行流程 在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。而一条指令共需几个机器周期取决于指令在机器内实现的复杂程度。 对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所含的微操作的必要性和合理性,还应知道总线的IAB,IDB,OAB,ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。以下描述取微指令执行周期: 在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。在处于停机状态时,脉冲PLS

23、1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,使微程序锁存器输出有效。PLS3把微程序储存器00H单元中的内容打入指令寄存器中。并且输出取值指令。PLS4把从程序存储器独处的数据打入指令寄存器中。在模型机处于运行状态时,脉冲PLS1将微地址寄存器(74LS161)加1,脉冲PLS2将PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。PLS4把当前总线上的数据打入当前微指令所选通的寄存器。下面通过本例的程序说明其中各别指令的数据信

24、息流。(1)双字节指令MOV A,#DATA 该指令的功能是data-A,需执行如下微操作。 指令寄存器IR1该指令由2个微指令周期组成:1PC+1从内存出得指令第二个字节送累加器A。2PC+1执行出指微指令,从内存闱出指令字节送指令寄存器。(2)单字节指令RRC A 该指令功能是将累加器A是内容带进位CY右环移1位,即 需执行如下微操作此程序由2个微指令周期组成。1PC+1为取下条指令准备,控制累加器A带CY右环移一位(移入CY作A7,移出的A0送CY)2取指微指令,从内存取出指令送指令寄存器。7.给出编制的源程序,写出程序的指令代码及微程序7.1程序思想 本实验使用了4条带进位的运算指令:

25、RRC(带进位的右移),RLC(带进位的左移),ADDA,Ri(加法指令,可有进位溢出),JC addr(条件跳转),JMP addr(无条件跳转)RCC A ;将寄存器中的内容带进位位一起循环右移RLC A ;将A寄存器中的内容带进位位一起循环右移ADD A,Ri ;将A寄存器的内容Ri的内容相加,如果加法溢出,则进位到CYJC addr ;条件跳转指令,如果进位位CY溢出,则跳转到addrJMP addr ;无条件跳转指令,跳转到addr程序最初传入一个数到寄存器A中,右移一位此时改变了它的溢出位,再次传入一个数,此时溢出位已经被上一步的右移改变了,此时进行1位左移。将一个数传入寄存器R0

26、。进行加法运算.如果有进位则将A的内容写入RAM地址20h。否则将继续对寄存器A中的数左移一位。直到有进位.7.2源程序MOV A,#83 ;立即数83H-ARRC A ;A1MOV A,#19 ;立即数19H-ARLC A ;A寄存器R0MOV A,#19 ;立即数19H-ARLC A ;AAJC 10 ;CY有进位 跳转到0FHJMP 0A ;跳转到0AHSTA 20 ;将A的内容写入地址20HHALT ;停机7.3应微程序如下:7.4程序的指令序列内存地址指令助记符指令码或立即数说明00H MOV A,#835FH 立即数83HA01H83H02H RRC A9FH A103H MOV A,#185FH 立即数18HA04H 19H 05H RLCAFH A106H MOV R0,#406CH立即数40H寄存器R007H44H08H MOV A,#185FH A109H19H0AH RLC AAFH AA0CH JC 10B7HCY有进位跳转到0FH0DH10H0EH JMP 0ABFH 跳转到0AH0FH0AH10H STA 208FH将A的内容写入RAM地址20H11H20H12H HALTFFH

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2