计算机组成原理课程设计带进位运算指令的实现_第1页
计算机组成原理课程设计带进位运算指令的实现_第2页
计算机组成原理课程设计带进位运算指令的实现_第3页
计算机组成原理课程设计带进位运算指令的实现_第4页
计算机组成原理课程设计带进位运算指令的实现_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学 号: 0120810340113课 程 设 计课程名称计算机组成原理题 目带进位运算指令的实现学 院计算机科学与技术学院专 业计算机科学与技术班 级姓 名指导教师2010年1月10日目 录课程设计任务书11、设计原理11.1 实验原理11.2 实验目的11.3 模型机的逻辑框图21.4 指令类型及格式31.5 微指令与微程序介绍41.6 后续微地址的产生及微程序入口地址的形成52、调试过程与数据记录52.1 源程序代码5 2.2 指令码6 2.3 微程序6 2.4 微单步运行过程7 2.5 时序图103、设计心得114、参考文献12课程设计任务书学生姓名: 赵旭林 专业班级: 计算机 指导

2、教师: 马保才 工作单位:计算机科学与技术学院题 目: 基本模型机的设计带进位运算指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程

3、序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件hkcpt的联机方式与脱机方式的实现过程(包括编制程序中带进位运算指令的时序分析,累加器a和有关寄存器、存储器的数据变化以及数据流程)。(10)课程设计总结(设计的特点、不足、收获与体会)。时

4、间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日计算机组成原理课程设计 - 带进位运算指令的实现1设计原理1.1 实验原理在以往各个模块实验中,各模块的控制信号都是由实验者手动产生的。而在真正的实验系统中,模拟机的运行是在微程序的控制下,实现特定指令的功能。在本实验平台中,模型机从内存取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应1个微程序。本次实验完成,依靠判断进位位cy是否溢出,若低位位运算有溢出,则将结果存入低地址,并且在两

5、高位运算时,将低位的进位值也参与运算,若高位运算溢出,则不在主存ram中给予保存。实验提供了四条带进位的运算指令:rrc a 将a寄存器中的内容带进位位一起循环右移rlc a 将a寄存器的的内容带进位位一起循环左移add a, ri 将a寄存器的内容与ri的内容相加,如果加法溢出将进位到cyjc addr 条件跳转指令,如果进位位cy溢出,跳转到addrjmp addr 无条件跳转指令,跳转到addr1.2设计目的 1. 掌握了各个单元模块的工作原理,进一步将其组成完整的系统,构成一台基本的模型计算机。 2. 在本实验中,我们将规划读写内存、寄存器、数值计算等功能,并且编写相应的微程序。请具体

6、上机调试各个模块单元以便进一步掌握整机的概念。 3. 本实验是为了实验一组4位16进制数的运算,例如r1r0,将其中保存的数据作为一组表示一个整体的数,来参与运算,如r1=55h, r0=66h。则认为r1r0为5566h来参与与其它4位16进制数的运算。并将得出的结果存在主存中两个连续的单元中,高位存高地址,低位存低地址。1.3 模型机的逻辑框图1.4 指令类型及格式1. 指令类型1.算术/逻辑运算类指令: 如:加法,减法,取反,逻辑运算 add a, ri sub a, ri2.移位操作类指令:带进位或不带进位的移位指令 rrc a3.数据传送类指令:cpu内部寄存器之间数据传递mov a

7、,rimov ri,a4.程序跳转指令:跳转指令分为无条件跳转和有条件跳转指令 jmp addr 无条件跳转 jc addr cy=1 时跳转5. 存储器操作类指令:存储器读/写指令。把内存某单元内容写入寄存器中或把寄存器的内容写入存储器,如: lda addr sta addr sta addr (a)- addr2. 指令类型1.直接地址寻址: 双字节指令: lda addr (addr)- a sta addr (a)- addr1716151413121110第1字节 操作码 a7a6a5a4a2a2a1a0第2字节 操作数地址addr 2.寄存器直接寻址:指令字节中含有寄存器选择码,

8、决定选择哪个寄存器进行操作。如:单字节指令 : mov a,ri (ri)-a1716151413121110 单字节 操作码与ri选择码如:双字节指令: mov ri,#data data- ri1716151413121110第1字节 操作码与ri选择码第2字节 datad7d6d5d4d2d2d1d0 3.寄存器间接寻址:如:单字节指令: mov a,ri (ri)-a 1716151413121110 操作码 ri选择码 4.立即数寻址: 如: mov a,#data data- a mov ri,#data data- ri1716151413121110第1字节 操作码与ri选择码

9、d7d6d5d4d2d2d1d0第2字节 data1.5 微指令与微程序介绍 在计算机中,一条指令功能是由控制部件通过控制线向执行部件发出各种控制命令,执行部件接受命令时,按一定的次序执行一系列最基本操作完成。这些控制命令通常称为微命令,而最基本的操作称为微操作。1. 微指令在微操作控制的计算机中,将在cpu周期中使计算机实现一定操作功能的一组微命令的集合称为微指令。微指令是为实现某个操作功能而发出的控制信号的有关信息形成的。一条指令通常分为若干条微指令,按次序执行这些微指令,就可以实现指令的功能。微程序2. 微程序计算机的程序由指令序列构成。而计算机每条指令的功能均由指令序列解释完成,这些微

10、指令序列的集合称为微程序。 1.6 后续微地址的产生以及微程序入口地址的形成微地址的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。例如:确定了一条程序的微程序入口地址为01h,那么当执行完01h这条微指令后微地址加1,指向02h微地址。微地址寄存器由2片74ls161组成,当模型机在停止状态下,微地址被清零。当实验平台开始运行时,微地址从00h开始运行。且00h放置一条取指指令,根据程序开始地址从内存中读出第一条指令。2、 数据记录2.1 源程序代码带进位运算指令的实现mov a,#81rrc amov a,#18mov r0,#40mov

11、 a,#18rlc aadd a,r0jc 10jmp 0asta 20halt2.2 指令码 图表2 源程序中每条指令对应的指令码内存地址指令助记符指令码说明00hmov a, #815fh立即数81h-a01h81h无效02hrrc a9fha103hmov a,#185fh立即数18h-a04h18h05hrlc aafha寄存器r007h40h08hmov a,#185fh立即数18h-a09h18h0ahrlc aafhaa0chjc 10b7hcy有进位,跳转到0fh0dh10h0ehjmp 0abfh跳转到0ah0fh0ah10hsta 208fh将a的内容写入ram地址20h1

12、1h20h12hhaltffh停机2.3 微程序微程序的执行过程:0000 4d ,ff ,ff 取指指令 0017 dd ,fb ,ff dbusa 0018 4d ,ff ,ff 0027 ff ,f1 ,ef a1 0028 4d ,ff ,ff 取指指令 0017 dd ,fb ,ff dbusa0018 4d ,ff ,ff 002b ff ,e9 ,ff ari001c 4d ,ff, ff ridbusa0017 dd ,fb ,ff dbusa0018 4d ,ff ,ff002b ff ,e9 ,ff abus-dr10006 4d ,ff, ff 取指002f d4, ff

13、 ,ff dbus-ir20030 4d, ff, ff ir2-abus002f d4 ,ff ,ff dbuspc003f ff ,df ,ff 停机2.4 微单步运行过程 图表3 微单步运行过程微地址数据流程指令码数据总线地址总线操作数寄存器ooh取指微指令ram-bus-ir15fh00hir1 = 5fhmov a, #8117hbus-a81h01ha=81h18h取指微指令 ram-bus-ir19fh02hir1=9fhrrc a27ha140ha=40,cy溢出28h取指微指令 ram-bus-ir15fh03hir1=0chmov a,#1817hbus-a18h04ha=

14、18h18h取指微指令 ram-bus-ir1afh05hir1=afhrlc a2bhabus-ir16ch06hir1=6chmov a,#401bhbus-寄存器r040h07hr0=40h1ch取指微指令 ram-bus-ir15fh08hir1=5fhmov a,#182bhbus-a18h09ha=18h2ch取指微指令 ram-bus-ir1afh0ahir1=afhrlc a2bhabus-ir10ch0bhir1=0chadd a, r003ha-dr130hdr1=30h04hr0-dr240hd32=40h05halu-a70halu=70 cy无溢出06h取指微指令 r

15、am-bus-ir1b7h0chir1=b7hjc 0f2fhram-bus-ir210h0dhir2=10h30h取指微指令 ram-bus-ir1bfhoehcy无溢出jmp 0a2fhram-bus-ir20ah0fhir2=oah30h取指微指令 ram-bus-ir1afh0ah跳转到oah2bhabus-ir10ch0bhir1=0chadd a, r003ha-dr1e0hdr1=e0h04hr0-dr240hdr2=40h05halu-a20halu=70 cy无溢出06h取指微指令 ram-bus-ir1bfh0chir1=b7hjc 0fjc 0f2fhram-bus-ir

16、210h0dhir2=10h30h取指微指令 ram-bus-ir18fh10hcy有溢出sta 2023hram-busir220h11hir2=20h24ha-ram(20h)20h20hram(20)=2025h取指微指令 ram-bus-ir18fh10hcy有溢出halt3fh停机停机2.5 时序图pls1: 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1.pls2: pc计数器的工作脉冲,根据微指令的控制实现pc计数器的首地址及微地址和重置pc计数器(跳转指令)等功能。pls3: 把24位微指令打入3片微指令锁存器。pls4: 把当前总线上的数据打入微指令选通的寄存器中

17、。典型代码的时序图如下:0018 微指令(取指微指令 ram-bus-ir1)的时序图如下:0003 微指令(a-dbus-锁存器dr1)的时序图如下3、设计心得1. 次的课程设计是当场完成当场验收,所以时间比较紧。由于之前的准备不足,导致了刚开始做的时候出现了很多问题,包括最基本的连线,软件操作都出现了一些基本错误。这让我充分意识到在做课程设计之前要做好充分的准备工作,包括了解原理、流程、操作步骤等等。这样在做实验的时候就不会手忙脚乱而出现很多基本的错误了。2. 在上计算机组成原理课程的时候都是学习原理方面的知识,而课程设计需要运用平时学过的知识来实践。这次课程设计让我明白了平时不应该死读书,而是应该多把学到的知识运用到实践当中,活学活用才能最根本的掌握知识。3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论