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

下载本文档

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

文档简介

课 程 设 计 报 告课程名称: 计算机组成原理 系 别: 姓 名: 班 级: 学 号: 成 绩: 指导教师: 开课时间:20 -20 学年 第 学期一设计题目计算机组成原理课程设计简单模型机的微程序设计二主要内容通过课程设计更清楚地理解下列基本概念: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 或指令OR RD,RS:(RS)或(RD)(RD) 新加法指令 NADD (addr1),(addr2):(addr1)加(addr2)(RD) 异或指令XOR (addr1),(addr2):(addr1)异或(addr2)(RD) 与指令AND RD,RS:(RS)与(RD)(RD) 求反指令 NOT RD:/(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所示。 运算器为单总线结构,其输入端分别连接到暂存器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为单字节指令,其余均为双字节指令, 为要读写的主存储器单元的二进制地址码。 三、指令微流程分析 这十条指令的微流程图如图所示运行微程序RDDR2RAMBUSBUSAR0CNOTR0DR1R0DR1PCARPC+1PCARPC+1RSDR101RAMBUSBUSPC16PCARPC+101DR1LED15RAMBUSBUSDR114RAMBUSBUSAR13PCARPC+1R0BUSBUSRAM12RAMBUSBUSAR11PCARPC+1(D1+DR2)R0100FR0DR1RAMBUSBUSDR2RAMBUSBUSARPCARPC+1010B0A09080706050403ADDXORNADDORJMPOUTSTAANDINPCARPC+1RAMBUSBUSIRP(1)测试0102SWR027251F19170DRDDR2RAMBUSBUSAR求反RD20261A1801或结果RDRAMBUSBUSDR1RAMBUSBUSDR1与结果RD0E211B0101PCARPC+1PCARPC+101221CRAMBUSBUSARRAMBUSBUSAR231DRAMBUSBUSDR2RAMBUSBUSDR224011E异或结果RDDR1+DR2RD0101 用数据流表示的微程序流程运行微程序01PCBLDARLDPC02CE有效W/R=0LDIRP(1)测试NOTANDORSUBMOVJMPOUTSTAADDIN090A0B0C080706050304RSB有效LDDR1RCB LDARLDPCRDB有效RSB有效LDDR1RCB LDARPC+1PCBLDARLDPCPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRi110D01131617191F25 27CE有效W/R=0LDARRDB有效LDDR2CE有效W/R=0LOADCE有效W/R=0LDARALU做反运算LDRiALUBRDB有效LDDR2CE有效W/R=0LDARCE有效W/R=0LDARCE有效W/R=0LDAR12010E0114181A2026ALU做或LDRiALUBCE有效W/R=0LDDR1CE有效W/R=0LDDR1ALU做与LDRiALUBCE有效W/R=0LDDR1R0BCE有效W/R=1CE有效W/R=0LDDR20F0101151B21RCB LDARLDPCRCB LDARLDPC01ALUBLEDBALU=AW/R=1R0B有效LDDR1101C22CE有效W/R=0LDARCE有效W/R=0LDAR01ALU做加LDRiALUB1D23CE有效W/R=0LDDR2CE有效W/R=0LDDR201 用微命令表示的执行十条基本指令的微指令流程1E24ALU做加LDRiALUBALU做异或LDRiALUB0101 该图中每个框上的数字表示该条微指令在控存中的地址(与指令格式有关,也与设计者的意愿有关)。 如何在一条微指令中实现一个框中的微操作与微指令的格式密切相关。 五、编写微程序 00:00000101100000010001000001:000001011110110110000010 02:00000100110000000100000003:00000100000100000000000104:00000101111011011000110105:00000101111011011001000106:00000101111011011001001107:00000101111011011001011008:00000101101000100001011109:0000010111101101100110010A: 0000010111101101100111110B:0000010110100010001001010C:0000010110100010001001110D:0000010011100000000011100E:0000010010110000000011110F:00000101101000100001000010:10010101100110100000000111:00000100111000000001001012:00000110100000100000000113:00000100111000000001010014:00000100101000000001010115:00000111000010100000000116:00000100110100011000000117:00000101101101000001100018:11101001100110100000000119:0000010011100000000110101A: 0000010010100000000110111B:0000010111101101100111001C:0000010011100000000111011D:0000010010110000000111101E:1001010110011010000000011F:00000100111000000010000020:00000100101000000010000121:00000101111011011010001022:00000100111000000010001123: 00000100101100000010010024:01101001100110100000000125:00000101101101000010011026:10111001100110100000000127:000010011001101000000001此后就可以手动地用开关将微程序输入机器的控存。然后将控存的启动地址置为0,运行微程序, 将要执行的测试程序存入主存,也可从主存中读出指令,检查输入的指令是否正确。下面是利用该软件设计的微程序编码及各条微指令的功能分析。注意第一条微指令的微地址为01H,其它各条微指令的微地址都由上一行文字最后的数字(16进制)指定。不难看出,上面的文字说明和我们所画的用微命令表示的微程序流程图中各个框中所列的微命令是一一对应的。这个微程序可以根据用微命令表示的微程序流程图在本仿真软件上很方便地设计出来。六测试程序00H:00110000; IN R0:(SW)(R0) 01H:01000000; ADD R0,10:(RS)+(10)(RD)02H:0001000003H:01010000; STA 11,R0:(R0)1104H:0001000105H:01100000; OUT 11:11(LED)06H:0001000107H:10000001; OR RS,RD:RS或RDRD08H:10010001; NADD (addr1),(addr2):(addr1)+(addr2)RD09H:000100100AH:000100110BH:10100001; XOR (addr1),(addr2):(addr1)或(addr2)RD0CH:000101000DH:00010101 0EH:10110001; AND RS,RD:(RS)与(RD)RD 0FH:11000001; NOT RS:RS取反RD 10H:00010001 11H: 12H:00010001 13H:00010001 14H:00010001 15H:00010001七总结 经过一周左右的努力,终

温馨提示

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

评论

0/150

提交评论