简单模型机的微程序设计--《计算机组成原理课程设计》实验报告.doc_第1页
简单模型机的微程序设计--《计算机组成原理课程设计》实验报告.doc_第2页
简单模型机的微程序设计--《计算机组成原理课程设计》实验报告.doc_第3页
简单模型机的微程序设计--《计算机组成原理课程设计》实验报告.doc_第4页
简单模型机的微程序设计--《计算机组成原理课程设计》实验报告.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理课程设计实验报告 课 程 设 计 报 告课程设计名称:简单模型机的微程序设计学院: 信息工程学院 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间: 学年第 学期一 设计题目计算机组成原理课程设计简单模型机的微程序设计二 主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三 具体要求置数指令 IN 置数开关SW(KD0KD7)的状态R0加法指令 ADD R0,,(addr):(R0)+(addr)(R0)存数指令 STA R0,(addr):(R0)(addr)输出指令 OUT (addr):(addr)输出设备LED跳转指令 JMP (addr):addrPC数据传送指令MOV RD,RS:(RS)(RD)与指令AND RD,RS:(RS)与(RD)(RD)或指令OR RD,(addr):(RD)或(addr)(RD) 求反指令 NOT RD:/(RD) (RD)异或指令XOR RD,RS:(RS)异或(RD)(RD)四 进度安排 共1.5周11天的时间,具体安排如下:12天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;3 5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现 的模型机的指令系统(原有的5条指令)和微程序设计方法;69天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令;1011天:根据自己设计的微程序系统写出相应的课程设计实验报告;五成绩评定六正文一、模型机的CPU及系统硬件 基本模型机的CPU及系统硬件组成如图1所示图1 模型机的CPU及系统硬件组成 各部件的功能及控制信号如下: 运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。ALU的功能控制信号为 S3、S2、S1、S0、M、CN,可以实现48种算术和逻辑运算功能,如图2所示。图1 模型机的CPU及系统硬件组成 各部件的功能及控制信号如下: 运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。ALU的功能控制信号为S3、S2、S1、S0、M、CN,可以实现48种算术和逻辑运算功能,如图2所示。运算器为单总线结构,其输入端分别连接到暂存器DR1和DR2,其装入数据的微命令分别为LDDR1和LDDR2,当它们为1电平时由节拍脉冲T4将数据总线上的数据装入相应的暂存器。R0、R1、R2为通用寄存器。R0的装入数据的微命令为LDR0,R1的装入数据的微命令为LDR1,R2的装入数据的微命令为LDR2。299为实现移位运算的装置,当299B微命令有效时,其数据端和数据总线连接。控制器由程序计数器PC、指令寄存器IR、地址寄存器AR、时序电路、控制存储器及相应的译码电路组成。程序计数器PC的功能是存放下一条指令的地址,其输出是向地址寄存器提供要将执行的指令在存储器中的地址。在提供地址后立即加1,指向指令的下一个字节或下一条指令的地址。其控制微命令有三个。当LOAD=0而LDPC=1时,由T4的正跳变将数据总线上的数据装入PC;当当LOAD=1而LDPC=1时PC的内容加1;当PCB=1时,PC中的地址信息送到数据总线上。指令寄存器IR用于存放当前执行的指令。当微命令LDIR=1时,由节拍脉冲T3将数据总线上的数据装入。 地址寄存器AR存放要从存储器中读出的数据或指令的地址或要向存储器写入数据或指令的地址。 当微命令LDAR=1时,由节拍脉冲T3将数据总线上的数据装入。存储器RAM用于存放程序和数据。当片选信号CE=0时,如果W/R为0,则根据AR中的地址,从存储器读出数据并送到数据总线上;如果W/R为1,则根据AR中的地址,向存储器中写入数据总线上的数据。片选信号 CE是由微指令中的有关字段(B1B0)译码产生的。 模型机有两个外部设备:输入设备是置数开关SW,用于设置数据或地址,当微命令SWB=0时,设置的数据送到数据总线上;SWB也是由微指令中的有关字段(B1B0)译码产生的。输出设备是两位LED数码管,当微命令LEDB=1时,数据总线上的数据送到数码管显示。二、基本模型机的指令设计根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT,无条件转移指令JMP。指令格式如下: 助记符 机器指令码说明 IN 0000 0000 ; 置数开关SW(KD0KD7)的状态R0 ADD addr 0001 0000 ; (R0)+(addr)(R0) STA addr 0010 0000 ; (R0)(addr) OUT addr 0011 0000 ; (addr)输出设备LED JMP addr 0100 0000 ;addrPC 说明:指令IN为单字节指令,其余均为双字节指令, 为要读写的主存储器单元的二进制地址码。三、指令微流程分析这十条指令的微流程图如图所示运行微程序PCARPC+119XORR0DR101PCARPC+1RAMBUSBUSIRP(1)测试02XORNOTORANDMOVJMPSTAOUTANDIN 11 1817161514131210R0DR1R1DR1PCARPC+1R0DR1R0DR1PCARPC+1PCARPC+1PCARPC+1PCARPC+1SWR0011F1E1A0E0D1F03DR1R00C0907R1DR2R1DR2求反DR1R1RAMBUSBUSARR1DR2RAMBUSBUSARRAMBUSBUSARRAMBUSBUSARRAMBUSBUSPC01011B0F2020RAMBUSBUSDR2DR1与DR2R1DR1异或DR2R1010A0804DR1异或DR2R1RAMBUSBUSDR1R0BUSBUSRAMRAMBUSBUSDR21C0101R1DR10501010BR0DR11DDR1或DR2R1DR1LED06(D1+DR2)R00110101运行微程序01PCBLDARLDPC02CE有效W/R=0LDIRP(1)测试XORNOTORANDMOVJMPOUTSTAADDINXOR161419181715131211100CR0BLDDR1PCBLDARLDPCRDB有效R0BLDDR1R0B有效LDDR1PCBLDARLDPCPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRiR0BLDDR1070301090C0D0E1A1E 271FALU做反运算LDRiALUBCE有效W/R=0LDARR1BLDDR2ALU做或LDRiALUBCE有效W/R=0LOADCE有效W/R=0LDARCE有效W/R=0LDARCE有效W/R=0LDARR1BLDDR1R1BLDDR101040101080A0F1B20CE有效W/R=0LDDR2ALU做与LDRiALUBCE有效W/R=0LDDR1R0BCE有效W/R=1CE有效W/R=0LDDR2ALU做异或LDRiALUB2005ALU做异或LDRiALUB01010B1CR0B有效LDDR1ALUBLEDBALU=AW/R=1R0B有效LDDR101 06011DALU做或LDRiALUB01ALU做加LDRiALUB0101 用数据流表示的微程序流程四编写微程序00:00000101100000000000000001:00000101111011011000001002:00000100110000000101000003:00000100111000000000010004:00000100101100000000010105:00000101101000100000011006:10010101100110100000000107:00000100111000000000100008:00000110100000100000000109:0000010011100000000010100A:0000010010100000000010110B:0000011100001010000000010C:0000010011010000000000010D:0000011110011010000000010E:0000010110110010000011110F:10111101100110100000000110:00000100000100000000000111:00000101111011011000001112:00000101111011011000011113:00000101111011011000100114:00000101111011011000110015:00000101101000100000110116:00000101101000100000111017:00000101111011011001101018:00000101101001000001111019:0000010110100010000111111A:0000010011100000000110111B:0000010010110000000111001C:0000010110100100000111011D:0001010110011010000000011E:0000111110011010000000011F:00000101101100100010000020:011011011001101000000001此后就可以手动地用开关将微程序输入机器的控存。然后将控存的启动地址置为0,运行微程序,将要执行的测试程序存入主存,也可从主存中读出指令,检查输入的指令是否正确。 下面是利用该软件设计的微程序编码及各条微指令的功能分析。注意第一条微指令的微地址为01H,其它各条微指令的微地址都由上一行文字最后的数字(16进制)指定。微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:10微指令000001000001000000000001执行的操作是:输入开关SWB有效,LDR0,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:11微指令000001011110110110000011执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:03微指令000001001110000000000100执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:04微指令000001001011000000000101执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:05微指令000001011010001000000110执行的操作是:R0B,LDDR1,转微地址:06微指令100101011001101000000001执行的操作是:算术:A加B,ALUB,LDR0,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:12微指令000001011110110110000111执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:07微指令000001001110000000001000执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:08微指令000001101000001000000001执行的操作是:存储器CE有效,写存储器,R0B,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:13微指令000001011110110110001001执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:09微指令000001001110000000001010执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:0A微指令000001001010000000001011执行的操作是:存储器CE有效,存储器读,LDDR1,转微地址:0B微指令000001110000101000000001执行的操作是:算术:A,数码管LEDB有效,写LED,ALUB,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:15微指令000001011010001000001101执行的操作是:R0B,LDDR1,转微地址:0D微指令000001111001101000000001执行的操作是:算术:A,ALUB,LDR1,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:16微指令000001011010001000001110执行的操作是:R0B,LDDR1,转微地址:0E微指令000001011011001000001111执行的操作是:R0B,LDDR2,转微地址:0F微指令101111011001101000000001执行的操作是:逻辑:AB,ALUB,LDR1,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:17微指令000001011110110110011010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:1A微指令000001001110000000011011执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:1B微指令000001001011000000011100执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:1C微指令000001011010010000011101执行的操作是:R2B,LDDR1,转微地址:1D微指令000101011001101000000001执行的操作是:算术:A+B,ALUB,LDR2,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:18微指令000001011010010000011110执行的操作是:R1B,LDDR1,转微地址:1E微指令000011111001101000000001执行的操作是:逻辑:/A,ALUB,LDR1,转微地址:01微指令000001011110110110000010执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02微指令000001001100000001010000执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:19微指令000001011010001000011111执行的操作是:R0B,LDDR1,转微地址:1F微指令000001011011001000100000执行的操作是:R0B,LDDR2,转微地址:20微指令011011011001101000000001执行的操作是:逻辑:A异或B,ALUB,LDR2,转微地址:01微指令00000101111011011000

温馨提示

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

评论

0/150

提交评论