1、计算机组成原理课程设计一、基本要求:设计一台模型计算机具体内容: 1. 数据格式和指令系统 2. 数据通路3. 时序系统 4. 微指令格式5. 微程序控制器 6. 微程序流程图7. 微程序代码表二、模型机设计1. 数据格式和指令系统的约定1) 数据格式模型机规定采用定点补码表示法表示数据,且字长为 8 位,其格式如下:7 6 5 4 3 2 1 0符号 数 据其中: 第 7 位为符号位,数值表示范围是: -1X 1。2) 指令系统模型机设计四大类指令共 16 条,其中包括算术逻辑指令(9 条) 、IO 指令(4 条) 、访内及转移指令(2 条)和停机指令(1 条) 。因为指令系统共 16 条指
2、令,所以操作码是 4 位。由于模型机机器字长为 8 位,故设计单字长指令和双字长指令供使用。(1) 算术逻辑指令设计 9 条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 4 3 2 1 0OP-CODE Rs Rd其中,OP-CODE 为操作码,Rs 为源寄存器,Rd 为目的寄存器,并规定:9 条算术逻辑指令的名称、功能和具体格式。(2) 访内指令及转移指令模型机设计 2 条访问指令,即存数(STA)、取数(LDA),2 条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:7 6 5 4 3 2 1 00 0 X OP-CODE
3、 RdD其中,OP-CODE 为操作码, Rd 为目的寄存器,D 为位移量 (正负均可),X 为寻址方式,其定义如下:寻址方式 有效地址 说明00011011E=DE=(D)E=(R2)+DE=(PC)+D直接寻址间接寻址R2 变址寻址相对寻址(3) 输入输出指令格式如下: 7 6 5 4 3 2 1 0OP-CODE addr Rd其中,addr=01 时,选中“INPUT DEVICE”中的开关组作为入设备,addr=10 时,选中“OUTPUT DEVICE”中的数码快作为输出设备。(4) 停机指令格式如下: 7 6 5 4 3 2 1 0OP-CODE 0 0 0 0这类指令只有一条,
4、即停机指令 HALT (5) 模型机指令系统指令类型 操作名称及用法 功能 指令格式MOV Rs,Rd 传送 (Rs)-Rd 1 0 0 0 Rs RdADD Rs,Rd 加法 (Rs)+(Rd)-Rd 1 0 0 1 Rs RdSUB Rs,Rd 减法 (Rs)-(Rd)-Rd 1 0 1 0 Rs RdINC Rd 自增 (Rd)1Rd 1 0 1 1 0 0 RdAND Rs,Rd 与 (Rs)&(Rd)-Rd 1 1 0 0 Rs RdCOM Rs,Rd 比较 (Rd)-(Rs)的结果影响状态位:若N=1,则 RsRd1 1 0 1 Rs RdCLA Rd 清零 0-Rd 1 1 1
5、0 0 0 RdRRC Rd 带进位右循环一位0-MSB-MSB-1-LSB-C-11 1 1 1 0 0 Rd算术逻辑指令RLC Rd 带进位左循环一位CE 0 0 X 0 0 RdDLDA X,D,Rd 取数 E-Rd 0 0 X 0 1 RdDJMP X,D 无条件跳转 E-PC 0 0 X 1 0 0 0D访内及转移指令BZC X,D 若条件位Z=1 或 C=1,则跳转E-PC 0 0 X 1 1 0 0 DIN addr,Rd 输入 (addr)-Rd 0 1 0 0 0 1 RdI/O 指令OUT addr,Rd 输出 Rd-(addr) 0 1 0 1 1 0 Rd停机指令 HA
6、LT 停机 0 1 1 0 0 0 0 02. 数据通路简单的模型计算机是由运算器、控制器、存储器、总线、输入输出和时序产生器组成。在模型机中,我们将要实现 RAM 的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。把通用寄存器作为累加器 A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。运算器模块主要由四片 74LS181、暂存器两片 74LS273 等构成。其中 74LS181 可通过控制器相应的控制指令来进行某种运算,具体由 S0、S1、S2、S3、M 、CN 来决定。T4 是它的工作脉冲,正跳变有效。寄存器堆模块为实验计算机提供了 2 个 8 位通用寄存器。
7、它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切关系。在该运算器中,有两片 74LS181 组成算术和逻辑运算。数据的来源由 74LS273 寄存器提供,74LS273 产生 16 位数据分别送入到 74LS181 运算器中进行相应的运算。主存储器单元电路主要用于存放实验机的机器指令,它的数据总线挂在外部数据总线 EXD0EXD7 上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由 8 个 LED 灯 LAD0LAD7 显示,高电平亮,低电平灭;在手动方式下,输入数据由键盘提供,并经一三态门 74LS245(U51)连至外
8、部数据总线EXD0 EXD7,实验时将外部数据总线 EXD0EXD7 用 8 芯排线连到内部数据总线BUSD0BUSD7,分时给出地址和数据。它的读信号直接接地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分手动和自动两种方式。手动方式下 ,写信号由 W/R 提供,片选信号由 CE提供;自动方式下,写信号由控制 CPU 的 P1.2 提供,片选信号由控制 CPU 的 P1.1提供。由于地址寄存器为 8 位,故接入 6264 的地址为 A0A7 ,而高 4 位 A8A12 接地,所以其实际使用容量为 256 字节。6264 有四个控制线:CS1 第一片选线、CS2 第二片选线、O
9、E 读线、WE 写线。CS1 片选线由 CE控制(对应开关 CE) 、OE 读线直接接地、WE 写线由 W/R控制(对应开关 WE) 、CS2 直接接+5V。为了向主存储器 RAM 中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。存储器读操作:拨动总清开关后,置控制开关 SWB、SWA 为“0 0”时,按要求连线后,连续按“启动运行”开关,可对主存储器 RAM 连续手动读操作。存储器写操作:拨动总清开关后,置控制开关 SWB、SWA 为“0 1”时,按要求连线后,再按“启动运行”开关,可对主存储器 RAM 进行连续手动写入。运行程序:拨动总清开关后
10、,置控制开关 SWB、SWA 为“1 1”时,按要求连线后,再按“启动运行”开关,即可转入到第 01 号“取址”微指令,启动程序运行。IR 指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把指令从内存去到 DR 中,然后再传送至 IR。指令由操作码和地址码字段组成,为了执行任何给定的指令,必须对操作码进行 P 测试,通过节拍脉冲 T4 的控制以便识别所要求的操作。指令译码器根据指令中的操作码译码强置微控器单元的地址,使下一条微指令指向相应的微程序的首址。本系统有两种外部 IO 设备,一种是二进制代码开关,它作为输入设备;另一种是数码块,它作为输出设备。输入时二进制开关数据直接经过
11、三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当写信号有效时将数据打入输出锁存器,驱动数码块显示。根据计算机的执行原理对各个元部件进行状态控制,最终设计出模型机的数据通路框图见附件一的图 1。计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。数据的通路从程序计数器 PC 的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。存储器中的数据是指令时,那么数据是从 RAM 送到总线,再从总线送到 IR 中。 存储器中的
12、数据是需要加工的数据时,那么数据是从 RAM 送到总线,再从总线 送到通用寄存器中等待加工。 数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是通过三太门送到总线上。 三态门的控制时由微控制器来控制。3. 时序系统本实验装置的主存模块和操作控制器模块都带有时序电路,在连续或单脉冲源的作用下时序电路能连续或单步地输出 T1、T2、T3、T4、信号,并有启停控制信号。在微程序控制器中,机器指令和微指令的时序关系比较简单,所以时序电路也比较简单。读取一个控存单元的时间与机器指令的 CPU 周期的时间相同,指令周期等于 CPU 周期与本
13、质了所含微指令条数的积。时序系统的设计见附件 2 的图 2。节拍电位与节拍脉冲时序关系图见附件 3 的图 3。4. 微指令格式微指令格式采用水平型微指令,微命令编码采用直接表示法和字段直接译码法相结合的混合表示法,以缩短微指令长度,后继地址采用断定方式,微指令格式如下:23 9 8 6 5 0控制字段(15) 判别字段(3 位) 下址字段(6 位)操作控制字段 15 位,通过直接或字段译码方式对数据通路进行控制。下址字段 6 位,从而确定控制存储器容量为 64 个单元。判别测试字段 3 位,通过字段译码可用于规定 7 种 P 测试方式,以及一种不测试 P0。当 P0=000 的情况下,按下址字
14、段的地址直接取下一条微指令。具体微指令格式内容见附件三的图 4。S3,S2,S1 ,S0,M,Cn:为运算器 74LS181 芯片的控制信号。WE:为 W/R 信号对 RAM 和 OUT 进行读写操作,高电平为写有效。A9,A8:为对外部设备(RAM,OUTPUT,INPUT)地址进行译码。A 字段内容具体见附件 3。LD299:寄存器选中,具体选择同 IR 的最低 2 位(I1,I0)配合。当 I1I0=00 时为输入到 R0 寄存器;当 I1I0=01 时为输入到 R1 寄存器;当 I1I0=10 时为输入到 R2 寄存器;LDDR1:暂存器 DR1 选中。LDDR2:暂存器 DR2 选中
15、。LDIR:指令寄存器 IR 选中。LOAD:总线数据直接装载在 PC 计数器中。LDAR:地址寄存器 AR 选中。B 字段内容具体见附件 3。B- RS:为源寄存器输出选中。具体选择同 IR 的 3,4 位( I3,I2)配合。当 I3I2=00 时为输入到 R0 寄存器;当 I3I2=01 时为输入到 R1 寄存器;当 I3I2=10 时为输入到 R2 寄存器;RD-B:为目的寄存器输出选中。具体选择同指令寄存器(IR)的最低 2 位(I1,I0 )配合。当 I1I0=00 时为 R0 寄存器输出;当 I1I0=01 时为 R1 寄存器输出;当 I1I0=10 时为 R2 寄存器输出;RI
16、-B:为变址寄存器选中。本机固定为 R2。299-B:为移位寄存器输出选中。ALU-B:逻辑运算单元结果输出。PC-B: PC 计数器输出。P 字段:P(1):分支判断 1,和指令寄存器(IR)的高四位(IR7-IR4)作为测试条件。可分16 个分支。P(2):分支判断 2,和指令寄存器(IR)的三四位(IR3,IR2)作为测试条件,有4 个分支。P(3):分支判断 3,和 CY 或 ZI 作为测试条件,有两个分支。P(4):分支判断 4,和开关 SWB,SBA 作为测试条件,有 4 个分支。用于控制台控制区(读程序,写程序,和运行程序) 。AR:进行算术运算时是否影响进位和判零标志的控制位。
17、选中时进行带进位运算。LDPC:为 PC 计数信号选中。5. 微程序控制器微程序控制器的结构与微指令的格式密切相关。它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。 微控制器寄存器使用的是两片 74LS273 和一片 74LS175 构成它们从微命令存储器中读出并保存,为后续模块提供信息。它是根据节拍信号进行读的。微程序控制器的工作过程:开始运行程序时a.CPU 自动将取指令的微程序入口地址送入 uAR ,启动控制存储器进行读操作,将微指令送入 uIR 。b. 指令的操作码部分经译码器
18、产生一组微命令,送到有关部件控制完成一组微操作。 c. 由微地址产生逻辑或微指令的下字址给出下一条微指令的地址。再按取微指令。执行微指令的过程重复。微程序控制器结构见附件 3 图五。6. 微程序流程图当拟定“取址”微指令时,该微指令的判别测试字段为 P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此 P(1)的测试结果出现多路分支。控制台操作为 P(4)测试,它以控制台开关 SWB、SWA 作为测试条件,出现了 3 路分支,占用 3 个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。注意:微程序流程图上的地址为 16 进制。指
19、令中的 STA、LDA JMP BZC 是四条双字长的指令。他们有四种寻址方式分别是直接、间接、变址、相对。指令在操作地址的时候都是先得到地址然才能操作。在这里设计的过程使用的也是同样的思想。在指令译码的过程中对这四条指令使用的方式不是直接判断应该执行什么指令,而是先判断应该使用怎样的寻址方式先找到应该操作的主存地址再进行操作。间接寻址的方式的 STA 指令如下:第一步:(01H) 从地址指针 (PC)中得到地址,送到地址寄存器(AR)中,PC 自 动加一。第二步:(02H) 主存(RAM)中读出东西送到总线上,送到指令寄存器(IR) 中。第三步:(10H) 将(IR)中的内容进行译码。判断下
20、一条指令的地址。第四步:(12H)由于是 STA 指令是一条双子长指令。所以在此再次执行第一步即可。第五步:(06H)将主存中的数据写到 DR1 中。第六步:(07H) 将 R2 中的内容送到 DR2 中。第七步:(08H)将 DR1 与 DR2 中的数据相加后送到 AR 中,是 STA 指令操作地址。并进行判断执行的是哪种地址。第八步:(20H)将相应的寄存器中的内容送到 RAM 中。第九步:回到原操作。微程序流程图、控制台流程图见附件 4 图 6。7. 微程序代码表微程序代码表见附件 5 图 7。三、总结本次课程设计我们要设计一台微程序控制的模型机,使我们对计算机能有一个整机的概念,以完成
21、对计算机组成原理这门课程的综合应用,达到学习本书的作用。通过本次的课程设计使我进一步熟悉了计算机组成原理的基本知识,同时也了解了模型机设计的基本过程,掌握了一些基本的软硬件设计知识并对其进行了基本的运用。在模型机的设计中运用了很多知识,也学习了许多设计技巧。在本次课程设计过程中,我主要是通过查阅书本及其他资料及浏览网页完成对基本功能部件的功能的了解。在课程设计中,微控制器的设计是最为复杂的一项,在微控制器设计中译码电路和翻译电路的设计是最为困难。微指令的设计中要求的就是精益求精,细微至极。设计过程需要对 24 位的微指令中的每一位都要细微设计。因此花的时间最多。但是由于课程设计时间较短,所以该模型机还有许多不尽人意的地方。二周的课程设计,提高了我的实际操作能力,从以前所学理论上升到实践,真正做到了学有所用。设计中遇到的最为困难的也是在微指令设计中对微指令的每一位的正确判断,为了能正确识别每一位微指令,我们再次做了组成原理实验,加深对时序和数据流向的认识和理解。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。