《计算机组成原理课程设计---——简单模型机的微程序设计》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计---——简单模型机的微程序设计(10页珍藏版)》请在金锄头文库上搜索。
1、课 程 设 计 报 告课程名称: 计算机组成原理 系 别: 姓 名: 班 级: 学 号: 成 绩: 指导教师: 开课时间:20 -20 学年 第 学期一设计题目计算机组成原理课程设计简单模型机的微程序设计二主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计 三具体要求置数指令 IN 置数开关SW(KD0KD7)的状态R0加法指令 ADD R0,,(addr):(R0)+(addr)(R0)存数指令 STA R0
2、,(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、学习,使其掌握和理解课程设计的核心内容; 3 5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现 的模型机的指令系统(原有的5条指令)和微程序设计方法; 69天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。 1011天:根据自己设计的微程序系统写出相应的课程设计实验报告 五成绩评定 六. 正文 一、模型机的CPU及系统硬件 基本模型机的CPU及系统硬件组成如图1所示:图1 模型机的CPU及系统硬件组成 各部件的功能及控制信号如下: 运算器由算逻部件ALU(8位)、暂存器DR1、DR2及
4、通用寄存器等组成。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、时序电路、控制存储器及相应的译码电
5、路组成。 程序计数器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将数据总
6、线上的数据装入。 存储器RAM用于存放程序和数据。当片选信号CE=0时,如果W/R为0,则根据AR中的地址,从存储器读出 数据并送到数据总线上;如果W/R为1,则根据AR中的地址,向存储器中写入数据总线上的数据。片选信号 CE是由微指令中的有关字段(B1B0)译码产生的。 模型机有两个外部设备:输入设备是置数开关SW,用于设置数据或地址,当微命令SWB=0时,设置的数据送到数据总线上;SWB也是由微指令中的有关字段(B1B0)译码产生的。输出设备是两位LED数码管,当微命令LEDB=1时,数据总线上的数据送到数码管显示。 二、基本模型机的指令设计 根据基本模型机的硬件设计五条机器指令:外设输入
7、指令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为单字节指令,其余均为双字节指令, 为要读写的主存储器单元的二进制地址码。 三、指令微流程分析 这十条指令的微流程图如
8、图所示运行微程序RDDR2RAMBUSBUSAR0CNOTR0DR1R0DR1PCARPC+1PCARPC+1RSDR101RAMBUSBUSPC16PCARPC+101DR1LED15RAMBUSBUSDR114RAMBUSBUSAR13PCARPC+1R0BUSBUSRAM12RAMBUSBUSAR11PCARPC+1(D1+DR2)R0100FR0DR1RAMBUSBUSDR2RAMBUSBUSARPCARPC+1010B0A09080706050403ADDXORNADDORJMPOUTSTAANDINPCARPC+1RAMBUSBUSIRP(1)测试0102SWR027251F191
9、70DRDDR2RAMBUSBUSAR求反RD20261A1801或结果RDRAMBUSBUSDR1RAMBUSBUSDR1与结果RD0E211B0101PCARPC+1PCARPC+101221CRAMBUSBUSARRAMBUSBUSAR231DRAMBUSBUSDR2RAMBUSBUSDR224011E异或结果RDDR1+DR2RD0101 用数据流表示的微程序流程运行微程序01PCBLDARLDPC02CE有效W/R=0LDIRP(1)测试NOTANDORSUBMOVJMPOUTSTAADDIN090A0B0C080706050304RSB有效LDDR1RCB LDARLDPCRDB有
10、效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做异或LDRiALUB