《计算机组成与结构.pdf》由会员分享,可在线阅读,更多相关《计算机组成与结构.pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、刖s当今社会,计算机的信息化发展一日千里,自 2 0 世 纪 8 0 年代以来,计算机的迅速发展,特别是近几年,计算机高度集成化、网络化和多媒体化发展的速度,社会信息化不断向纵向发展,各行各业的信息化进程不断加速,计算机应用技术与其他专业的教学、科研工作结合更加紧密,各科学与以计算机技术为核心的信息技术的融合,促进了计算机科学的发展,但是计算机的基本原理始终是技术的开发所需基地,因此对我们计算机专业的学生也提出了更高的要求,不但要求掌握理论知识,更要有计算机应用能力和实践。计算机对数字化的信息进行运算处理的方式是采用一种存储工作方式,即先编写程序,再由计算机将这些程序存储起来,然后通过连接,快
2、速地执行程序实现各种运算处理,为了存储程序与数据,需要存储器,为了进行运算处理,需要运算器,为了输入程序和数据以及输出程序和数据及运算结果,需要有输入设备和输出设备,控制器则对计算机的工作精心控制管理。课程设计使培养学生综合运用所学知识发现、提出、分析和解决实际问题。锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。计算机组成与结构课程设计一方面检验本学期所学的相关知识,另一方面培养实际的动手操作能力。而此次的课程设计式设计为简单的硬件系统,它是利用FD-CES试验仪提供的 硬 件 源(功能模块、控制台等),可按设计、组装、调试等步骤研制一台微程序控制的试验计算机。1目录本科生
3、课程设计任务书.3第一章概述.71.1实验背景.7L 2设计要求和内容.7第二章实验计算机的设计.82.1 整机逻辑框图.82.1.1运算器模块的组成和工作原理.102.1.2累加器移位功能的作用.122.1.3寄存器堆模块.12寄存器堆模块逻辑框图和符号说明.12寄存器堆模块的工作原理和使用方法.13运算器结构.142.1.4指令部件模块.16指令部件模块逻辑框图和符号说明.16指令部件模块的工作原理.18指令部件模块的使用.212.3设计指令系统.232.4设计指令执行流程.242.5确定微操作控制信号及其实现方法.262.6设计微指令格式.272.7确定微程序控制方式.282.8编写各指
4、令的微程序(参见表10).282.9设计实验接线表.282.10调试程序.29第三章实验计算机的组装.323.1器件排列.323.2信号连线.323.3实验接线板安装.32第四章实验计算机的调试.334.1调试准备.334.2程序调试.33小结.34参考文献.362安徽工程科技学院本科生课程设计任务书2 0 n 届 计 算 机 科 学 与 工 程 系计 算 机 科 学 与 技 术 专业I课程设计题目:实验计算机利 用 F D-C E S 实验仪提供的硬件资源(功能模块、控制台及外设等),按设计、组装、调试等步骤研制一台微程序控制的实验计算机。I I 原始资料1、计算机组成与结构实验指导书2、计
5、算机组成与结构教材I I I 课程设计任务内容1.课程设计的目的意义:通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:、调查研究、分析问题的能力;、使用设计手册、技术规范的能力;、查阅中外文献的能力;、制定设计方案的能力;、计算机应用的能力;、设计计算和绘图的能力;、技术经济指标的分析能力;、语言文字表达的能力。2.本课题研究的主要内容:题五:研制一台性能如下的实验计算机:(1)、具有键盘和打印机两种外部设备(2)、外设和内存统一操作指令,程序查询法使用外设(3)、运算器采用单累加器多通用寄存器结构(4)、操作数寻址方式有:直接地址寻址立即数地址寻址寄存器直接寻址寄存器间接寻址
6、(5)、指令系统含如下8条指令指令编码指令助记符指令功能第一字节第二字节I7I6I5I4I3I2I1I0()00 XXX RiMOV Ri,A(A)f Ri001 XXO RiMOV A,Ri(I2.ILI0(Ri)f A010 XXX XXd7-d0MOV A,#datadataOil XXal0a9a8LDA adda(data)-*A100 XXal0a9a8d7-d0ST A,addr(A)-*addr101 XXal0a9a8d7-d0JMP addraddr-*PC110XXal0a9a8d7-d0JZ addr若 ZD=1 则 addr-pc,否则 PC加 1111 XXX Ri
7、INC A,Ri(Ri)f A(6)、能执行将键盘输入的一个二位数d3 d2 d1 d0(d=0-9)打印出来(程序自编)3.提交的成果:一份符合毕业设计论文规范的课程设计说明书课程设计统一使用学校印制的课程设计封面及课程设计袋。课程设计袋按要求认真填写,字体要工整,卷面要整洁,手写一律用碳素墨水书写。课程设计除课程设计袋的其它资料鼓励用计算机打印。课程设计按统一-顺序装订:第一章封面第二章前言第三章目录第四章课程设计任务书(须有指导教师签名及日期)第五章正文(分章、层次等,每一章从新的一页开始)第六章小结第七章参考文献装订好后放入填写好的资料袋内由各教学单位存档。相关要求可酌情参照“安徽工程
8、科技学院本科毕业设计(论文)管理办法”执行。I V课程设计的基本步骤整个课程设计的过程分为三个阶段:设计、组装、调试。第一阶段:实验计算机的设计1确定设计总要求。这包括:(1)实验计算机是否使用外设(键盘和打印机),以什么方式使用外设(程序查询1 0方式还是中断1 0方式)。(2)实验计算机运算器采用什么结构(如多通用寄存器结构、多累加器结构等)。(3)实验计算机功能和用途(如可对键盘输入的两个2位十进制数进行四则运算,由打印机输出结果)。(4)实验计算机指令系统规模(共有多少条指令,指令功能等)(5)微操作控制信号的实现方法。2设计整机逻辑框图根据设计要求,对实验仪硬件资源进行逻辑剪辑组合,
9、便可设计出该实验计算机的整机逻辑框图。3设计指令系统需确定实验计算机的指令系统由哪些指令组成,包含哪几种类型指令,指令操作数有哪儿种寻址方式,以及指令编码等。这要兼顾必要性(编程方便)和可行 性(硬件条件)。4设计指令执行流程应根据实验计算机整机逻辑图来设计指令系统中每条指令的执行流程。对于微程序控制的计算机设计指令执行流程时,要保证每条微指令所含微操作的必要性和合理性,防止微操作之间有时序冲突,为此要分析:*哪些微操作信息可以安排在同一条微指令中;*哪些微操作信息必须安排在同一条微指令中;*哪些微操作信息不能安排在同一条微指令中。5确定微操作控制信号及其实现方法本设计阶段任务是综合实验计算机
10、指令系统各指令执行流程中涉及到的微操作控制信号,统计总共需多少个微操作控制信号,每个信号的有效性,决定这些信号中哪些由软件(微指令)直接产生,哪些需用硬件(T T L)实现。6设计微指令格式微指令长24位,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号可由微码直接实现。如果采用分组编码译码,那 么n位微码通过二进位译码可实现20个互斥的微操作控制信号(即它们不可能在同一节拍内激活)。本阶段设计任务是决定双位长的微指令是否分段定义、各段段长;决定微指令各码位含义和有效性;对其中尚需用硬件作后继处理的信号加以注明.如M 0-R C,表示对M0尚需作后继处理才能产生有效的R
11、C信 号(注:RC为读内存控制信号,负脉冲有效)。对于那些允许同时有效且有效性一致的微操作控制信号可以合用一个微码表示。如果实验计算机指令系统规模较小,功能也不太复杂,那么通常情况下推荐采用全水平不编码纯控制场的微指令格式。7确定微程序控制方式这阶段设计任务包括设计各微程序入口地址的形成方法和控存的顺序控制(即下址形成)方法。8编写各指令的微程序根据指令流程和微指令格式仔细地逐条填写微指令各码位。9设计实验接线表1 0 编写调试程序实验计算机调试程序通常包括:存取类指令调试程序、传送类指令调试程序、算术逻辑类指令调试程序、跳转类指令调试程序和I/O 设备调试程序等。1 1 编写应用程序用实验计
12、算机指令系统编写实验计算机应用程序,例如四则运算程序、图形打印程序等。第二阶段:实验计算机的组装采用TTL器件实验板实施前面设计的实验接线表。FD-CES实验仪提供的TTL器件实验板参见实验指导书。在正式组装前,先检验将要使用的该实验接线板,认清该板信号接线插座上所标符号,检验将要使用的集成电路型号。第三阶段:实验计算机的调试组装无误,便可进入加电调试阶段,先静态后动态。实验计算机是一个较大的数字系统,研制实验计算机是个较复杂的过程,难免会出现这样或那样的故障,重要的是能正确地分析故障和排除故障,从而提高实验者分析和解决数字系统问题的综合能力。指 导 教 师(签 字)完成日期2 0 1 0 年
13、6 月1 8 日接受任务书学生(签字)第一章概述1.1 实验背景在学习完 计算机组成与结构课程后,为了更深入的了解,这门课的课程设计为我们提供了机会,通过自己的设计及动手,这样更能提高自己的实战能力,更好的达到了学以致用的目的。此次试验我们需要了解到,整机实验的规模大小,试验的难易程度,以及研制出的试验计算机的功能强弱,主要取决与试验计算机的指令系统利 用FD-CES提供的资源,可以设计出繁多的指令。1.2 设计要求和内容研制一台性能如下的实验计算机:(1)、具有键盘和打印机两种外部设备(2)、外设和内存统一操作指令,程序查询法使用外设(3)、运算器采用单累加器多通用寄存器结构(4)、操作数寻
14、址方式有:直接地址寻址立即数地址寻址寄存器直接寻址寄存器间接寻址(5)、指令系统含如下8条指令指令编码指令助记符指令功能第一字节第二字节I7I6I5I4I3I2I1I0000 XXX RiMOV Ri,A(A)f Ri001 XXO RiMOV A,Ri(I2.ILI0(Ri)一A010 XXX XXd7-d0MOV A,#datadata-*AOil XXal0a9a8LDA adda(data)f A100 XXal0a9a8d7-d0ST A,addr(A)faddr101 XXal0a9a8d7-d0JMP addraddr-*PC110XXal0a9a8d7-d0JZ addr若ZD
15、=1贝I J addrpc,否贝U PC力 口17111 XXX RiINC A,Ri(Ri)-A(6)、能执行将键盘输入的一个二位数d3d2d1d0(d=0-9)打印出来(程序自编)第二章实验计算机的设计2.1整机逻辑框图8ii74157x32.1.1运算器模块的组成和工作原理该模块主要由算术逻辑单元ALU、累加器A、累加器暂存器ACT、暂存器TMP、缓冲器BUFFER以及进位产生线路和累加器A判零线路等组成。算术逻辑单元ALU是由两片74181(5 7、U18)构成,它是运算器的核心。它可以对两个8位二进制数进行多种算术或逻辑运算,具体由74181的功能控制条件M,c-,S3,S2,S1,
16、S0决定。两个参数运算的数分别来自ACT和TMP(或R),运算结果可以直接送到累加器A或经BUFFER送到累加器A,以便进行移位操作或参加下次运算。累加器暂存寄存器ACT采用74377,CG为低电平且接数控制脉冲CC电平正跳时,ACT接数。ACT的输出不受控制地直接加在ALU的A组输入端参加运算。暂存器TMP采用三态输出锁存器74373o当它的接控制端CT为高电平时,接收内部数据总线IDB上的信息;当它的输出控制0 T为低电平时,其所存信息加到ALU的B组输入端参加运算。在构造运算器时,若只需控制TMP的输出,则可将CT接+5V;若不需TMP暂存信息,则可将CT接+5V、0 T接地,使其直通;
17、若0 T接+5 V,则TMP输出高阻态。输出缓冲器BUFF田 采用三态器件74245,由0 B信号控制,0 B为“0”时,BUFFER开通,此时其输出等于其输入;当OB为“1”时,BUFFER不通,此时其输出呈高阻。累加器A采用74198(1120),它具有并行接数、左移、右移、保持等功能,具体由X0,X1,SR,SL决定。CA是它的工作脉冲,正跳变有效。累加器A的主要使用方法见表15。表1累 力口器A使用法XOXICA功能00X保持原信息10t右移一位,移入SL01t左移一位,移入SR11f并行接数图1是累加器A判零线路。IIDE图2此线路利用内存模块中的与门7411(U21)对或非门742
18、7(U22)的三个输出组合,产生ZD信号。ZD为1表示累加器A当前的内容为零。当ZC电平正跳时ZD状态被存入触发器7 4 7 4(5 9),信号Z是它的输出。图2是进位发生线路SBC T?地SA47411O图3图中的74153是双四选一数据选择器。该模块将74153按上图连接,实际上第一组四选一仅对ALU的进位输出+4进行倒相,第二组四选一才根据选择参数SA、SB来决定其输出2丫的值,见下表。当进位触发器7474(1119)的计数脉冲CP正跳变时,CY等于2丫。表2 SA,SB的输出控制关系控 制输 出SASB2Y00P001P110P211Cn+4112.1.2累加器移位功能的作用累加器除具
19、有接数和保持功能外,还具有移位功能,为此指令系统可设置带进位或不带进位的移位指令。不带进位移位指令控制较简单,带进位的移位指令控制比较复杂,因为要保证累加器A和进位发生线路同步执行。下表列出了各种移位操作及所需控制。表3累加器移位功能的使用移 位 操 作控 制 方 法不-A 7 AG-A()-0使 X1X0 为 10,SR 接“0”,CA 接3带()f A7 fA6f.l A。一使 X1X0 为 01,SL 接“0,CA 接$进-A7-A6.一A。一1_1使 X1X0 为 10,SR 接 A7,CA 接 3位-A 7 fA 6 f.L A()f1_I使 X1X0 为 01,SL 接 AO,CA
20、 接 3A 7-AG-A()-C Y使 X1X0 为 10,SR 接 CY,CA 接 3带C Y f A 7fA 6.l A()一使 X1X0 为 01,SL 接 CY,CA 接 3进位-CYA7-A6A。一1_ 1使 X1X0 和 SBSA 均为 10,SR 接 CY,P2接AO,CA接3,CP见注2f C Y f A 7 fA 6 f.f A f1_1使 X1X0 和 SBSA 均为 01,SL 接 CY,P1接AO,CA接3,CP见注2注1:表中。为时序模块提供的时钟信号,详见该模块介绍。注2:表 中CP为CY触 发 器(1/2 7 4 7 4)的时钟输入,电平正跳变有效。它应受指令的控
21、制2.1.3寄存器堆模块寄存器堆模块(REG)的设置,为实验仪提供了四个8位通用寄存器。它对运算器结构、运算速度、指令系统的设计等都有密切的关系。本节主要介绍寄存器堆模块本身的工作原理和使用方法。寄存器堆模块逻辑框图和符号说明图4是寄存器堆模块逻辑框图和器件排列图12IDB7-0C Yy7474CLKCECP图4寄存器堆模块符号说明:WR 写寄存器堆 低电平有效RR 读寄存器堆 低电平有效A、B 选寄存器KRH、KRL 寄存器堆输出通路选择开关置左(下)输出到Al_U的B端置 右(上)输出到IDB寄存器堆模块的工作原理和使用方法该模块由两片74760(U12、U13)组成,提供4个8位的寄存器
22、。它们可作为运算器中的通用寄存器R0 R3使用,也可作为累加器A0 A3使用。74760是一个4 X 4存储矩阵,每个存储单元是个D触发器,它的输出带三态控制。当它的写控制端G W为“0”时,可对矩阵的某个字的4个存储单元进行并行写入,具体写哪个字由WA、W B决定。当它的读控制端GR为“0”时,可对矩阵的某个字的4个存储单元进行并行读出,具体读哪个字由RA、RB决定。模块把这两片74670的GR、GW分别相连,使它们构成4个8位长的寄存13器,合并后的GR、GW分别作为寄存器堆的读控制信号RR、写控制信号WR被引出。模块把这两片74670的WA、RA连在一起,作为信号A引出;把这两片7467
23、0的WB、RB连在一起,作为信号B引出。表2-18列出了寄存器堆模块化使用方法。表4寄存器堆模块的使用方法WRRRAB操作0100写R001写R110写R211写R31000读R001读R110读R211读R311XX输出高阻00XX非法为便于构造不同的运算结构,寄存器堆模块上设置了一组数据选择开关即KRH、KRL(以下简称为KR)。它控制寄存器堆的数据输出通路:KR置 下(左),寄存器堆输出到运算器模块中的ALU的B端;KR置 上(右),寄存器堆输出到内部数据总线IDB。运算器结构.运算器模块上的开关KA、KB、KC以及寄存器堆模块上的开关KR的不同组合,决定了实验计算机的运算器结构。从理论
24、上讲,KA、KB、KC和KR可有16种不同组合,但有实际逻辑意义的组合为以下几种(L表示置左、R表示置右):(1)KA、KB、KC和KR置为R、L、L、R,这种组合的运算器结构如图2-14ao如果不使用寄存器堆,则它简化为图e.(2)KA、KB、KC和KR置为L、R、R、R,这种组合的运算器结构如图2-14b。如果不使用寄存器堆,则它简化为图f.(3)KA、KB、KC和KR置为R、L、L、L这种组合的运算器结构如图2-14c。(4)KA、KB、KC和KR置为L、R、R、L,这种组合的运算器结构如图2-14d图5中这六种运算器结构各有其特点。(a)和(b)无明是多累加器的运算器结构,特点是工作灵
25、活、编辑方便,但运算速度较慢。(c)、(d)都是单累加器多寄存器的运算结构,(d)的特点是运算速度快,(c)的特点是工作灵活,可以方便地实现对寄存器的移位,适用于硬件乘除部件的计算机。KA KB KC KRR L L RKA KB KC KRL R R R如果将读寄存器的堆模块控制信号RR固定接高电平,使寄存器堆数据端呈高阻态,则不论开关KR置左或置右,均不能使用本寄存器堆,运算器结构都是单累加器无寄存器的,见 图2-5的(e)、(f)0这种运算器结构简单,但不能实现多累加器或多寄存器的指令,故适宜于简单的指令系统。也就是说,你如果选择单累加器无寄存器的运算器结构,那么,就应该将寄存器堆模块读
26、控制信号RR固定接高电平。2.1.4指令部件模块通常,指令部件由指令寄存器、程序计数器和指令译码器三部分组成。其中,指令寄存器用来存放计算机当前执行的指令码,其基本组成是操作码和操作数地址码;程序计数器也即指令地址寄存器,用来存放下一条指令或下一指令字节的地址码,平时处加1读数状态,当遇到转移指令且转移条件满足时接收转移地址;指令译码器用来翻译操作码,以产生相应的控制信号。指令部件模块逻辑框图和符号说明图6是指令部件模块(I-P C)逻辑框图和器件排列图。161 8 1 7 1 4 1 3 8 7 4 3r(Ull)I R 17 4 LS3 7 71 9 1 6 1 5 1 2 9 6 5 2
27、LA B1 0 8 )31 5 1 3 1 12 G(UI)1/2 7 4 LS2 4 45 7 90 A B1 0-81 1 5 2 1 0(U7)7 4 LS1 5 73BG6A/1 59 7 4(U3)x 5 4 i pPC3 CLR7 4 LS1 6 3 LOA D1 2 1 3 1 4 CLK36 4 2(UI)1/2 7 4 LS2 4 4 同1 4 1 6 1 8x zIA B1 0 81 4 1 1 5 2 1 3 1 0 6 3(U9)A7 4 LS1 5 7 G1 2 9 7 41 4 1 1 5 2 1 3 1 0 6 3(U8)S/B7 4 LS1 5 7 G1 2 9
28、 7 41 8 1 7 1 4 1 3 8 7 4 3CLK(uio)IR2 、,gg 7 4 LS3 7 41 9 1 6 1 5 1 2 9 6 5 2(U4)7 1/6 5 4 3 pk 1 5PC2 r.I _7 4 LS1 6 3 媪 一1 1 1 2 1 3 1 4 C L K(U5)7r 6PCI7 4 LS1 6 3 LOA D1 1 1 2 1 3 1 4 CLKV c c_ l JDiR 9 8 7 6 5 4 3 2c(U2)及.I 7 4 LS2 4 51 1 1 1 2 1 3 1,1 5 1 6 1 7 1 8PCO WIA B7、01R+L-Q.I或一一gswz7
29、rH丁1 923 -ROn -RF(U6)-WPG-T-UJ1 3|+-1 0-CK图6指令部件模块符号说明:GlIR 1的接数控制甩平低电平有效ClIR 1的接数控制脉冲正跳变有效CLIR 2的接数控制脉冲正跳变有效01IR1、IR 2输出到IA B的控制电低电平有效P+1CLR平PC的加1计数控制电平PC的清零控制电平高电平有效低电平有效17LPPC的接数控制电平CK PC的工作脉冲*WPC 控制台写PC信号PCO PC输出至U IAB的控制电平*R0 运行时R0=1*RF 停机时RF=1I7-I0 IR 1的状态引出,供引用高电平有效负跳变有效停机时按“启动”键后产生低电平有效注意:IR
30、2的状态未被引出;*者不用实验计算机控制。指令部件模块的工作原理由图6可见,本模块主要包含指令寄存器和程序计数器,指令译码部分需用户设计构造。下面分别介绍模块中的指令寄存器和程序计数器的工作原理和使用方法。(1)指令寄存器指令部件模块中的指令寄存器共16位,分IR1和IR 2,用来接收和寄存内部数据总路线IDB上的指令信息。IR1采用74377,IR2采用74374,它们都是8位的寄存器,但工作方式不同。当IR1(U11)的计数控制端G I为低电平且它的接数控制脉冲端。出现电平正跳变时接数,它的输出不受控制,作为I7l。被直接引出,以供使用。IR2(U10)是三态输出的8位寄存器。当它的接数控
31、制脉冲端CL出现电平正跳变时接数,当它的输出控制Q为低电平输出,01为高电平时IR2输出呈高阻。由于模块仅将IR 1的状态(I7IO)引出,故无论单字节或双字节指令,不仅操作码必须由IR1提供,而且对于寄存器堆操作类指令,寄存器选择段也必须由IR1提供,这一点在设计指令格式时应予以注意。对于双字节指令,IR1存放指令的第一字节,IR2存放指令的第二字节。第一字节可纯为指令操作码,也可包含寄存器选择码和操作数地址码高3位,视具体指令而定。当0 I为低电平时,IR 1的低三位通过74244(U 1)连IAB10-IAB8,IR2的输出连IAB7IAB0。根据本模块的指令寄存器结构特点设计的指令系统
32、,指令条数至多可达256条(当IR1为纯操作码时);指令长度可为单字节或双字节;指令属性可为M型(存储器型)、RR型(寄存器-寄存器型)、MR型(存储器-寄存器型)等等。(2)程序计数器指令部件模块中的程序计数器共1 1位,分PC1(PC03)、PC2(PC47)、PC3(PC810),由U5、U4、U3三片可预置数的4位二进制同步计数器74163构成。它具有接数、计数、清零等功能。下面分别介绍程序计数器在停机状态启动 时 的 工 作 过 程:a)停机状态时PC的工作情况停机状态启动时,由控制台的“写PC”信号使PC接收外部地址总线OAB上由控制台键入的启动地址。停机状态时按控制台上的启动键S
33、TRT,可产生“写PC”和“SR”两个脉冲信号,其时间关系如图7所示:(WPC)写 PC _SR-图 7“写 PC”和“SR”的时间关系图SR使运行触发器(U25)R 0为“1”。由于“写PC”和“SR”不同时为高电平,故当“写PC”为“1”时R 0仍 为“0”、RF为“1”。图8是启动逻辑示意图图8当RF为“1”时,加在74157的B组输入端上的OAB信息(控制台设置的启动地址)被送到PC的数据输入端D。由于“写PC”为“1”时RO为“0”、RF为“1”,故此时PC的瘦长数控制LOAD为低电平,若PC的清零端CLR为高电平,当则“写PC”电平下跳时,PC的工作脉冲端CLK电平便上跳变,它把启
34、动地址接入PC。启动地址为0003FF中任一个。b)运行时PC的工作情况1)每当需要取下条指令或取指令的下一字节时,应控制PC为计数状态。模块将PC1的进位出C接入PC2的P、T端,PC2的进位出C接入PC3的P、T端。且将PC1的P、T端作为“P+1”信号弓I出。由于运行状态时写PQ=O、R0=1,故只要控制LP=0(使74163的LOAD为高电平)、CLR=1、“P+1 ”=1,便使PC为计数状态,每当工作脉冲CK电平负跳变(PC的CLK端电平正跳变),PC便计数加1,如9所示。图9PC的高3位和低8位的状态可分别通过控制传送门74244(U1)和74245(U2)送到内部地址总线IAB,
35、见图2-10。其传送控制信号为P00,低电平有效。图102)程序运行中遇跳转指令时应控制PC为接数状态,使PC接收指令寄存器中的转移地址。图 11是 PC运行时的计数逻辑图。图 11由图11可知,执行跳转指令时应使信号0 I 为低电平(使指令寄存器中的转移地址信息被传送到PC的数据输入端),使 PC的清零信号CLR为高电平,使LP为高电平。这样,当工作脉冲CK电平负跳时PC便接受转移地址。注意:对于条件跳转指令,应当条件满足时才使LP为高电平由图11可以看出运行时PC还可接受IAB的信息,这为实现硬件堆栈和处理中断等提供了方便。指令部件模块的使用使用指令部件模块化要点可归纳为:(1)指令系统地
36、指令条数最多可达256条(若 IR1为纯操作码)。(2)指令长度可为单字节或双字节。(3)无论单字节或双字节指令,指令操作码和寄存器选择码均须由IR1提供。(4)停 机(RF=1)启 动(WPG有效)时,控制台设置的首地址经OAB置入 PC。(5)运行时(R 0=1),通常情况下,欲取下条指令或指令的下一字节时应控制PC加 1 计数。对转移指令,当转移条件成立时,应使LP信号有效,使 PC接收指令寄存器提供的转移地址。对于双字节指令,IR1存放指令第一字节,可为纯操作码,或含寄存器选择码、操作数地址高三位等。在指令第二字节为操作数地址低8位时,IR2存放该8位地址。对于带立即数的双字节指令,I
37、R2存放该8位立即数。对于需要操作寄存器堆的指令,实验时应根据IR1提供的寄存器选择段(段数和每段位数由指令格式确定)以及有关的微操作控制信号来设计构造寄存器选择信号B、A,下面举例说明。例一:若寄存器堆作为运算器的通用寄存器组,有关指令(如ADD A Ri)格式中只含一寄存器选择段R i,段长2位,占IR 1的低2位即10、I1 o则只要把10、11两位分别连接控制寄存器选择信号器B、A即可,十分简单。11、I0为0 0时选R0,11、I0为0 1时选R1,11、I0为10时选R2,11、I0为11时选R3。例二:若寄存器堆作为运算器的累加器组,有关指令如(ADD Ai.Aj)格式中含Ai、
38、A j两个寄存器选择段,每段长2位,分别占IR 1的14、I3和11、10。则可采用如图2-12所示线路来产生寄存器选择信号B、A。图中74157是二选一集成电路。图中“选Aj”信号由微指令某位控制。“选Aj”为0时,寄存器选择信号B、A由14、I3两位决定,选中某个寄存器作为Ai;“选Aj”为1时,寄存器选择信号B、A由11、I0两位决定,选中某个寄存器作为Aj。见表5和表6。表5“选A i”与A、B的关系表“选ABA0141311110表 6 14、13(I I、10)与 Ai(Aj)的关系表14(11)13(10)Ai(Aj)00AO01Al10A211A314由指令部件/1 1模 块
39、提 供 1310A,1A,IB1Y,2A2Y,2BSELECTSTROBE接到寄存器堆模块B、“选Aj”图 12222.3 设计指令系统指令类型算术/逻辑运算类指令加法、减法、逻辑与加1、减 1等移位操作类指令带进位或不带进位的移位、算术移位或逻辑环移等指令数据传送类指令如:MOV A,#dataMOV Ri,AMOV A,Ri程序跳转类指令如:JMP addrJZ addr存储器操作类指令如:LD A addrST A,addr输入输出类指令如:LD A addrST A,addrMOV Ri,AMOV A,Ri表 7单累加器多通用寄存器结构操作数寻址方式直接地址寻址LD A addaST
40、A,addr第一字节第二字节alOa9a8a7a6a5a4a3a2alaO操作码11位操作数地址立即数寻址MOV A,#data第一字节第二字节(17d6dO操作码8 位立即数data寄存器直接寻址MOV Ri,A操作码及Ri选择只寄存器间接寻址MOV A,RiRi选择码0XX操作码页面号表 823根据各条指令的功能设计如表9的指令系统指 令 助 记符指令编码指令字节数指令操作功能初 始 微 地 址(MD10-MD0)MOV Ri,A000000Aj单(A)f Ri003HMOV A,RiOOlOOOAj单(I2.Il.I0(Ri)f A007HMOV A,#data01000000data双
41、dataAOOBHLD A adda01lOOaaa单(data)f AOOFHST A,addrlOOOOaaaa7-a0双(A)faddr013HJMP addr10lOOaaaa7-a0双addr-*PC017HJZ addr1101lOaaa7-a0双若ZD=1贝lj addrpc,否贝ij PC力 口101BHINC A,RilllOOORi单(Ri)-A01FH表 92.4 设计指令执行流程根据实验计算机整机逻辑图来设计指令系统中每条指令的流程。我们知道,一条指令从内存取出到执行完,需要若干个机器周期(节拍)。任何指令的第一个机器周期都是“取指令周期”,或称为公操作周期。而一条指令
42、共需几个机器周期取决于指令在机内实现的复杂程度。24指令执行流程表10指令助记符节拍微操作控制信号MOV Ri,ATO(PC)-IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRC,B2,B3,CI,GIP+l.CKT1(A)-IDB-IR2RR.A.B.CTT2(M)-ODB-IDB-Ri(PC)+1-PCIPC,B2,B3,WR,A,BP+l.CKMOV A,RiTO(PC)-IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRC,B2,B3.CI,GIP+1,CKT1(Ri)-BUFFER-IDB-IR2RR.A.B.Cn.M,S3,
43、S2,S1,SO,OB,CLT2I2,I1,IO(IR2)-IAB-OAB(M)-ODB-IDB-A01,BIRC.B2,B3MOVA,#dataTO(PC)-IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRC,B2,B3,CI,GIP+l.CKT1(PC)-IAB-OAB(M)-ODB-IDB-IR2(PC)+1-PCIPCO.BIRC,B2,B3,CLP+1,CKLDA addaTO(PC)-IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRC,B2,B3,CI,GIP+l.CKT1(PC)-IAB-OAB(M)-ODB-IDB-I
44、R2(PC)+1-PCIPCO.Bl,RC,B2,B3,CLP+l.CKT212,11,IO(IR2)-IAB-OAB(M)-ODB-IDB-A01,BIRC,B2,B3,WR,A,BTO(PC)-IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRCtB2,B3,CLGIP+l.CKT1(PC)-IAB-OAB(M)-ODB-IDB-IR2(PC)+1-PCIPCO.BlRC,B2,B3,CLP+l.CKT212,11,IO(IR2)-IAB-OABOI.BI25ST A,addr(M)-ODB-IDB-ARC,B2,B3,WR,A,BJMP addrTO(PC)-
45、IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRC,B2.B3,CI,GIP+l.CKT1(PC)-IAB-OAB(M)-ODB-IDB-IR2(PC)+1-PCIPCO.BlRC,B2,B3,CLP+l.CKT2I2,I1,IO(IR2)-IAB-PCOI.LPJZ addrTO(PC)-IAB-OAB(M)-ODB-IDB-IR1PC)+I-PCIPCO.B1RC,B2,B3,CI,GIP+l.CKT1(PC)-IAB-OAB(M)-ODB-IDB-IR2(PC)+1-PCIPCO.BlRC,B2,B3,CLP+l.CKT2I2,I1,IO(IR2)-IAB-
46、PC01,LPINC A,RiTO(PC)-IAB-OAB(M)-ODB-IDB-IR1(PC)+I-PCIPCO.BlRC,B2,B3.CItGIP+l.CKT1(PC)-IAB-OABPCO.BlT2(M)-ODB-IDB-IR2(PC)+1-PCIRC,B2,B3,CLP+l.CK表102.5确定微操作控制信号及其实现方法(1)A LU 的操作控制信号,通常C n、M、S 3、S 2 S K S O 可由某6 位微指令码直接控制;(2)内存的读控制信号R C 宜采用负脉冲,以保证内存读出数据的可靠新;此外,写内存控制信号W C、写寄存器堆信号W R 也都宜负脉冲有效,实现方法与R C 类
47、似。(3)累加器A (7 4 1 9 8)的操作至少需要X 0、X I 和 C A 3 个控制信号,其中X 0、X I 是电平有效,C A 是电平正跳变有效;(4)指令寄存器I R 1 (7 4 3 7 7)的计数有G I 和 C I 两个控制信号;(5)对数据总线传输器件7 4 2 4 5,他的操作需要B 2、B 3 两个电平型控制信号。我们可把B 3 固定接R F使运行时允许7 4 LS 2 4 5 传送,而传送方向控制信号2 6B 2则另处理;(6)运算器模块中的进位触发器C Y (7 4 LS 7 4),它的计数条件仅是C P,当C P电平正跳变时C Y接收其D端数据。2.6设计微指令
48、格式微指令长24位,若微指令采用全水平编码纯控制场的格式,那么之多可有2 4 个微操作控制信号可由微码直接实现。如果采用分组编码译码,那 么 N 位微码通过二进位译码可实现2n个互斥的微操作控制信号(即他们不可能在同一节拍内激活)由基本字长:程序设计平台中配置的存储器容量为2 5 6*8,可知道基本字长定为8 位。指令格式:指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定义为操作数或操作数地址。指令格式为:操作码0P|源操作数|目的操作数指令类型:模型机有单操作数指令、双操作数指令和无操作数指令。操作码0 P 共四位,最多可定义16条指令。数据的传送单位为8 位数据的传送范围
49、R R R RAM RAM R寻址方式:由于指令较短,操作数字段仅两位,为了简化硬件设计,将操作数字段和目的操作数字段的寻址定义为不同的含义。源操作数字段寻址方式目的操作数寻址方式00R000R101(R0)01(R1)10I10I11D11DR 表示操作数就在寄存器中(R i)表示操作数地址在寄存器中I 指令的第二个字节为操作数或称立即寻址(D)指令的第二个字节为操作数的地址源操作数使用R0寻址目的操作数R1寻址于此试验计算机指令系统规模较小,功能也不太复杂,那么在这里,我们通常采用水平不编码纯控制场的微指令格式。2.7 确定微程序控制方式这阶段设计任务包括设计各为程序入口地址的形成方法和控
50、存的顺序控制(即下地址形成)方法。一、确定微程序入口地址形成方法二、确定控存的顺序控制方法2.8 编写各指令的微程序(参见表1 0)2.9 设计实验接线表1、运算器模块累加器A:X0-M16XI-M17C A-0SR、SL:不用累加器暂存器AC T:C C-0C G-M5暂存器 TMP:C T-、1”0T-0算术逻辑单元ALU:C n-M23M-M22S3-M21S2-M20S1-M19S0-M18输出缓冲器BUF:0B-M8进位产生线路:P2、Pl、P0:不用SB、SA-C P-M12+02、寄存器堆模块:RR-“1”28W R、A、B:不用3、指令不见模块:指令寄存器I R 1:G I-M