版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章计算机的基本结构与工作过程本章主要内容(1)计算机及微型计算机的组成(2)计算机的工作过程(3)控制器基本原理硬布线控制器原理微程序控制原理2.1计算机的基本结构2.1.1冯·诺伊曼计算机基本结构世界上第一台电子计算机ENIAC采用电子管作主要构成元件,大大提高了运算速度,达到每秒钟完成加法运算5000次,但它存在一个主要缺陷是不能存储程序。它是由人工设置开关并以插入和拔出导线插头的方式来编制程序的。编程时需要对大约6000多位开关进行仔细的机械定位,并用转插线把选定的各个控制部分互连起来以构成程序序列。这种原始的机械式编程方法显然效率很低。图2.1展示了ENIAC的组成及工作情形概貌。
图2.1世界上第一台电子计算机ENIAC1944~1945年间,冯·诺伊曼应邀参加ENIAC计算机研制任务。在研制过程中,他深深地感到ENIAC不能存储程序这一缺陷,并在1945年由他领导的EDVAC试制方案中,他作为一位主要倡导者指出:ENIAC的开关定位和转插线连接只不过代表着一些数字信息,它们完全可以像受程序管理的数据一样,存放于主存储器中。这就是最早的“存储程序概念”(StoredProgramConcept)的产生。
EDVAC计算机由运算器、逻辑控制装置、存储器、输入设备和输出设备五个部分组成。它采用了“存储程序”的思想,把数据和程序指令均用二进制代码的形式存放在存储器中,保证了计算机能按事先存入的程序自动地进行运算。冯·诺伊曼首先提出的“存储程序”的思想,以及由他首先规定的计算机的基本结构,人们称之为“冯·诺伊曼计算机结构”。归纳其基本内容,主要包括以下几点:(1)计算机应由运算器、控制器、存储器、输入设备和输出设备五个部分组成。(2)数据和程序均以二进制代码形式不加区别地存放在存储器中,存放的位置由存储器的地址指定。(3)计算机在工作时能够自动地从存储器中取出指令加以执行。2.1.2计算机的基本组成框图及功能部件简介计算机的基本组成框图如图2.2所示。
图2.2计算机基本组成框图图2.2表明,程序和数据通过输入设备送入到存储器中;程序被启动执行时,控制器输出地址及控制信号,并从相应的存储单元中取出指令送到控制器中进行识别,分析该指令执行什么运算或操作,然后控制器根据指令含义发出操作命令。例如将某存储单元中存放的数据取出并送往运算器进行运算,再把运算结果送回存储器的指定单元中;当指定的运算或操作完成后,将结果通过输出设备送出。通常将运算器和控制器合称中央处理器CPU(CentralProcessingUnit)。CPU和存储器一起构成计算机的主机部分,而将输入设备和输出设备称为外围设备。在微型计算机中,往往把CPU制作在一块大规模集成电路芯片上,称之为微处理器(Microprocessor)。1.存储器存储器是用来存放程序和数据的记忆装置。它是组成计算机的重要部件,也是使计算机能够实现“存储程序”功能的基础。根据存储器和中央处理器的关系,存储器可分为内存和外存。内存储器是CPU可以直接对它进行读出或写入(也称访问)的存储器,用来存放当前正在使用或经常要使用的程序和数据。它的容量较小,速度较快,但价格较高。
外存用来存放相对来说不经常使用的程序和数据,在需要时与内存进行成批交换,CPU不能直接对外存进行访问。外存的特点是存储容量大,价格较低,但存取速度较慢。外存通常由磁表面记录介质构成,如磁盘、磁带等;现在已经出现采用激光技术的光盘作大容量外存储器。内存通常由存储体和有关的控制逻辑电路组成。存储体是由存储元件组成的一个信息存储阵列。存储体中存放着程序和数据信息,而要对这些信息进行存取,必须通过有关的控制逻辑电路才能实现。存储体被划分为若干个存储单元,每个单元存放一串二进制信息,也称存储单元的内容。每个存储单元有一个对应的编号,称为存储单元的地址。当CPU要访问某个存储单元时,必须首先给出地址,送入存储器的地址寄存器(MAR),然后经译码电路选取相应的存储单元。从存储单元读出的信息先送入存储器的数据寄存器(MDR),再传送给目的部件;写入存储器的信息也要先送至存储器的数据寄存器中,再依据给定的地址把数据写入到相应存储器单元中。为了对存储器进行读、写操作,控制器除了要给出地址外,还要给出启动读、写操作的控制信号。这些控制信号到底何时发出,要由机器的操作时序决定。图2.3计算机存储器的基本结构2.运算器运算器是进行算术运算(如加、减、乘、除等)和逻辑运算(如非、与、或等)的装置。通常由算术逻辑部件ALU,专用寄存器X、Y和Z,累加器,通用寄存器R0、R1、…、Rn-1以及标志寄存器F组成,如图2.4所示。Rn-1YZALUABFR0X内部总线图2.4运算器的基本组成核心部件ALU用于完成算术运算和逻辑运算。X、Y是ALU的输入寄存器,Z是ALU的输出寄存器。F用于存放运算结果的状态,例如,结果是否为零,是正还是负,有无进位,是否溢出等。
ALU的功能是对X、Y中的数据进行运算,并将结果送到Z。X、Y、Z是与ALU不可分的一部分,通常称为ALU的数据暂存器。X、Y中的数据可来自通用寄存器,也可来自存储器。Z中的数据可送往通用寄存器,也可送往存储器。3.控制器为了实现对计算机各部件的有效控制,快速准确地取指令、分析指令和执行指令,控制器通常由下面几部分组成:指令寄存器IR
程序计数器PC
存储器地址寄存器MAR
存储器数据寄存器MDR
指令译码器ID
控制电路
IRPCMARMDR控制电路指令译码控制信号内部总线存储器图2.5 控制器的基本组成IR用于存放正在执行或即将执行的指令;PC用于存放下一条指令的存储单元地址,它具有自动增量计数的功能;MAR用于在访存时缓存存储单元的地址;MDR用于在访存时缓存对存储单元读/写的数据。ID用于对IR中的指令进行译码,以确定IR中存放的是哪一条指令;控制电路负责产生时序脉冲信号,并在时序脉冲的同步下对有关的部件发出微操作控制命令(微命令),以控制各个部件的动作。4.输入设备和输出设备输入设备是用来输入数据和程序的装置,其功能是将外界的信息转换成机内的表示形式并传送到计算机内部。常见的输入设备有键盘、鼠标、图形数字化仪、图像扫描仪等等。输出设备是用来输出数据和程序的装置,其功能是将计算机内的数据和程序转换成人们所需要的形式并传送到计算机外部。常见的输出设备有显示器、打印机、绘图机等。2.2计算机的工作过程
假设在某计算机的指令系统中设计有如下的几条指令:
(1)LOADR1,M1(2)STOREM3,R1(3)ADDR1,M2(4)JMPL
(1)是传送类指令,其含义是将M1中的内容装入R1。
(2)也是传送类指令,其含义是将R1的内容存入M3中。
(3)是运算类指令,其含义是将R1的内容与M2中的内容相加后存入R1。
(4)是转移类指令,其含义是无条件转向L处。如果要求将M1的内容与M2的内容相加后存入M3,可表示为:(M1)+(M2)→(M3)再将程序转向L处的指令继续执行,则可用上面给出的各指令编写出如下的程序来实现:
汇编语言程序机器语言程序程序的功能
LOADR1,M10000101100000101将M1的内容送入R1ADDR1,M20001101100000110将R1的内容加上M2的内容再送回R1STOREM3,R10010101100000111将R1的内容送入M3中
JMPL0011000000010001转向L处继续执行那里的指令
汇编时,假设存储单元的地址M1、M2、M3分别为5、6、7,其内容分别为12、34、0;地址L为17;R1寄存器的编号为1011。四条指令LOAD、ADD、STORE、JMP的操作码分别为0000、0001、0010、0011。每条机器指令的第2个字节都是存储单元地址,第一个字节左边4位是操作码,右边4位是寄存器号或0000。上述机器语言程序可被计算机识别,但不能被执行,还需要为其分配存储器地址。例如,上述机器语言程序可能按如下方式分配存储器地址:0000010100001100M1000001100010001000000111000000000000100000001011000010010000010100001010000110110000101100000110000011000010101100001101000001110000111000110000000011110001000100010000…………..00010001…………..M2M3“LOADR1,M1”的第一个字节“LOADR1,M1”的第二个字节“ADDR1,M2”的第一个字节“ADDR1,M2”的第二个字节“STOREM3,R1”的第一个字节“STOREM3,R1”的第二个字节“JMPL”的第一个字节“JMPL”的第二个字节第五条指令(只有一个字节)第六条指令1.计算机的内部结构(模型机)LOADR1,M1ADDR1,M2STOREM3,R1JMP LLM1M2M3abcIRPCMARMDRR0Rn-1YZABUSDBUS控制电路指令译码控制信号ALUABF内部总线存储器图2.6 单总线CPU的计算机的基本结构
2.指令及程序的执行过程计算机执行指令的过程可概括如下:
(1)控制器把PC中的指令地址送往存储器地址寄存器MAR,并发出读命令“M读”。存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。
(2)指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。
(3)当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,然后向存储器发出读命令“M读”,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。(4)当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令“M写”,MDR中的数据即被写入由MAR指示地址的存储单元中。(5)
一条指令执行完毕后,控制器就要接着执行下一条指令。为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址。在遇到“转移”指令时,控制器则把“转移地址”送入PC。控制器不断重复上述过程的(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。下面,以前面给出的、由4条指令组成的程序段为例,结合图2.6中所示的计算机结构,简述指令及程序的执行过程。
LOADR1,M1ADDR1,M2STOREM3,R1JMPL假设程序及数据已经装入了存储器,第一条指令的地址已经装入了PC寄存器。(1)取指令“LOADR1,M1”并执行
①取指令“LOADR1,M1”并形成下一条指令的地址:
(i)控制器发“PCOUT”和“MARIN”信号,使PC→MAR;
(ii)控制器发“M读”信号,使存储器的内容(指令)→MDR,通过DBUS;
(iii)控制器发“PC加”信号,使PC+n→PC,其中n为该指令占用的地址数;
(iv)控制器发“MDROUT”和“IRIN”信号,使MDR→IR。②执行指令“LOADR1,M1”:
(i)控制器发“IROUT”和“MARIN”信号,使IR中指令的地址段(即M1)→MAR;
(ii)控制器发“M读”信号,使存储器M1的内容(数据)→MDR,通过DBUS;
(iii)控制器发“MDROUT”和“R1IN”信号,使MDR→R1。
(2)取指令“ADDR1,M2”并执行①取指令“ADDR1,M2”并形成下一条指令的地址:操作过程同(1)中的①。②执行指令“ADDR1,M2”:
(i)控制器发“IROUT”和“MARIN”信号,使IR中指令的地址段(即M2)→MAR;(ii)控制器发“M读”信号,使存储器M2的内容(数据)→MDR,通过DBUS;(iii)控制器发“MDROUT”和“YIN”信号,使MDR→Y(即ALU的A端);(iv)控制器发“R1OUT”,使R1→内部总线(即ALU的B端);(v)控制器发“add”信号,使A+B→Z;(vi)控制器发“ZOUT”和“R1IN”信号,使Z→R1。(3)取指令“STOREM3,R1”并执行①取指令“STOREM3,R1”并形成下一条指令的地址:操作过程同(1)中的①。②执行指令“STOREM3,R1”:
(i)控制器发“IROUT”和“MARIN”信号,使IR中指令的地址段(即M3)→MAR;(ii)控制器发“R1OUT”和“MDRIN”信号,使R1→MDR;(iii)控制器发“M写”信号,使MDR→存储器M3中,通过DBUS。
(4)取指令JMPL并执行①取指令JMPL并形成下一条指令的地址:
操作过程同(1)中的①。②执行指令JMPL:控制器发“IROUT”和“PCIN”信号,使IR中指令的地址(即L)→PC。2.3控制器的基本原理控制器的基本任务是根据机器指令操作的需要,实时地发出各种微命令信号。也可以说,控制器就是“根据特定的机器指令,在特定的时刻(节拍),发出特定的微命令信号”。
2.3.1硬布线控制器原理硬布线控制器也称硬连线控制器或组合逻辑控制器。硬布线控制器主要由环形脉冲发生器、指令译码器和微命令编码器组成。环形脉冲发生器用于循环地产生节拍脉冲信号;指令译码器用于确定IR中存放的是哪一条指令;微命令编码器用于在不同节拍脉冲信号的同步下产生相应的微命令信号。如果用T1、T2、……依次表示对应机器周期的节拍脉冲信号,用00、01、10、11依次表示指令LOAD、ADD、STORE和JMP的操作码,则硬布线控制器的原理如图2.7所示。
IR指令译码微命令编码器环形脉冲发生器LOADADDSTOREJMPT1T2Tn微命令信号图2.7 硬布线控制器基本结构End在取指令和执行指令时,都需要控制器能针对不同的指令在不同的机器周期内发出所需要的各种微命令。例如,在取指令时,就需要控制器在第一个周期内发出PCOUT、MARIN、M读、PC加共4个微命令,在第二个周期内发出MDROUT和IRIN两个微命令。针对前面给出的4条指令及对指令执行过程的讨论,可归纳出对不同指令在不同机器周期内应发出的微命令如表2-2所示。表中的End代表指令执行结束的微命令。指令名T1T2T3T4T5T6T7LOAD(00)PCoutMARinM读PC加MDRoutIRinIRoutMARinM读MDRoutR1inEndADD(01)同上同上IRoutMARinM读MDRoutYinR1outaddZoutR1inEndSTORE(10)同上同上IRoutMARinR1outMDRinM写EndJMP(11)同上同上IRoutPCinEnd表2-2 对不同指令发出的微命令如果用“·”表示“与”,用“+”表示“或”,用Ti表示第i个机器周期的节拍脉冲信号,并设所有的信号都是高电平有效,则可用一个逻辑表达式来表示某个微命令应在什么时间发出、对哪些指令发出。例如,对于微命令MARIN,所有的四条指令在T1周期内都需要,LOAD、ADD、STORE三条指令在T3周期内也需要,而其他指令则不需要。
描述上述关系的逻辑表达式就是:MARIN=T1·(LOAD+ADD+STORE+JMP)+T3·(LOAD+ADD+STORE)=T1+T3·(LOAD+ADD+STORE)这里,用到了如下的逻辑关系式
Ti·(LOAD+ADD+STORE+JMP)=Ti按照上述方法,根据表2-2,可写出各个微命令的逻辑表达式如下:PCOUT=T1MARIN=T1+T3·(LOAD+ADD+STORE)PC加=T1M读=T1+T3·(LOAD+ADD)IRIN=T2MDROUT=T2+T4·(LOAD+ADD)IROUT=T3PCIN=T3·JMPYIN=T4·ADDR1IN=T4·LOAD+T6·ADDMDRIN=T4·STORER1OUT=T4·STORE+T5·ADDadd=T5·ADDM写=T4·STOREZOUT=T6·ADDEnd=T5·(LOAD+STORE)+T7·ADD+T4·JMP上述逻辑表达式的右端就是图2.7中微命令编码器的内部电路,左端是编码器输出的微命令。只要编码器按照上述电路工作,就能使控制器对指令译码器选中的某条指令依次发出各种微命令,完成指令规定的操作。
硬布线控制器的优缺点(小结)硬布线控制器直接由组合逻辑电路产生微操作控制信号,因而其操作速度较快,但相应的控制逻辑电路十分庞杂,给设计、调试和检测都带来不便。这种形式的控制器设计完毕后若想扩充和修改,则更为困难。其突出的优点是指令执行速度很快,常用于RISC结构的机器中。2.3.2微程序控制器原理1.微程序控制器的基本思想微程序控制的概念,最早由英国剑桥大学的威尔克斯(M·V·Wilkes)于1951年提出来的,并在1953年的一篇文章中发表了一个微程序控制的实例。之后由于缺少简单快速的微程序存储手段,这一项发明并未得到广泛采用。对于微程序的高度重视和充分发展始于1964年,它首次在当时最有影响的IBM360系列计算机中得到了实际应用,成功地解决了不同的计算机之间指令系统兼容性问题。概括微程序控制器的基本思想,有如下三点:(1)计算机的每一条机器指令所代表的操作可以被分解为一系列更基本的“微操作”,计算机中控制实现这些微操作的命令信号,称为“微命令”。(2)将计算机控制器所要产生的微命令,以代码(微码)形式编成“微指令”,事先存储在一个用只读存储器(ROM)构成的控制存储器中。在CPU执行程序时,从控制存储器中取出微指令,由它所包含的微命令控制相关部件的操作。(3)若干条微指令组成一小段“微程序”,解释执行一条机器指令,针对整个指令系统的需要,编制出一套完整的微程序。2.微程序控制器的基本组成结构微程序控制器主要由控制存储器(CM)、微指令寄存器(μIR)、微地址寄存器(μAR)和微地址形成电路等部件组成,如图2.8所示:
图2.8微程序控制器组成框图
微地址给定部分顺序控制方式……………………微命令序列(至处理部分)运行状态指令代码控制存储器CM微指令寄存器μIR
IRPSWPC微地址形成电路微地址寄存器μAR微操作控制字段顺序控制字段10110···0111011001···11101ROM10001···10101译码译码(1)控制存储器CM控制存储器CM用来存放微程序,它的每个存储单元存放一个微指令代码。控制存储器通常采用只读存储器(ROM)构成,在制造CPU时写入微程序代码。(2)微指令寄存器μIR微指令寄存器μIR用来存放从控制存储器中读出的微指令。它由两部分组成:一部分为微指令的“微操作控制字段”;另一部分为“顺序控制字段”,它指明后继微指令地址的形成方式。
(3)微地址形成电路通常情况下,可依据下述几种信息或其中的一部分去形成后继微地址:微地址给定部分、现行微指令中的顺序控制方式(如是否发生转移)、机器指令的有关代码(如操作码)、机器运行状态等。(4)微地址寄存器μAR在从控制存储器中读取微指令时,微地址寄存器中保存着对应的微地址,指向相应的控制存储器单元。当读出一条微指令后,微地址形成电路将后继微地址打入μAR中,从而指向下一个CM单元。3.机器指令的读取与执行(1)在微程序中有一条或几条微指令,其微命令是实现“取指”的操作,称为“取机器指令用的微指令”,属于微程序的公用部分。在开始执行机器指令时,先从控制存储器中读取“取机器指令用的微指令”,它所包含的微命令使CPU访问主存储器,读取机器指令,送入指令寄存器IR,然后修改程序计数器PC的内容。(2)根据机器指令中的操作码,通过微地址形成电路,找到与该机器指令所对应的微程序入口地址。(3)逐条取出对应的微指令,每一条微指令提供一个微命令序列,控制相关部件的操作。执行完一条微指令后,根据微地址形成方法产生后继微地址,读取下一条微指令。(4)执行完对应于一条机器指令的一段微程序后,返回到“取机器指令用的微指令”,开始读取与执行又一条机器指令。4.微指令的编码方式(1)直接表示法将每个控制信号都作为微指令中的一位来编码的方法称为微指令的直接表示法,也称直接控制法,如图2.9(a)所示。这种编码方法的优点是简单直观,其输出直接用于控制;其缺点是编码效率低,因为设置的多个控制位中,对于某一条微指令而言,只有少数几位是有效(为1)的。图2.9(a)直接表示法微操作控制字段顺序控制字段μIR…(2)编码表示法将微指令代码进行分组编码,将不能同时出现的相斥信号分在一组中,然后将其编码成较短的代码,如图2.9(b)所示。优点:减少了控制存储器所需存储的代码数量。缺点:编码的微指令代码需经译码后才能成为控制信号,这一方面增加了译码器的硬件开销,同时也增加了控制信号的延迟,从而影响微程序的执行速度。图2.9(b)编码表示法(3)混合表示法它是将直接表示法与字段编码表示法相结合的一种编码方法。它综合考虑微指令的字长、灵活性和执行速度方面的要求,采用部分直接表示、部分编码表示的方法,将一些速度要求高,或者与其他控制信号都相容的控制信号以直接方式表示,而将其他控制信号以编码方式表示,如图2.9(c)所示。图2.9(c)混合表示法顺序控制字段μIR…字段1字段2字段n…译码译码……5.微程序的顺序控制方式(1)初始微地址的形成每一条机器指令由一段对应的微程序解释执行,该段微程序的入口地址就是所谓的初始微地址。(i)读取机器指令在整个微程序中需设置一小段公用的“取机器指令用的微程序”,来实现读取机器指令的操作。这段微程序可以从控制存储器的0#单元或其他特定单元开始,这样就可以以该单元地址为初始微地址读取机器指令。(ii)功能转移取出机器指令后,根据指令代码转换成相应的微程序段入口地址,称为功能转移。常见的有“一级功能转移”和“多级功能转移”等。一级功能转移是根据指令操作码,一次转移到相应微程序入口。如果操作码的位数与位置是固定的,可让指令操作码作为微地址的低位段,则功能转移的实现很简单,例如指令的操作码为OP,则相继的微程序入口地址为XX…XXOP。这里的微程序入口地址实际上可看作指令操作码的函数。由于指令功能不仅与操作码有关,还可能与寻址方式有关,这就可能需要多级功能转移。例如,先根据指令操作码实现第一级功能转移,再根据寻址方式实现第二级转移。(2)后续微地址的形成每条微指令执行完毕后,都要根据其顺序控制字段的规定形成后续微地址。常用的有增量方式与断定方式两种类型。(i)增量方式。又称计数器方式,是用微程序计数器μPC(即微地址寄存器μAR)来产生下一条微指令的微地址,将微程序中各条微指令按执行顺序安排在控制存储器中,后续微地址由现行微地址加上一个增量来得到。μPC的更新一般是进行加1的操作,但当遇到特殊情况时可做专门的处理:例如微程序结束时,μPC复位到初始微地址,这个微地址可由初始微地址生成电路产生。采用增量方式的优点是直观,与普通工作程序形态相似,容易编制与调试。其缺点是不易直接实现对应于各个测试条件的多路转移。除了增量方式外,还可采用下面的断定方式。(ii)断定方式这是一种将“直接给定”与“测试断定”相结合的方式。具体做法是,直接给定微地址的高位部分,而将微地址的若干低位作为可断定的部分,相应地在微指令的顺序控制字段中设置断定条件,即微地址低位段的形成条件。
采用断定方式的优点是可以实现快速多路分支,适合于功能转移的需要;缺点是在编制微程序时,地址安排比较复杂,微程序执行顺序不直观。在实际的微程序设计中,常将断定方式与增量方式混合使用,使微程序的顺序控制方便灵活。6.微程序控制器的主要特点(小结)与硬连线控制器相比,微程序控制器是一种利用软件方法来设计硬件的技术,可实现复杂指令的操作控制。它具有规整性的突出优点,它实质上是用程序的方法来产生和组织微命令信号(将程序技术引入CPU),用存储逻辑控制代替组合逻辑控制(将存储逻辑引入CPU)。微程序控制器每执行一条指令都要启动控制存储器中的一串微指令(即一段微程序),因此指令的执行速度相对于“硬布线”控制器来说要慢。微程序控制器的另一个优点是其灵活性。它使得在计算机中可以较方便地增加和修改指令,只要增加或修改一部分微程序即可。甚至可以实现其他计算机的指令系统,从而可以在一种计算机上运行另一种计算机的指令代码。这种实现不同机器指令系统的方式称为计算机系统的“指令仿真(Emulation)”。计算机的指令仿真是一种获得机器软件兼容的方法,它使得已有软件能够在新型的计算机中继续运行。在一种计算机上运行另一种计算机指令的另一种方法是用软件的方法,也就是用软件来解释另一种计算机的指令。这种方法称“指令模拟(Simulation)”。与指令仿真不同,指令模拟是纯软件的技术,通常要用几条指令完成一条目标指令的操作,因此速度要比指令仿真低。2.3.3一个简单的微程序实例对于前面给出的4条指令,根据对指令执行过程的讨论,可归纳出指令周期的流程图,如图2.10所示.其中的DBUS→MDR表示存储器的内容→MDR,MDR→DBUS表示MDR的内容→存储器。根据前面的讨论可知控制器应发出的控制信号共有16个,排列如下:
PCOUTMARINM读
PC加
MDROUTIRINIROUTPCIN
R1INYINR1OUTMDRINM写
addZOUTEnd对某一机器周期,需要发出的控制信号用1表示,不需要发出的控制信号用0表示,就可组成一条16位长的微指令形式的信号序列。例如,对每条指令的T1周期,都要发PCOUT、MARIN、M读和PC加共四个微命令信号,这条微指令形式的信号序列就是:1111000000000000对每条指令的T2周期,都要发MDROUT、IRIN两个信号,这条微指令形式的信号序列就是:
0000110000000000按照控制信号的上述排列次序,参照图2.10所示的操作流程,可以写出对每条指令在每一个机器周期中需要发出的控制信号序列。将这些信号序列再加上地址转移部分,即可构成微指令,并组成微程序,如表2-3所示。微地址指令机器周期微操作字段下址字段0000取指令T11111000000000000000010001T200001100000000001xx100010LOAD(00)T30110001000000000000110011T40000100010000000010010110ADD(01)T30110001000000000001000100T40000100001000000001010101T50000000000100100001110111T60000000010000010010011010STORE(10)T30100001000000000010001000T40000000000111000010011110JMP(11)T30000001100000000010011001Tn000000000000000100000表2-3 一个简单的微程序实例例:ADD指令的执行过程对于ADD指令,控制器首先取出0000地址处的第一条微指令执行,发出了4个微命令,该微指令的“下址字段”为
00001,表示不发生分支,下一条微指令的地址为0001。控制器在0001地址处取出第二条微指令执行,又发出了两个微命令,至此,取ADD指令的操作已经完成,译码后知该指令的操作码为01。
第二条微指令的“下址字段”为1xx10,表示要发生分支,下一条微指令地址的低两位为10,高两位为ADD的操作码01;控制器在0110地址处取出第三条微指令执行,……。直至在1001地址处取出最后一条微指令执行,该微指令发出指令结束的微命令End,并转向0000地址处开始取下一条指令,并执行该指令所对应的微程序。2.4计算机系统的组成2.4.1硬件与软件一个完整的计算机系统,应由硬件及软件两大部分组成。硬件(Hardware)通常泛指构成计算机的设备实体。例如前面介绍的控制器、运算器、存储器、输入设备和输出设备等部件和设备,都是计算机硬件。一个计算机系统应包含哪些部件,这些部件按什么结构方式相互连接成有机的整体,各部件应具备何种功能,采用什么样的器件和电路构成,以及在工艺上如何进行组装等,都属于硬件的技术范畴。软件(Software)通常泛指各类程序和数据。它们实际上是由特定算法及其在计算机中的表示所构成。计算机软件一般包括系统软件和应用软件。
由计算机厂家提供、为了方便使用和管理计算机工作的软件(如操作系统、数据库管理系统等)称为系统软件;为解决用户的特定问题而编写的软件(如科学计算、过程控制、文字处理等软件)统称应用软件。随着计算机硬件及软件技术的不断发展,硬件与软件也出现了相互补充、相互融合的发展方向。两者之间的划分界限也在不断改变着。原来由硬件实现的一些操作也可以改由软件来实现,称为硬件软化,它可以增加系统的灵活性和适应性;相反,原来由软件实现的操作也可以改由硬件来实现,称为软件硬化,它可以有效地发挥硬件成本日益降低的潜力,并显著降低软件在执行时间上的开销。从根本上来说,计算机的任何一种操作功能,既可以用硬件来完成,也可以用软件来完成,即通常所说的软件与硬件在逻辑上的等价性。对于一个具体的计算机系统来说,究竟是采用软件形式还是硬件形式来实现某一操作,要根据系统的价格、速度、灵活性以及生存周期等多方面因素来权衡决定。现在,由于大规模集成电路技术的提高,人们已经着手把许多复杂的、常用的软件写入容量大、价格低、体积小的可擦写只读存储器EPROM或EEPROM中,制成了“固件”(Firmware)。固件是一种介于软件与硬件之间的实体,其功能类似软件,其形态又类似硬件。它代表着软件与硬件相结合的一种重要形式。2.4.2计算机系统的基本组成要使计算机能够正常而有效地工作,不但必须有硬件设备的支持,而且也要有良好的软件环境的支持。现将一个完整的计算机系统的组成归纳如下:
图2.11计算机系统的组成2.5微型计算机的产生和发展2.4.1世界上第一个微处理器的诞生
1971年,世界上第一个微处理器Intel4004在美国硅谷应运而生,并在计算机发展史上开创了微型计算机的崭新时代。图2.12世界上第一个微处理器Intel4004Intel4004的最早开发设计者是Intel公司的年轻工程师霍夫(M.Hoff),他首先提出了可编程通用微型计算机的设想,即把计算机的全部电路做在四片集成电路芯片上,包括中央处理器芯片、随机存储器芯片、只读存储器芯片和寄存器芯片。这个设想首先由Intel公司另一名年轻工程师费金(F.Faggin)在4.2mm×3.2mm的硅片上集成了2250只晶体管构成中央处理器而实现。这就是世界上最早的4位微处理器。2.5.2微型计算机的发展阶段凡是由一片或几片大规模集成电路组成的具有控制器和运算器功能的中央处理器,统称为微处理器(Microprocessor)。注意,微处理器本身并不等于微型计算机,它仅仅是微型计算机的中央处理器部件。微型计算机(Microcomputer),是指以微处理器为核心,再配上由大规模集成电路制作的存储器、输入/输出接口电路以及系统总线(SystemBus)所组成的计算机,简称微型机。由不同规模的集成电路构成的微处理器,形成了微型计算机的不同发展阶段。1.第一代微型计算机(1971年—1973年)
典型产品:Intel4004,4040,8008
时钟频率:1MHz
晶体管数:0.2万字长:4/8位工艺:PMOS(10μm)2.第二代微型计算机(1974年—1978年)典型产品:Intel8080,MC6800,Intel8085,Z80
时钟频率:2-4MHz
晶体管数:0.3万~1万字长:8位工艺:NMOS(6μm)3.第三代微型计算机(1978年—1984年)典型产品:Intel8086/8088,Z8000,MC68000,Intel80286时钟频率:4~10MHz晶体管数:2万~13.5万字长:16位工艺:HMOS(3μm)4.第四代微型计算机(1985年—1992年)典型产品:Intel80386,80486,MC68020,68030,68040,Z80000
时钟频率:16-66MHz
晶体管数:32万~120万字长:32位工艺:CMOS(1.2μm)5.第五代微型计算机(1993年—)典型产品:Pentium,PowerPC,P6Alpha21164
时钟频率:66-300MHz晶体管数:310万~930万字长:32位工艺:CMOS(0.6~0.18μm)Pentium41.4~10GHz,4200万晶体管,字长32位2001年—Itanium(安腾),1.0GHz~,2.14亿晶体管,字长64位,0.18μm工艺2.6微型计算机的分类及主要技术指标2.6.1微型计算机的分类按微处理器的位数来划分,即把微处理器的字长作为微型计算机的分类标准,通常可分为4位、8位、16位、32位、64位以及位片式的微型计算机。位片式的微型计算机是由若干个位片组合而成的,一片是一位,不同位片数可以组成不同字长的机器。这类微型机的突出优点是结构灵活。常见的产品有MC10800(4位)、AM2900系列(4位)、F100220系列(8位)等。按微型计算机的组装形式,可分为单片机、单板机以及多板微型计算机。单片微型机算机又称“微控制器”(Microcontroller),俗称“单片机”。它是把CPU、存储器以及I/O接口电路全部制作在一个芯片上的计算机。单片机中的存储器容量不是很大,I/O接口的数量也不是很多。它可以方便地安装在仪器、仪表、家电等设备之中。单板微型计算机(简称单板机)是将CPU、存储器和I/O接口安装在一块印刷电路板上。有的在印刷电路板上装上小键盘和数码管显示器,用以实现简单的输入和输出。在只读存储器(EPROM)中装有监控程序(Monitor),用来管理整个单板机的工作。多板微型计算机是把CPU、存储器、I/O接口电路、电源等组装在不同的印刷电路板上,然后组装在同一机箱内,就构成了一个多板微型计算机。它可以配置键盘、显示器、打印机、软盘驱动器、硬盘驱动器等多种外部设备和足够的软件,形成一个完整的微型计算机系统。2.6.2微型计算机的主要技术指标
1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年持证补贴配套奖惩细则
- 2026年吉林省蛟河市高二生物下册期末考试模拟测试卷附完整答案【名师系列】
- 2026-2027学年人教版九年级英语上册宾语从句期中专项(含答案)
- 2026年字幕员职业技能等级认定(三级)理论知识历年真题
- 人教版六年级上册《道德与法治》期中试卷及完整答案
- 2026年敏感肌专研粉底液气垫
- 2026年摄像师职业技能等级认定(五级)操作技能模拟试题
- 2026年广东省兴宁市高二历史上册期末考试测试卷【基础题】附答案
- 2026年湖北省赤壁市高考历史自测卷附答案(综合卷)
- 2026大数据服务市场供需格局与投资机会评估研究报告
- 急救知识科普宣传
- Ⅱ度烧伤创面治疗专家共识(2024版)
- 压力容器材料代用规范与实践
- 天府特资(四川)投资管理有限公司2026年招聘笔试参考题库及答案详解
- 2026部编人教版二年级语文上册全册教案教学设计
- 三级安全教育考试试题及答案(2025版)
- 泰国中文教师备课教案模板
- 新22J01 工程做法图集
- 学校石材工程投标书
- 下颌第一前磨牙拔除术考核评分表(2份)2024年度住院医生规范化培训评分表
- 少先队入队学少先知识做先锋少年课件
评论
0/150
提交评论