一台模型机的总体设计.docx
- 文档编号:9784996
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:15
- 大小:24.63KB
一台模型机的总体设计.docx
《一台模型机的总体设计.docx》由会员分享,可在线阅读,更多相关《一台模型机的总体设计.docx(15页珍藏版)》请在冰豆网上搜索。
一台模型机的总体设计
哈尔滨师范大学
学 年 论 文
题目一台模型机的设计
学生
指导教师
年级2009级
专业计算机科学与技术
系别计算机科学与技术
学院计算机科学与信息工程学院
哈尔滨师范大学
2012年 月
论 文 提 要
计算机的发展突飞猛进,日新月异,短短50年中,已经历了电子管计算机、晶体管计算机、集成电路计算机和大规模/超大规模集成电路计算机等四代的发展历程。
各代计算机的更替除主要表现在组成计算机的电子元器件的更新换代外,还集中表现在计算机系统结构和计算机软件技术的改进上。
正是这几方面的飞速进步,才使得计算机的功能、性能一代比一代明显提高;而体积一代比一代明显缩小,价格一代比一代明显降低。
今天,一台计算机的性价比远比第一代电子管计算机的高出了成千上万倍。
我们掌握其中的原理设计出一台教学用的模型机是必然的趋势,掌握其中的原理,我们采取较简单的组成模式,以尽量简洁的设计来完成这一模型机。
一台模型机电而设计与实现
摘要:
自从1946年美国宾夕法尼亚大学研制出世界上第一台数字电子计算机ENIAC(ElectronicNumericalIntegratorAndCalculator)以来,计算机的发展突飞猛进,日新月异。
短短50年中,已经历了电子管计算机、晶体管计算机、集成电路计算机和大规模/超大规模集成电路计算机等四代的发展历程,并自80年代中期起,开始了以模拟人的大脑神经网络功能为基础的第五代计算机的研究。
模型机的结构非常复杂,如果对模型机的结果和工作原理不了解的话在做模型机实验时将非常困难,所以在这里对模型机的结构、工作过程和控制器的控制原理等做详细介绍,以让大家更好的进行模型机实验,从而进一步理解计算机组成原理这门课程中的知识。
关键词:
模型机;微指令;控制器;寻址方式
一、模型机的结构
模型机主要由运算器、控制器、存储器、数据总线、输入输出和时序产生器组成,模型机的结构图如图1-1所示。
图1-1模型机结构图
运算器。
运算器又由运算逻辑单元、数据暂存器、通用寄存器组成。
在图1-1模型机的结构图中,ALU、ALU_G和74299组成运算逻辑单元,其中ALU是由2个4位的74LS181串联成8位的运算器,ALU_G是ALU-G实现用于控制ALU的运算结果的输出,74299用74LS299实现用于对ALU的运算结果进行移位运算;数据暂存器在图1-1中由DR1和DR2组成,DR1和DR2都是用74LS273实现,它们用于存储运算器进行运算的两个操作数;通用寄存器在图1-1中由R0、R1和R2组成,R0、R1和R2都是用74LS374实现,它们用作目的寄存器和源寄存器。
控制器。
控制器由微程序控制器、指令寄存器、地址寄存器和程序计数器组成。
在图1-1中微程序控制器表示为MControl,它里面存放了指令系统对应的全部微程序,微程序控制器是由微控制存储器和3个138译码器实现(A138、B138和P138),用于产生控制信号来控制各个组件的工作状态;在图1-1中指令寄存器表示为IR,指令寄存器由一个74LS273实现,用于存放当前正在执行的指令;在图1-1中地址寄存器表示为AR,地址寄存器由一个74LS273实现,在读取或者写入存储器时用于指明要读取或写入的地址;程序计数器在图1-1中由PC_G和PC组成,其中PC是由八位二进制同步计数器实现,用于产生程序指针pc的下一个值,PC_G由PC-G实现,用于存储程序的程序指针pc的值。
存储器。
存储器在图1-1中表示为MEN,存储器用静态随机存储器6116实现,用来存储用户程序和数据。
数据总线。
数据总线用于连接运算器、存储器、输入输出等模块,数据总线由ccp_DataBus实现。
输入输出。
输入输出类似于键盘和显示器。
时序产生器。
在图1-1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图1-2所示,时序产生器一个周期中产生四个脉冲信号T1~T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。
图1-2时序产生器
二、模型机的总体设计
(一)模型机设计概述
中央处理器(CPU)是计算机系统的核心部件,它包括运算器与控制器两大部分。
在早期的计算机中,器件集成度低,运算器与控制器时两个相对独立的部分,各占一至数块插件,甚至各占一至数个机柜。
随着大规模、超大规模集成电路技术的发展,逐渐趋向于CPU作为一个整体。
在微型计算机中,将CPU集成为一块芯片,称为微处理器。
控制器是全机的指挥系统,它是根据工作程序的指令序列、外部请求、控制台操作,去指挥和协调全机的工作。
通俗说,控制器的作用是解决全机在什么期间、根据什么条件、发出哪些微命令、做什么事。
在这个描述中提出了计算机操作的时间条件、逻辑依据。
所以我们应该在CPU一级上建立整机的概念。
CPU的逻辑组成应该包括运算器、运算控制器、存储器以及其它必要的逻辑部件,图2-1给出了简单CPU的逻辑框图,现说明如下:
图2-1简单处理器原理框图
运算器ALU和进位出发器C-FF
运算器是32位算术逻辑运算单元,它对两个32位二进制数(S)和(D)进行处理,进位输入端C0所加的是控制器送来的C1信号;运算结果的低32位直接输出,而运算结果的进位C4被传送到并寄存在进位出发器C-FF中。
运算控制器CON
控制器产生一系列正确的时序逻辑信号,控制器各组成部件协调一致的工作,实现两个32位操作数相乘运算。
数据缓冲寄存器MDR
这是一个容量为32×8的寄存器组,存放运算过程中读出和写入的数据。
寄存器RS
寄存器RS存放处理器的一个操作数(S)。
寄存器RD
寄存器RD存放处理器的另一个操作数(D)。
指令计数器PC
指令计数器PC存放下一条被执行指令的地址。
指令寄存器IRAM
指令寄存器IRAM存放用户程序的容量为32×8的RAM,它由开关S的状态控制指令的写入或读出操作。
指令寄存器IR
存放被执行指令的操作码可,直接供控制器判别决策。
运算结果显示器DLU和PC显示器
它们都是十六进制显示部件。
节拍发生器
产生处理器的时钟信号。
SSC为单步/连续控制输入,控制节拍发生器输出是单脉冲或连续脉冲信号。
数据选择器MUX1
该部件实现对外部输入操作数和ALU输出数据两者之间的选择,并将选种数据送往数据缓冲寄存器MDR去。
一组输入开关S31~S0是为提供外部输入操作数而设置的。
综上所述,处理器亦是由控制器和受其控制的电路两大部分所组成,将以自上而下的设计方法来设计这些电路。
三、模型机指令系统设计
(一)指令格式设计概述
计算机的工作,基本上体现为指令。
一台计算机所有执行的全部指令,称为该机指令系统或称为指令集合。
指令系统表明一台计算机具有哪些硬件功能,因而在很大程序上决定着如何使用计算机。
CPU的基本任务是解释执行指令代码,所以指令系统又在很大程度上决定着计算机如何工作,它是硬件的逻辑设计基础,与CPU的总体结构及6设计思想密切相关。
因此我们将指令系统视为CPU的硬件与软件间的界面所在,即是设计CPU也是了解计算机的基本出发点。
一条指令一般应提供两方面的信息:
一是指明操作的性质,即要求CPU做何种操作,有关代码称作操作码。
二是给出与操作数有关的信息,如直接给出操作数本身或指明操作数的来源、运算结果存放在何处,以及下一条指令从何处取得等。
由于在大多数情况下指令中是给出操作数的源地址,仅在个别情况下一直接给出操作数本身,所以第二部分往往称为操作码。
操作码和地址码各由一定的二进制代码组成,它们的结构与组合形成构成了指令格式,最基本的指令格式表示为:
操作码OP
地址码AD
其中:
操作码OP指出该指令执行什么性质的操作和具有何种功能。
地址码AD指出所在存储器或积存器的地址。
(二)指令格式结构设计
两操作数指令格式结构
在许多情况下,两个操作数运算后有一个不需要保留。
例如两个数相乘时,部分积累加和代替原来的累加和,后者不需要保留;两数相除,被除数或原来的余数也总是被新的余数所代替,没有保留的必要。
因此,可以将运算结果访在不需要保留的那个操作数的地址内。
这样指令中又可以省去专门存放结果的地址D3,使指令地址结构进一步简化。
二地址指令的功能如下:
OP
D1
D2
目的操作数地址源操作数地址
功能:
(D1)OP(D2)→D1
(PC)+1→PC
D1指示的地址先放操作数,后放运算结果,所以称D1为目的操作数地址或结果操作数地址、终点操作数地址等。
双操作数指令格式的优点是可以方便地简化为指令较短的单操作数指令(只有目的操作数)。
其具体的双操作数指令的格式如下:
3126241211650
操作码
寄存器号
寻址方式
寄存器号
寻址方式
源目的
图3-1双操作数指令格式
第25位~31位表示操作码,第12~24位为源操作数地址段,地0~11位为目的操作数地址段。
在每个地址段中又划分为两个部分,其中6位表明寻址方式类型,另外6位给出所指定的寄存器编号。
单操作数指令格式
地址指令有下列两种状态:
(1)只有目的操作数的单操作数指令:
OP
D1
目的操作数地址
功能
OP(D1)→D1
(PC)+1→PC
上式描述的操作是:
按地址D1取出操作数,按操作码OP规定的操作进行运算,如加1、减1、求补等,再将运算结果存入原单元(即D1指定的)中。
这种指令只对一个操作数进行运算处理,所以指令中可以只给出一个显地址。
(2)隐含约定目的地的双操作数指令
在许多机器特别是微型计算机中,常采用这种方法:
由一个事先约定的寄存器提供目的操作数,运算结果也将存放于该寄存器中。
这样的寄存器一般称为累加器,累加器号并不出现在指令中,是隐含约定的。
于是双操作数指令也可以采用单地址指令格式。
OP
D1
目的操作数地址
功能:
(D1)OP(A)→A
(PC)+1→PC
上述地址描述的操作是:
按地址D1取出的源操作数,从约定的累加器A中取出目的操作数,两数按操作码OP指定操作进行运算,结果存入累加器A。
由此可以得出单地址指令的具体格式如下:
操作码
扩展操作数
寄存器号
寻址方式
3125241211650
目的
图3-2单操作数指令格式
第0位~第11位为目的字段,12位~24位为扩展操作码用,即向上兼容扩展。
因此单操作数指令格式可视为双操作数指令格式的一种特例。
(3)跳转指令格式设计
零地址指令状态
在零地址指令状态中,只给出操作码,不给出任何显地址,所有地址均隐含约定。
对隐含指定的寄存器内容进行操作。
如OP(A)→A
这是一条单地址指令,由隐含约定的累加器A提供操作数,结果放回累加器A中。
指令中不出现寄存器号。
对堆栈(栈顶单元)内容进行操作,如PUSH(压入堆栈)、POP(由堆栈弹出)。
由于堆栈结构中用堆栈指针寄存器SP指示栈顶单元地址,且对堆栈操作一般是对栈顶单元进行,所以指令中只需给出堆栈操作的操作码,如压入、弹出,不必给出栈顶单元地址由SP内容给出,压入时的操作数来自隐含约定的累加器A,弹出时操数存入累加器A。
跳转指令的具体格式如下:
31252412116543210
操作码
寄存器号
寻址方式
……
N
Z
V
C
转移地址转移条件
图3-3转移指令格式
31~25位操作码,第12~24位为给出的转移地址(也分为寻址方式与寄存器号两个部分),第0~11位微转移条件段(其中0~3位有一部分为1,表明转移条件——进位C、溢出V、结果为零Z,结果为负N。
第5位为表明转移方式,若为0,表示相关标志为0转移;若为1,表示相关标志位为1转移。
若0位~5为位全0,表示无条件转移。
第6位~11位为扩展位,留以后使用。
(三)寻址方式结构设计
实验模型子算计的四种寻址方式
(1)寄存器(8位)寻址,以GR1,B表示,I=0,1,2,3。
(2)直接寻址。
ADR表示内存直接地址,位11位二进制整数(0≤ADR≤2047)。
(3)变址寻址。
(X)表示X地址中的内容,如果X是通用寄存器时,(X)是通用寄存器中的内容,其中GR1,GR2,GR3兼作变址寄存器,以XRI表示:
[]表示被包围的部分可以省略,XR省略时,表示不使用变地址寄存器。
E表示有效地址。
形成有效地址的规则是:
E=ADR[+(XR)](mod256)
(4)立即数寻址
实验模型计算机指令集中,取地址指令的E→GR和进栈指令的E→(SP)操作,若不把E视为地址,而视为操作数,其源寻址方式就是立即寻址,其功能分别是将立即数送往通用寄存器或压入堆栈栈顶。
指令系统设定
指令系统状态标志框图:
图3-4系统标志位指令格式
(以下是参照COMET机的CASL语言,实验模型计算机指令系统可按表1给定)
名称
书写格式
功能
指令码
操作数
取数
LDGR,ADR[,XR]
(E)→GR
存数
STGR,ADR[,XR]
(GR)→E
取地址
LEAGR,ADR[,XR]
E→GR
加法
ADDGR,ADR[,XR]
(GR)+(E)→GR
减法
SUMGR,ADR[,XR]
(GR)-(E)→GR
逻辑乘
ANDGR,ADR[,XR]
(GR)∧(E)→GR
逻辑加
ORGR,ADR[,XR]
(GR)∨(E)→GR
按位加
EORGR,ADR[,XR]
(GR)⊕(E)→GR
算术比较
CPAGR,ADR[,XR]
视(GR)和(E)为用补码表示的带符号二进制数,如(GR)>(E0则00→FR;如(GR)=(E)则01→FR;如(GR)<(E),则10→FR
逻辑比较
CPLGR,ADR[,XR]
视(GR)和(E)为用无符号的二进制负整数。
如(GR)>(E)则00→FR;如(GR)=(E)则01→FR如(GR)<(E)则10→(FR)
算术左移
SLAGR,1
把(GR)向右或向左移动1位。
算术右移时空出的位置成原第0位的0或1;算术左移时空出的位置被置成0;逻辑移位。
GR中的8位一起移动,空出的位置0。
算数右移
SRAGR,1
逻辑左移
SLLGR,1
逻辑右移
SRLGR,1
无条件转
JMPADR[,XR]
无条件转向有效地址,E→PC
大于等于
JPZADR[,XR]
FR=0001
根据FR的值转向有效地址E,即E→PC;不转移时执行下一条指令,即(PC)+2→PC
小于转
JMIADR[,XR]
FR=10
不等转
JNZADR[,XR]
FR=0010
等于转
JZEADR[,XR]
FR=01
进栈
PUSHADR[,XR]
(SP)-1→SP,E→(SP)
退栈
POPGR,0
((SP))→GR,(SP)+1→SP
调用
CALLADR[,XR]
形成有效地址E后依次执行:
(SP)-1→SP,E→PC
返回
RET0
((SP))→GR,(SP)+1→SP
栈顶初值
LSPADR[,XR]
E→SP
停机
EXIT
封锁时序电路
四、微程序控制器设计与实现
处理器的控制器比较复杂,不仅因为它的输入变量和输出函数数目可观,而且由于它必须产生一系列控制时序,使三类指令得以正确运行。
控制器的功能是将指令码译成控制信号,并按操作次序发送到有关部件,指挥各部件执行指令规定的操作。
在确定指令系统和数据通路的基础上,即可进行控制器的设计。
控制器一般分为指令部件,地址部件,时序部件,操作控制部件和中断控制部件。
为了降低实验模型计算机设计,实现的难度,可不设置中断控制部件。
其微程序控制器的框图如图所示。
下面分别对它的指令部件,地址部件,时序部件和操作控制部件进行分析。
(一)微程序控制器的指令部件
微程序控制器的指令部件中,指令寄存器,程序计数器和程序状态字寄存器,与硬连接控制器的这三个部分组成完全相同,其译码器合并在操作控制部件中讨论。
图4-1微程序控制原理图
微程序控制器的地址部件
为减少元器件,实验模型计算机不设置专门的地址运算器,而借用运算器中的算术逻辑部件,这与实验模型计算机硬件连线控制器的讨论完全相同。
地址部件主要考虑如下问题:
寄存器寻址,内存直接寻址和变址寻址
地址部件的这部分内容,主要在于通用寄存器读地址的传送控制条件。
在硬连线控制器中,用周期状态IXT=1或者=0来区分,是作为XR还是作为GR0在微程序控制器中,不设置周期状态,只需要安排不同的微命令来加以控制。
具体可用(PC)+1→PC和I判断这个微命令。
堆栈寻址
实验模型计算机采用味程序控制方法,目的在于以较少的元器件实现一个较完备的指令集。
因为指令集合中有堆栈操作指令,子程序调用和返回指令,而子程序调用和返回指令要用到堆栈,所以实验模型计算机必须设置堆栈指针寄存器SP中,实验模型计算机不设置地址部件专用的运算器,而堆栈寄存器SP中,地址的增减需要使用运算器;用一个通用寄存器来做堆栈指针寄存器SP,是本来就少的通用寄存器更不敷用,况且在通用寄存器的地址连接时,又要考虑GR3的特殊性。
为避免这些麻烦,推荐使用8位二进制加/减计数器74779,其控制信号为加计数、减计数、置入。
微程序控制器自身的控制信号
综合对指令部件和地址部件的讨论,微程序控制器自身需要的操作控制信号(时序控制信号在时序部件中讨论)如下表所示。
微程序控制器自身的控制信号
信号
功能
信号
功能
LH
指令置入指令寄存器高字节
LD
指令置入指令寄存器中间字节
LL
指令置入指令寄存器低字节
IG
数据直接(变址)地址码送总线
LS
置入堆栈地址初值
SG
栈顶地址码送总线
SI
堆栈地址置1
SD
堆栈地址减1
LP
置入程序地址值
PI
程序计数器计数
PA
程序地址码送总线
实验模型计算机微程序控制器的时序部件
课程设计中将要设计和实现的事完全指令集、用微程序方式组成控制器的实验模型机。
其时序部件中的脉冲源与基本部件实验的硬连线控制器要求完全相同。
但是,启停逻辑电路需要增加一个“单微指令”的控制开关;节拍电位和工作脉冲发生器部分则有所不同,在微程序控制器中,不再划分机器周期状态,而是以执行一条微程序的需要,确定微周期时间,其中包括取出微指令和执行微指令两部分时间。
若微指令长度为n个字节,存放在按字节寻址的控制存储器芯片中,取一条伪指令需要分n次进行;执行一条微指令仍用两个节拍。
控制存储器结构
微指令一般都较长,控制存储器的字长往往不能正好满足。
为了解决这个问题,可用数据快\只读存储器芯片进行字扩充如图示;也可将一条指令分成数段,重新开始一次新的循环。
微指令的读取控制
将微指令从控制存储器中读出,并置入微指令寄存器的控制信号,直接由时序部件产生:
m4—m7分四次将微指令的四个字节,置入微指令寄存器μIR的四个8位寄存器;每取一个字节的微指令,微程序计数器μPC+1,微程序计数器加1的信号用m3控制。
在图纸设计阶段,应尽可能地使设计的逻辑图正确,将可能发生的错误,在图纸设计阶段予以排除。
排除错误的方法有两个:
一是根据理论进行分析;二是使用EDA仿真。
课程设计各个设计步骤,并非能一次顺利完成,往往需要多次反复,进行修改、权衡,在基本满足指令系统功能要求的前提下,尽可能减少元器件的使用数量,尽量简化逻辑电路,以保证实验模型计算机的实现。
五、总结
这次设计是对《计算机组成原理》课程的再一次深入学习,建立了完整的计算机系统整机概念。
这次设计与以往的课程设计相比涉及的面更广,要求也远远高于以前的要求。
尤其是在设计中用到的一些最新的技术知识也是对我们的一个挑战。
通过本次设计,我们对自己在此次涉及到的知识有了进一步的理解,也使我有了一次很难得的理论联系实际的机会。
通过此次设计,使我深深感到只有将理论与实践相结合,才能让我们对所学的知识由感性理解上升到理性升华。
尤其对我们计算机专业的学生来说,加强实际动手能力的培养更是将来步入社会,为社会所接受的必要的能力。
参考文献:
[1]张庸一.计算机组成原理实验及课程设计指导[M].重庆大学出版社1996
[2]薛胜军.计算机组成原理[M].华中理工大学出版社1998
[3]赵志英.计算机组成原理实验[M].复旦大学出版社2001
[4]李勇.计算机组成原理设计[M].国防科技大出版社1985
[5]钟友鹏.计算机课程设计指导[M].江苏科学技术出版社1999
学年论文(设计)成绩表
论文题目
作 者
指导教师
职 称
指
导
教
师
评
语
指导教师签字
等级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 总体 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)