组成原理课程设计设计一台模型计算机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理课程设计
一、大体要求:设计一台模型计算机
具体内容: 1. 数据格式和指令系统 2. 数据通路
3. 时序系统
4. 微指令格式
5. 微程序控制器
6. 微程序流程图
7. 微程序代码表
二、模型机设计
1. 数据格式和指令系统的约定
1) 数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7 6 5 4 3 2 1 0
其中: 第7位为符号位,数值表示范围是:-1≤X<1。
2) 指令系统
模型机设计四大类指令共16条,其中包括算术逻辑指令(9条)、I/O指令(4条)、访内及转移指令(2条)和停机指令(1条)。
因为指令系总共16条指令,所以操作码是4位。
由于模型机机械字长为8位,故设计单字长指令和双字长指令供利用。
(1) 算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄放器直接寻址,其格式如下:
7 6 5 4 3 2 1 0
其中,OP-CODE为操作码,Rs为源寄放器,Rd为目的寄放器,并规定:9条算术逻辑指令的名称、功能和具体魄式。
(2) 访内指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
7 6 5 4 3 2 1 0
其中,OP-CODE为操作码,Rd为目的寄放器,D为位移量(正负都可),X为寻址方式,其概念如下:
(3) 输入输出指令
格式如下:
7 6 5
4 3 2 1 0
其中,addr=01 时,选中“INPUT DEVICE ”中的开关组作为入设备,addr=10时,选
中“OUTPUT DEVICE ”中的数码快作为输出设备。
(4) 停机指令
格式如下:
7 6 5 4
3 2 1 0
这种指令只有一条,即停机指令HALT
(5) 模型机指令系统
2. 数据通路
简单的模型计算机是由运算器、控制器、存储器、总线、输入输出和时序产生器组成。
在模型机中,咱们将要实现RAM的读写指令,寄放器的读写指令,跳转指令,ALU的加、减、与、或指令。
把通用寄放器作为累加器A,进行左、右移等指令,整体组成一个单累加器多寄放器的系统。
运算器模块主要由四片74LS18一、暂存器两片74LS273等组成。
其中74LS181可通过控制器相应的控制指令来进行某种运算,具体由S0、S一、S二、S3、M、CN来决定。
T4是它的工作脉冲,正跳变有效。
寄放器堆模块为实验计算机提供了2个8位通用寄放器。
它们用来保留操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切关系。
在该运算器中,有两片74LS181组成算术和逻辑运算。
数据的来源由74LS273寄放器提供,74LS273产生16位数据别离送入到74LS181运算器中进行相应的运算。
主存储器单元电路主要用于寄存实验机的机械指令,它的数据总线挂在外部
数据总线EXD0~EXD7上;它的地址总线由地址寄放器单元电路中的地址寄放器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由键盘提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到内部数据总线BUSD0~BUSD7,分时给出地址和数据。
它的读信号直接接地;它的写信号和片选信号由写入方式肯定。
该存储器中机械指令的读写分手动和自动两种方式。
手动方式下,写信号由W/R` 提供,片选信号由CE`提供;自动方式下,写信号由控制CPU的提供,片选信号由控制CPU 的
提供。
由于地址寄放器为8位,故接入6264的地址为A0~A7,而高4位A8~A12接地,所以其实际利用容量为256字节。
6264有四个控制线:CS1 第一片选线、CS2第二片选线、OE读线、WE写线。
CS1片选线由CE`控制(对应开关CE)、OE读线直接接地、WE写线由W/R`控制(对应开关WE)、CS2直接接+5V。
为了向主存储器RAM中装入程序或数据,而且检查写入是不是正确和能运行主存储器
中的程序,必需设计三个控制操作微程序。
·存储器读操作:拨动总清开关后,置控制开关SWB、SWA为“0 0”时,按要求连线后,持续按“启动运行”开关,可对主存储器RAM持续手动读操作。
·存储器写操作:拨动总清开关后,置控制开关SWB、SWA为“0 1”时,按要求连线后,再按“启动运行”开关,可对主存储器RAM进行持续手动写入。
·运行程序:拨动总清开关后,置控制开关SWB、SWA为“1 1”时,按要求连线后,再按“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。
IR指令寄放器用来保留当前正在执行的一条指令。
当执行一条指令时,先把指令从内存去到DR中,然后再传送至IR。
指令由操作码和地址码字段组成,为了执行任何给定的指令,必需对操作码进行P测试,通过节拍脉冲T4的控制以便识别所要求的操作。
指令译码器按照指令中的操作码译码强置微控器单元的地址,使下一条微指令指向相应的微程序的首址。
本系统有两种外部I\O设备,一种是二进制代码开关,它作为输入设备;另一种是数码块,它作为输出设备。
输入时二进制开关数据直接通过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到外部数据总线上,当写信号有效时将数据打入输出锁存器,驱动数码块显示。
按照计算机的执行原理对各个元部件进行状态控制,最终设计出模型机的数据通路框图见附件一的图1。
计算机数据通路的控制将由微程序控制器来完成,CPU从内存中掏出一条机械指令到指令执行结束的一个指令周期全数由微指令组成的序列来完成,即一条机械指令对应一个微
程序。
数据的通路从程序计数器PC的地址送到主存的地址寄放器,按照地址寄放器的内容找到相应的存储单元。
存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR中。
存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再从总线送到通用寄放器中等待加工。
数据加工进程中,两个数据是从总线上将数据别离分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。
运算结果是通过三太门送到总线上。
三态门的控制时由微控制器来控制。
3. 时序系统
本实验装置的主存模块和操作控制器模块都带有时序电路,在持续或单脉冲源的作用下时序电路能持续或单步地输出T一、T二、T3、T4、信号,并有启停控制信号。
在微程序控制器中,机械指令和微指令的时序关系比较简单,所以时序电路也比较简单。
读取一个控存单元的时间与机械指令的CPU周期的时间相同,指令周期等于CPU周期与本质了所含微指令条数的积。
时序系统的设计见附件2的图2。
节拍电位与节拍脉冲时序关系图见附件3的图3。
4. 微指令格式
微指令格式采用水平型微指令,微命令编码采用直接表示法和字段直接译码法相结合的
混合表示法,以缩短微指令长度,后继地址采用判定方式,微指令格式如下:
23 9 8 6 5 0
操作控制字段15位,通过直接或字段译码方式对数据通路进行控制。
下址字段6位,从而肯定控制存储器容量为64个单元。
判别测试字段3位,通过字段译码可用于规定7种P测试方式,和一种意外试P0。
当P0=000的情况下,按下址字段的地址直接取下一条微指令。
具体微指令格式内容见附件三的图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选中。
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-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:进行算术运算时是不是影响进位和判零标志的控制位。
选中时进行带进位运算。
LDPC:为PC计数信号选中。
5. 微程序控制器
微程序控制器的结构与微指令的格式密切相关。
它由控制存储器、微地址寄放器、微命令寄放器和地址转移逻辑几部份组成。
微地址寄放器和微命令寄放器二者的总长度即为一条微指令的长度,二者合在一路称为微指令寄放器。
微控制器寄放器利用的是两片74LS273和一片74LS175组成它们从微命令存储器中读出并保留,为后续模块提供信息。
它是按照节拍信号进行读的。
微程序控制器的工作进程:开始运行程序时
自动将取指令的微程序入口地址送入uAR ,启动控制存储器进行读操作,将微指令送入uIR 。
b. 指令的操作码部份经译码器产生一组微命令,送到有关部件控制完成一组微操作。
c. 由微地址产生逻辑或微指令的下字址给出下一条微指令的地址。
再按取微指令。
执行微指令的进程重复。
微程序控制器结构见附件3图五。
6. 微程序流程图
当拟定“取址”微指令时,该微指令的判别测试字段为P(1)测试。
由于“取址”微指令是所有微程序都利用的公用微指令,因此P(1)的测试结果出现多路分支。
控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以够一条微指令占用一个微地址单元随意填写。
注意:微程序流程图上的地址为16进制。
指令中的STA、LDA JMP BZC 是四条双字长的指令。
他们有四种寻址方式别离是直接、间接、变址、相对。
指令在操作地址的时候都是先取得地址然才能操作。
在这里设计的进程利用的也是一样的思想。
在指令译码的进程中对这四条指令利用的方式不是直接判断应该执
行什么指令,而是先判断应该利用如何的寻址方式先找到应该操作的主存地址再进行操作。
间接寻址的方式的STA指令如下:
第一步:(01H)从地址指针(PC)中取得地址,送到地址寄放器(AR)中,PC自动加一。
第二步:(02H)主存(RAM)中读出东西送到总线上,送到指令寄放器(IR)中。
第三步:(10H)将(IR)中的内容进行译码。
判断下一条指令的地址。
第四步:(12H)由于是STA指令是一条双子长指令。
所以在此再次执行第一步即可。
第五步:(06H)将主存中的数据写到DR1中。
第六步:(07H) 将R2中的内容送到DR2中。
第七步:(08H)将DR1与DR2中的数据相加后送到AR中,是STA指令操作地址。
并进行判断执行的是哪一种地址。
第八步:(20H)将相应的寄放器中的内容送到RAM中。
第九步:回到原操作。
微程序流程图、控制台流程图见附件4图6。
7. 微程序代码表
微程序代码表见附件5图7。
三、总结
本次课程设计咱们要设计一台微程序控制的模型机,使咱们对计算性能有一个整机的概念,以完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。
通过本次的课程设计使我进一步熟悉了计算机组成原理的大体知识,同时也了解了模型机设计的大体进程,掌握了一些大体的软硬件设计知识并对其进行了大体的运用。
在模型机的设计中运用了很多知识,也学习了许多设计技能。
在本次课程设计进程中,我主如果通过查阅书本及其他资料及阅读网页完成对大体功能部件的功能的了解。
在课程设计中,微控制器的设计是最为复杂的一项,在微控制器设计中译码电路和翻译电路的设计是最为困难。
微指令的设计中要求的就是精益求精,细微至极。
设计进程需要对24位的微指令中的每一名都要细微设计。
因此花的时间最多。
但是由于课程设计时间较短,所以该模型机还有许多不尽人意的地方。
二周的课程设计,提高了我的实际操作能力,从以前所学理论上升到实践,真正做到了学有所用。
设计中碰到的最为困难的也是在微指令设计中对微指令的每一名的正确判断,为了能正确识别每一名微指令,咱们再次做了组成原理实验,加深对时序和数据流向的熟悉和理解。