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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

带进位运算指令的实现.docx

1、带进位运算指令的实现学 号: 0120810340631课 程 设 计题 目基本模型机的设计带进位运算指令的实现学 院计算机科学与技术学院专 业计算机科学与技术班 级计 算 机 0806姓 名张 军指导教师杨 青2011年1月13日课程设计任务书学生姓名: 张 军 专业班级: 计算机0806 指导教师: 杨 青 工作单位:计算机科学与技术学院题 目: 基本模型机的设计带进位运算指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心

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

3、安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中带进位运算指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 2011年 1月13日系主任(或责任教师)签名: 2011年 1月13日基本模型机的设计 带进位运算指令的实现1、设计的目的 1、 在掌握部件单元电路实验的基础上,进

4、一步将其组成系统构造一台基本模型计算机。 2、掌握微程序设计思想和设计方法,设计实现一个简单的模型机,该模型机由运算器、寄存器、译码电路、存储器、和存储微指令用的控制存储器组成,并能实现一些简单的机器指令,并根据设计好的指令设计简单的机器指令程序,实现输入、输出、存储器读写和简单的加、减控制指令。 3、将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符合设计要求,并对程序运行结果的正、误分析其原因。 4、改变相应的电路实现带进位运算指令的模型机的设计与实现观察相应的结

5、果和记录相应的数据。并得出相应的设计结论。2、设计的原理在各个模块的实验中,各个模块的控制信号都是有试验者手动模拟产生的。而在真正的实验系统中,模型机的运行是微程序的控制下,实现特定指令的功能。在本实验平台中,模型机从内存中取出、解释、执行机器指令都将有微指令和与之配合的时序来完成,即1条机器指令对应1条微程序。3、模型机的逻辑框图根据设计要求,对实验仪器硬件资源进行逻辑组合,便可以设计出该模型机的逻辑框图如下: 4、设计指令系统 本实验平台采用的是8为数据总线和8位地址总线的方式,在设计指令系统的时候,应考虑有哪几种指令的类型,哪几种寻址方式和编码方式。4、1 指令类型: 1、带进位的移位操

6、作指令: RRC A,RLC A 2、算术运算加法指令: ADD A, Ri 3、数据传送指令: MOV A, Ri 4、带进位的有条件的程序跳转指令: JC addr 5、无条件跳转指令: JMP addr 6、存储操作指令: STA addr 4、2操作数寻址方式及编码:1、直接寻址方式:指令地址码字段直接给出操作数的有效地址。如:双字节指令 STA addr 第一字节:操作码 第二字节:操作数地址addrI7I6I5I4I3I2I1I0A7A6A5A4A3A1A0 2、立即数寻址:指令中的地址字段指出的不是操作数的地址,而是操作数本身。如:MOV A, #data data-A MOV

7、Ri,#data data-Ri 第一字节:操作码及Ri选择码 第二字节:dataI7I6I5I4I3I2I1I0A7A6A5A4A3A1A0 3、寄存器直接寻址:指令的地址码字段指出的是寄存器的地址,而寄存器中存放的才是操作数。如:ADD A,Ri (Ri)+A-A 第一字节:操作码 第二字节:RiI7I6I5I4I3I2I1I0A7A6A5A4A3A1A05、设计微程序及其实现的方法 本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至少可以有24个微操作控制信号,可由微代码直接实现。如果采用多组编码译码,那么24位微代码通过二进制译码可实现2n个互斥的

8、微操作控制信号。 由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0MD7,这种方法称为“按操作码散转”(如下表所示)。 微程序首地址形成MD7MD6MD5MD4MD3MD2MD1MD000I7I6I5I411 按操作码散转 指令操作码微程序首地址MD7MD6I7I6I5I4MD1MD0MD7MD000000011003H00000111007H0000101100BH0000111100FH00010011013H00010111017H0001101101BH0001111101FH

9、00100011023H00100111027H0010101102BH0010111102FH00110011033H00110111037H0011101103BH0011111103FH 每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。微指令的运行顺序为下地址确定法,即采用技术增量法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。例如:确定一跳微程序的入口地址为07H,那么当执行完07H这条微指令后微地址加1,指向08H的微地址。微地址寄存器由2片74LS161组成,当模型机在停止状态下,微地址被清零。当实验平台开始运行时,微地址从00H开始运行。且00

10、H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。00取指微指令010203加法指令微程序04减法指令微程序050607MOV指令微程序08带进位移位指令微程序09MOV指令微程序0A0B0C0D0E0F 6、模型机当中时序的设计安排 由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转的方式,微地址采用技术增量的方式,所以可确定模型机中时序单元中所产生的每一拍的作用。在本实验中为了让实验者更好的观察实验的各个中间过程中各个寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生。如下图: PLS-O的信号经过时序单元的处理产生一个4

11、个脉冲信号。4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。 S0:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。 S1:PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。 S2:把24位微指令打入3片微指令锁存器。 S3:把当前总线上的数据打入微指令选通的寄存器。7、设计指令执行流程 根据模型机整机逻辑图和目前硬件条件来设计指令系统中的每条指令的执行流程。在每个系统中,一条指令从内存中取出到执行完毕,需要若干个机器周期,在任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。而一条指令共需要几个机器周期取决于指令在机

12、器内实现的负责程度。 取指微指令执行过程:在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。在处于停机状态时,脉冲S0对微地址寄存器(74LS161)无效,微地址寄存器保持为零。脉冲S1对PC计数器无效,同时S1把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,是微程序锁存器输出有效。S2把微程序存储器00H单元中的内容打入微指令锁存器中,并且输出取指微指令。S3把从程序存储器中读出的数据打入指令寄存器中。 在模型机处于运行状态时,S3把从程序存储器中读出的数据打入指令寄存器中。将PC计数器加1,S2把微程序存储器中的微指令打入微指令

13、锁存器并且输出。S3把当前总线上的数据打入当前微指令所选通的寄存器。 以下举例说明指令的数据信息流:单字节指令 RRC A (功能是将累加器A中的内容带进位CY有循环移一位) CYA7A6A1A0 _ 须执行如下操作: (PC)+1PCCKPC ;PC加1,为取下条指令字节做准备(A)、CYPC-OA、CY ;控制累加器A带CY右循环移一位(移入CY作A7,移除的A0送CY) (PC)PC-OLABBUSOAB ;PC程序计数器内容作为访问内存地址 (RAM)RMODBBUSIDBEIR1、S3IR1;从内存该地址单元读出指令字节送指令寄存器IR1。 此程序由2个微指令周期组成:1、PC加1,

14、为取下条指令字节做准备;2、取指微指令,从内存读出指令送指令寄存器。 8、源程序代码 8、1指令代码 MOV A, #81 立即数81H送给A RRC A (A)1 MOV A, #18 (A)-RAM(21H) RLC A (A)1 MOV R0, #40 立即数40H送给寄存器R0 MOV A, #18 立即数18H送给A RLC A (A)A JC 10 若CY有进位,跳转到10H JMP 0A 跳转到0AH STA 20 (A)-RAM HALT 停机 8、2微指令序列 微地址 微指令指令功能00000100 1101 1111 1111 1101 1011取指指令00171101 1

15、101 1111 1011 1111 1111Dbus-A00180111 1101 1111 1111 1111 1111取指指令00271111 1111 1111 0001 1110 1111A100281111 1111 1110 1001 1110 1111取指指令00171101 1101 1111 1011 1111 1111Dbus-A00180100 1101 1111 1111 1111 1111取指指令001B1101 1101 1011 1111 1111 1111Dbus-Ri001C0100 1101 1111 1111 1111 1111取指指令00171101

16、1101 1111 1011 1111 1111Dbus-A00180100 1101 1111 1111 1111 1111取指指令002B1111 1111 1110 1001 1110 1111ADbus-DR100041111 1111 0111 1111 0111 1001Ri-Dbus-DR200051111 1111 1111 1011 1010 1001ALU-Dbus-A00060100 1101 1111 1111 1111 1111取指指令002F1101 0100 1111 1111 1111 1111Dbus-IR200300100 1101 1111 1111 11

17、11 1111IR2-Abus,Dbus-PC000B1111 0111 0111 1111 1111 1111Ri-Dbus-IR2000C1101 1001 1111 1011 1111 1111IR2-Abus,Dbus-A000D0100 1101 1111 1111 1111 1111取指指令003F1111 1111 1101 1111 1111 1111停机 9、使用软件HKCPT的联机与脱机方式的实现过程下程序以16进制输入程序存储器,在调试时请关注进位位CY、A寄存器中的值。内存地址指令助记符指令码说明00HMOV A,#815FH立即数81H-A01H81H02HRRC A

18、9FHA 103HMOV A,#185FH立即数18H- A04H18H 05HRLC AAFHA寄存器R007H40H08HMOV A,#185FH立即数18H- A09H18H0AHRLC AAFHAA0CHJC 10B7HCY有进位 跳转到0FH0DH10H0EHJMP 0ABFH跳转到0AH0FH0AH10HSTA 208FH将A内容写入RAM地址20H 11H20H12HHALTFFH停机运行结果为:RAM 20H单元中的内容为20H运行程序:通过软件HKCPT的微单步功能可观察各个变量的变化。微单步运行过程显示如下:微地址数据流程数据总线地址总线操作寄存器00H取指微指令 RAM-

19、BUS-IR15FH00HIR1=5FHMOV A,#8117HBUS- A81H01HA=81H18H取指微指令 RAM-BUS-IR19FH02HIR1=9FHRRC A27HA140H无效A=40,CY溢出28H取指微指令 RAM-BUS-IR15FH03HIR1=0CHMOV A,#1817HBUS- A18H04HA=18H18H取指微指令 RAM-BUS-IR1AFH05HIR1=AFHRLC A2BHABUS-IR16CH06HIR1=6CHMOV R0,#401BHBUS-寄存器R040H07HR0=40H1CH取指微指令 RAM-BUS-IR15FH08HIR1=5FHMOV

20、 A,#182BHBUS- A18H09HA=18H2CH取指微指令 RAM-BUS-IR1AFH0AHIR1=AFHRLC A2BH(A)BUS-IR10CH0BHIR1=0CHADD A,R003HA-锁存器DR130H无效DR1=30H04H寄存器R0-锁存器DR240H无效DR2=40H05HALU- A70H无效ALU=70 CY无溢出06H取指微指令 RAM-BUS-IR1B7H0CHIR1=B7HJC 0F2FHRAM-BUS-IR210H0DHIR2=10H30H取指微指令 RAM-BUS-IR1BFH0EHCY无溢出JMP 0A2FHRAM-BUS-IR20AH0FHIR2=

21、0AH30H取指微指令 RAM-BUS-IR1AFH0AH跳转0AHRLC A2BH(A)BUS-IR10CH0BHIR1=0CHADD A,R003HA-锁存器DR1E0H无效DR1=E0H04H寄存器R0-锁存器DR240H无效DR2=40H05HALU- A20H无效ALU=70 CY有溢出06H取指微指令 RAM-BUS-IR1BFH0CHIR1=B7HJC 0F2FHRAM-BUS-IR210H0DHIR2=10H30H取指微指令 RAM-BUS-IR18FH10HCY有溢出STA 2023HRAM-BUS-IR220H11HIR2=20H24HA-RAM(20H)20H20HRAM

22、(20)=2025H取指微指令 RAM-BUS-IR1FFH12HIR1=FFHHALT3FH置模型机为停止状态无效无效置停止状态带进位运算指令的时序图:1、2、3、 4、 5、6、7、8、9、10、11、10、课程设计总结 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够

23、牢固。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深刻。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。最后,还要感谢指导老师的认真监督、细心指导,以及给我们组的设计提出的宝贵意见。虽然本学期组成原理课程已经结束,但仍觉得有很多东西要学,我会在以后的学习生活中不断努力,争取更大的进步。本科生课程设计成绩评定表班级:计科0806姓名:张军学号:0120810340631序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:2011年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1