1、 一个实际的微机的电路结构是相当复杂的。一个实际的微机的电路结构是相当复杂的。本章内容将从微机的最基本功能出发来讲解其本章内容将从微机的最基本功能出发来讲解其电路原理,在有限的时间内让同学们建立一个电路原理,在有限的时间内让同学们建立一个较完整的基本概念。较完整的基本概念。微机的基本功能可概括为微机的基本功能可概括为“三能一快三能一快”;能运算、能判别、能决策能运算、能判别、能决策。但所有这些。但所有这些“能能”的过程都是建立在的过程都是建立在“快快”的基础上才能有实际的基础上才能有实际意义。意义。2022-11-161 在整个计算机中,信息量是很大的,部件数在整个计算机中,信息量是很大的,部
2、件数很多,如何做到各个信息和部件能够很多,如何做到各个信息和部件能够“循序渐进、循序渐进、各得其所、有条不紊、快而不乱各得其所、有条不紊、快而不乱”?这就是计算?这就是计算机基本工作原理所要解答的问题。机基本工作原理所要解答的问题。下面将以一个下面将以一个简化简化了的微机作为分析对象,了的微机作为分析对象,逐步讲解一般计算机的各个基本功能,从而概括逐步讲解一般计算机的各个基本功能,从而概括出微机的基本工作原理。在分析讲解过程中,陆出微机的基本工作原理。在分析讲解过程中,陆续介绍各个基本电路和部件之间的续介绍各个基本电路和部件之间的信息流通过程信息流通过程,指令系统的意义,指令系统的意义,程序设
3、计的步骤程序设计的步骤,控制部件的控制部件的功能及其结构功能及其结构,控制矩阵产生控制字的过程控制矩阵产生控制字的过程等等,这样可以对微机的基本工作原理有一个比较完整这样可以对微机的基本工作原理有一个比较完整的概念的概念。2022-11-162 简化的微机结构简化的微机结构如图如图3-13-1所示,其硬所示,其硬件结构特点是:功件结构特点是:功能简单、内存量小、能简单、内存量小、字长字长8 8位、手动输入。位、手动输入。(1 1)PC PC(2 2)MARMAR(3 3)PROMPROM(图图3-23-2)(4 4)IRIR指令字格式:指令字格式:高高4 4位为指令字段,位为指令字段,低低4
4、4位为地址字段。位为地址字段。2022-11-163图图3-2 PROM结构原理图结构原理图2022-11-164(5)控制器)控制器 其功能:其功能:(PC、IR)清零;发出清零;发出同步脉冲同步脉冲CLK;发出发出12位控制字位控制字CON。(6 6)累加器)累加器A A(7 7)寄存器寄存器B B(8 8)输出寄存器输出寄存器O O(9 9)二进制显示器二进制显示器D D 可见结构简单,但为一可见结构简单,但为一个可编程计算机的雏形,个可编程计算机的雏形,麻雀虽小,五脏具全。其麻雀虽小,五脏具全。其功能分解为三大部分见图功能分解为三大部分见图所示。所示。2022-11-165指令系统就是
5、用来编制程序的一个指令集合。指令系统就是用来编制程序的一个指令集合。这台微型机有五条指令,即其控制部件能完成这台微型机有五条指令,即其控制部件能完成一系列例行程序以执行五种命令:一系列例行程序以执行五种命令:LDALDA将数据装入累加器将数据装入累加器A A ADD ADD进行加法运算进行加法运算 SUBSUB进行减法运算进行减法运算 OUTOUT输出结果输出结果 HLTHLT停机停机 这五条指令在一起就称为这台计算机的指令这五条指令在一起就称为这台计算机的指令系统系统。2022-11-166 不同型号的微处理机的指令系统是不同的,不同型号的微处理机的指令系统是不同的,指令的条数也不相同,如指
6、令的条数也不相同,如Z80Z80型的指令系统可达:型的指令系统可达:5858条,条,M6800M6800型有型有7272条,条,65026502型则有型则有5656条指令,而条指令,而Intel 80386Intel 80386则为则为152152条。条。例如一个计算程序的格式如下:例如一个计算程序的格式如下:LDA RLDA R9 9 ;把把 R R9 9中的数据存入中的数据存入A A ADD RADD RA A ;把把 R RA A中的数据与中的数据与A A的相加的相加 ADD RADD RB B ;把把 R RB B中的数据与中的数据与A A的相加的相加 ADD RADD RC C ;把
7、把 R RC C中的数据与中的数据与A A的相加的相加 SUB RSUB RD D ;把把 R RD D中的数据与中的数据与R RD D的相减的相减 OUT OUT ;输出输出A A中的数据,即结果中的数据,即结果 HLT HLT ;停机停机 助记符助记符 操作数操作数 注释注释2022-11-167 这样的格式称为用汇编语言写的汇编语言程这样的格式称为用汇编语言写的汇编语言程序序。最左边的符号称为助记符,中间的符号。最左边的符号称为助记符,中间的符号R R9 9、R RA A等称为操作数,在等称为操作数,在“;”之后的称为注释,之后的称为注释,每一行就是一条指令。每一行就是一条指令。运行结果
8、(运行结果(A A)=(R R9 9)运行结果(运行结果(A A)=(R R9 9)()(R RA A)运行结果(运行结果(A A)=(R R9 9)+(R RA A)+(R RB B)运行结果(运行结果(A A)=(R R9 9)+(R RA A)+(R RB B)+(R RC C)运行结果(运行结果(A A)=(R R9 9)+(R RA A)+(R RB B)+(R RC C)-(R RD D)运行结果(运行结果(D D)=(A A)运行结果:运行结果:CLKCLK停止发脉冲停止发脉冲 最后一条指令,使时钟脉冲停发,则计算机停止运行,最后一条指令,使时钟脉冲停发,则计算机停止运行,但电源
9、未切断,所以显示器中仍继续显示计算的结果。但电源未切断,所以显示器中仍继续显示计算的结果。2022-11-1681 1、先要有一个操作码表:、先要有一个操作码表:2022-11-1693、将源程序翻译成目的程序、将源程序翻译成目的程序2022-11-16104、程序及数据的输入方法、程序及数据的输入方法2022-11-1611 执行一条指令的时间为一个执行一条指令的时间为一个机器周期机器周期。机器。机器周期又可分为周期又可分为取指周期取指周期和和执行周期执行周期。取指过程和。取指过程和执行过程都得通过不同的执行过程都得通过不同的机器节拍机器节拍。在这些节拍。在这些节拍内,每个寄存器(内,每个寄
10、存器(PCPC、MARMAR、IRIR、A A、B B、O O等)的等)的内容可能发生变化。内容可能发生变化。2022-11-16122、取指周期及执行周期、取指周期及执行周期取指周期取指周期需要三个机器节拍:需要三个机器节拍:(1)地址节拍(T0=1)PC内容送MAR并到达PROM(2)储存节拍(T1=1)PROM指定单元内容送到IR,高四位送控制部件CON=0001 1000 0000(3)增量节拍(T2=1)PC+1,指向下一条指令CON=1000 0000 00002022-11-1613执行周期也需要三个节拍:这里以LDA例行程序为例:(4)T3=1,IR高四位送至控制器进行分析,I
11、R低四位送总线,MAR接受此低四位并指向PROM的某个单元。(第一次访问的是指令区,第二次访问的是数据区)CON=0 0 1 0 0 1 0 0 0 0 0 0(5)T4=1,PROM中数据区的存储单元的内容送累加器ACON=0 0 0 1 0 0 1 0 0 0 0 02022-11-1614(6)T5=1,因T4=1时,已将数据存入A中,所以LDA的例行程序就已完成,T5为空拍:CON=0 0 0 0 0 0 0 0 0 0 0 0 注意:注意:(1)为什么需空拍,但一些其它指令例行程序)为什么需空拍,但一些其它指令例行程序需要六拍,这样的机器称为需要六拍,这样的机器称为固定周期固定周期的
12、计算机。的计算机。(2)对任何一条指令取指周期都是三拍。)对任何一条指令取指周期都是三拍。其它例行程序执行情况见表其它例行程序执行情况见表3-32022-11-1615节拍节拍指令指令机器周期(指令周期)机器周期(指令周期)取指周期取指周期执行周期执行周期T0T1T2T3T4T5LDA 9H0000 1001(0000)MARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0001)PCPC+1 PCPC+1 CPCPMARIRRIR(ROM)(ROM)LM,EILM,EIAROMAROMLA,ERLA,ER_ADD AH0001 1010(0001)M
13、ARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0010)PCPC+1 PCPC+1 CPCPMARIRRIR(ROM)(ROM)LM,EILM,EIBROMBROMLB,ERLB,ERAA+BAA+BLA,EULA,EUADD BH0001 1011(0010)MARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0011)PCPC+1 PCPC+1 CPCPMARIRRIR(ROM)(ROM)LM,EILM,EIBROMBROMLB,ERLB,ERAA+BAA+BLA,EULA,EUADD CH0001 1
14、100(0011)MARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0100)PCPC+1 PCPC+1 CPCPMARIRRIR(ROM)(ROM)LM,EILM,EIBROMBROMLB,ERLB,ERAA+BAA+BLA,EULA,EUSUB DH0010 1101(0100)MARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0101)PCPC+1 PCPC+1 CPCPMARIRRIR(ROM)(ROM)LM,EILM,EIBROMBROMLB,ERLB,ERAA-BAA-BLA,EU,SULA,E
15、U,SUOUT 1110 (0101)MARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0110)PCPC+1 PCPC+1 CPCPOAALO,EALO,EA_HLT1111(0110)MARPCRPC(ROM)(ROM)LM,EPLM,EPIRROMROMLI,ERLI,ER(0111)PCPC+1 PCPC+1 CPCP_HLT_表表3-3 执行指令的过程执行指令的过程2022-11-1616控制部件的主要环节:控制部件的主要环节:(1)环行计数器()环行计数器(RC)(2)指令译码器(指令译码器(ID)(3)控制矩阵(控制矩阵(CM)(4)其
16、它控制电路其它控制电路 指令译码器的任务是:将四位组成的编码,指令译码器的任务是:将四位组成的编码,译成一个信号,即译为某一控制线为高电位。译成一个信号,即译为某一控制线为高电位。其译码电路如图其译码电路如图3-5所示。所示。2022-11-16172022-11-1618 控制矩阵(控制矩阵(CM)是控制部件的核心,其输入为节是控制部件的核心,其输入为节拍信号和经译码后的指令信号,输出为拍信号和经译码后的指令信号,输出为12位控制字。其位控制字。其结构见图结构见图3-6所示。所示。2022-11-1619 由图可见五条指令的控制器就已经这么复由图可见五条指令的控制器就已经这么复杂,由此可知要
17、扩大指令系统,其控制矩阵的杂,由此可知要扩大指令系统,其控制矩阵的结构以及设计上的问题是相当复杂的。这样从结构以及设计上的问题是相当复杂的。这样从结构上用逻辑电路的方法来实现控制字的方法结构上用逻辑电路的方法来实现控制字的方法称为称为硬连线方法硬连线方法(硬件方法)。也可以用软件(硬件方法)。也可以用软件的方法来实现这个目的,这就是所谓的方法来实现这个目的,这就是所谓微程序法微程序法。这将在后面做简要介绍。这将在后面做简要介绍。2022-11-1620其它控制电路:其它控制电路:(1)时钟脉冲发生器:它一般由两部分组成,)时钟脉冲发生器:它一般由两部分组成,即时钟振荡器及射极输出器。前者是石英
18、晶体振即时钟振荡器及射极输出器。前者是石英晶体振荡器,后者则用以降低输出电阻,以提高带负载荡器,后者则用以降低输出电阻,以提高带负载能力。能力。(2 2)运行)运行/停车触发器停车触发器:既接收来自按钮的既接收来自按钮的“运运行行”脉冲信号,也接收来自指令译码器的脉冲信号,也接收来自指令译码器的“HLT”HLT”停车信号,其输出就去启动时钟振荡停车信号,其输出就去启动时钟振荡器。器。(3 3)“启动启动”和和“清零清零”按钮:由人直接操作按钮:由人直接操作的主令电器,命令都是由此开始的。的主令电器,命令都是由此开始的。图图3-73-7用方块图展示了控制部件各个电路用方块图展示了控制部件各个电路
19、间的关系。间的关系。2022-11-16212022-11-1622 作为引导入门的模型机功能太简单。其原作为引导入门的模型机功能太简单。其原因是:首先是硬件过于简单,只能接受五条指因是:首先是硬件过于简单,只能接受五条指令而产生相应的例行程序。其次是软件开发问令而产生相应的例行程序。其次是软件开发问题,即如何利用现有的指令系统,经过灵活的题,即如何利用现有的指令系统,经过灵活的编程以解决更复杂的问题。总之,计算机的功编程以解决更复杂的问题。总之,计算机的功能在很大程度上取决于中央处理器部分,而中能在很大程度上取决于中央处理器部分,而中央处理器的功能又取决于控制器的功能。央处理器的功能又取决于
20、控制器的功能。图图3-8是功能扩充的微机结构简图。是功能扩充的微机结构简图。2022-11-1623图3-8 功能扩充后的微机的结构图2022-11-1624(1 1)子程序计数器)子程序计数器SCSC(2 2)程序计数器程序计数器PCPC(3 3)RAMRAM(4 4)CONCON(5 5)ALUALU(见表见表3-43-4)(6 6)变址寄存器变址寄存器X X(7 7)IRIR 对于对于访问存储器指令访问存储器指令和和转移指令转移指令,高四位,高四位为指令字段,低八位为地址字段。为指令字段,低八位为地址字段。对于对于运算指令运算指令,高八位为指令字段,而低,高八位为指令字段,而低四位为任意
21、数,不代表任何意义。四位为任意数,不代表任何意义。2022-11-1625 说明:说明:(1)访问存储器指令)访问存储器指令-与存储器的读与存储器的读/写有关,所写有关,所以有其地址字段必须为以有其地址字段必须为8位(位(256)。)。(2)转移指令)转移指令-可用以改变程序的顺序。可用以改变程序的顺序。(3)逻辑运算指令)逻辑运算指令-特点是与存储器及特点是与存储器及PC无关,无关,而是与而是与ALU、A及及B寄存器有关。寄存器有关。2022-11-16262022-11-1627 上节提供的指令系统,可以据以进行程序设计。上节提供的指令系统,可以据以进行程序设计。所谓初级程序是包括下列的程
22、序模式:所谓初级程序是包括下列的程序模式:1 1程序一统到底,中间没有任何程序一统到底,中间没有任何分支和跳转。分支和跳转。2 2程序进行中,根据判断程序执程序进行中,根据判断程序执行的不同结果而分别跳转至其他子程序。行的不同结果而分别跳转至其他子程序。3 3程序进行过程中,在某一循环程序进行过程中,在某一循环体进行若干次循环运行,然后再继续前进。体进行若干次循环运行,然后再继续前进。4 4一程序进行至某一阶段,调一程序进行至某一阶段,调用存储于某存储区中的某个子程序,然后返回用存储于某存储区中的某个子程序,然后返回至主程序继续运行下去。至主程序继续运行下去。2022-11-1628【例例1
23、1】程序清单(循环程序)】程序清单(循环程序)R R0 0 LDA 6H LDA 6H ;把(把(R R6 6)装人装人A A去去 R R1 1 SUB 7H SUB 7H ;从(从(A A)减去(减去(R R7 7)指指 R R2 2 JAM JAM 5H 5H ;(A A)=负,则转移至负,则转移至R R5 5 令令 R R3 3 JAZ JAZ 5H 5H ;(A A)=0=0,则转移至则转移至R R5 5 区区 R R4 4 JMP JMP 1H 1H ;无条件转移至无条件转移至R R1 1 R R5 5 HLT HLT 数数 据据 R R6 6 25 25(十进制)十进制)区区 R
24、R7 7 9 9 (十进制)十进制)2022-11-1629 执行结果执行结果 R R0 0 LDA 6H A LDA 6H A中的内容中的内容=25=25 R R1 1 SUB 7H A SUB 7H A中的内容中的内容=25-9=16=25-9=16 R R2 2 JAM 5H JAM 5H 因为(因为(A A)负,所以不转移负,所以不转移 R R3 3 JAZ 5H JAZ 5H 因为(因为(A A)00,所以不转移所以不转移 R R4 4 JMP 1H JMP 1H 无条件转移至无条件转移至R R1 1 从从R R1 1 起再执行第二次起再执行第二次:R R1 1 SUB 7H A S
25、UB 7H A中的内容中的内容=16-9=7=16-9=7 R R2 2 JAM 5H JAM 5H 因为(因为(A A)负,所以不转移负,所以不转移 R R3 3 JAZ 5H JAZ 5H 因为(因为(A A)00,所以不转移所以不转移 R R4 4 JMP 1H JMP 1H 无条件转移至无条件转移至R R1 1 从从R R1 1起再执行第三次:起再执行第三次:R R1 1 SUB 7H A SUB 7H A中的内容中的内容=7-9=-2=7-9=-2 R R2 2 JAM 5H JAM 5H 因为因为(A)=A)=负所以转移至负所以转移至R R5 5 R R5 5 HLT HLT 停机
26、停机2022-11-1630 这个程序可以理解为求(这个程序可以理解为求(R R6 6)()(R R7 7)的除的除法运算。这里是法运算。这里是25259 9,除的结果应得商为,除的结果应得商为2 2,余,余数为数为7 7。程序循环运行的次数即为商,余数即为第。程序循环运行的次数即为商,余数即为第二次执行后二次执行后A A中的内容。中的内容。例例22循环程序循环程序(利用变址寄存器进行设计利用变址寄存器进行设计)R R0 0 LDX 5H LDX 5H ;将(将(R R5 5)装人变址器装人变址器X XR R1 1 DEX DEX ;命(命(X X)减减1 1R R2 2 JIZ 4H JIZ
27、 4H ;(X X)=0 0,则转移至,则转移至R R4 4R R3 3 JMP 1H JMP 1H ;无条件转移至无条件转移至R R1 1R R4 4 HLT HLT ;停机停机R R5 5 3 3(十进制)十进制)(R R5 5)=3=3(数据)数据)2022-11-1631第一次执行结果第一次执行结果:R R0 0 LDX 5H LDX 5H(X X)=(R R5 5)=3=3R R1 1 DEX DEX (X X)=3=3-1=2-1=2R R2 2 JIZ 4H JIZ 4H 因为(因为(X X)0 0,所以不转移,所以不转移R R3 3 JMP 1H JMP 1H 无条件转移至无条
28、件转移至R R1 1第二次执行结果第二次执行结果:R R1 1 DEX DEX (X X)=2=2-1=1-1=1R R2 2 JIZ 4H JIZ 4H 因为(因为(X X)0 0,所以不转移,所以不转移R R3 3 JMP 1H JMP 1H 无条件转移至无条件转移至R R1 1第三次执行结果第三次执行结果:R R1 1 DEX DEX (X X)=1=1-1=0-1=0R R2 2 JIZ 4H JIZ 4H 因为因为(X)=X)=0 0,所以转移则至,所以转移则至R R4 4R R5 5 HLT HLT 停机停机2022-11-1632例例3乘法计算的程序乘法计算的程序 12*8(利用
29、循环程序和加利用循环程序和加法运算来实现)法运算来实现)R R0 0 NOP NOP ;空操作空操作R R1 1 LDX AH LDX AH R R2 2 CLA CLA ;将将A A清零清零 R R3 3 DEX DEX R R4 4 ADD 9H ADD 9H ;七次返回七次返回 R R5 5 JIZ 7H JIZ 7H R R6 6 JMP 3H JMP 3H R R7 7 OUT OUT ;转出循环转出循环 96 96转至输出寄存器转至输出寄存器O O中中R R8 8 HLT HLT R R9 9 12D12D R RA A 8D8D 2022-11-1633例例4设计一个用以测试某个
30、来自接口电路的输入数设计一个用以测试某个来自接口电路的输入数I0,以,以确定该数是否为奇数。如确定该数是否为奇数。如I0为奇数(即最后一位为为奇数(即最后一位为1),则),则显示一个显示一个 1111 1111 1111;如;如I0是偶数(最后一位为是偶数(最后一位为 0),),则显示一个则显示一个 0000 0000 0000。程序清单如下:。程序清单如下:R R0 0 INP INP ;将将I I0 0装入累加器装入累加器A AR R1 1 LDB 9H LDB 9H;将(;将(R R9 9)装入寄存器装入寄存器B BR R2 2 AND AND ;将;将(B)B)与与(A)A)进行进行“
31、与与”运算运算 R R3 3 JAZ 6H JAZ 6H;(;(A A)=0=0,则转移至则转移至R R6 6 R R4 4 LDA AH LDA AH;将(;将(R RA A)装入累加器)装入累加器A A R R5 5 JMP 7H JMP 7H;无条件转移至;无条件转移至R R7 7 R R6 6 LDA BH LDA BH;将(;将(R RB B)装入累加器)装入累加器A A R R7 7 OUT OUT ;输出(;输出(A A)至显示器至显示器R R8 8 HLT HLT ;停机;停机 R R9 9 0000 0000 0001 0000 0000 0001(掩码或屏蔽字)掩码或屏蔽字
32、)R RA A 1111 1111 1111 1111 1111 1111 奇数标志奇数标志R RB B 0000 0000 0000 0000 0000 0000 偶数标志偶数标志2022-11-1634【例例5 5】子程序设计子程序设计 设计一个计算设计一个计算x x2 2+y+y2 2+z+z2 2=?的计算程序。由的计算程序。由于于x x2 2、y y2 2和和z z2 2在形式上都是一样的,是求一个数在形式上都是一样的,是求一个数的平方值,这在其它数学运算时也常用得着,的平方值,这在其它数学运算时也常用得着,因此可将因此可将x x2 2做成一个子程序而存于存储器中一做成一个子程序而存
33、于存储器中一个固定区域中,用到时,即可将其调出使用。个固定区域中,用到时,即可将其调出使用。这里将子程序存于这里将子程序存于 R RF2F2为起始地址得一个区域中,为起始地址得一个区域中,则程序清单如下:则程序清单如下:2022-11-1635R RF2 F2 STA CAH STA CAH ;将(;将(A)A)暂存于暂存于R RCACAR RF3F3 LDX CAH LDX CAH ;将(将(R RCACA)装入)装入X XR RF4F4 CLA CLA ;将累加器;将累加器A A清零清零 R RF5 F5 DEX DEX ;(;(X X)减)减1 1 R RF6F6 ADD CAH ADD
34、 CAH ;将(;将(R RCACA)与()与(A)A)相加相加R RF7F7 JIZ F9H JIZ F9H ;(;(X X)=0=0,则转移至则转移至R RF9F9R RF8 F8 JMP F5H JMP F5H ;无条件转移无条件转移R RF5F5 R RF9F9 BRB BRB ;返回主程序返回主程序R RC6C6 x x R RC7C7 y y ;被运算的数据被运算的数据 R RC8 C8 z zR RC9C9 ;运算过程暂存地址运算过程暂存地址 R RCACA x与与x相加相加的过的过程程循循环环体体2022-11-1636主程序:子程序:R00 LDA C6H 1 RF2 STA
35、 CAH R01 JMS F2H RF3 LDX CAH R02 STA C9H 1 RF4 CLA R03 LDA C7H RF5 DEX R04 JMS F2H 2 RF6 ADD CAH R05 ADD C9H 2 RF7 JIZ F9H R06 STA C9H RF8 JMP F5H R07 LDA C8H RF9 BRB R08 JMS F2H 3R09 ADD C9H 3R0A OUTR0B HLT2022-11-1637 有了子程序,每当求平方时,只要调用子程有了子程序,每当求平方时,只要调用子程序即可,本例调用三次子程序。主程序只管把每序即可,本例调用三次子程序。主程序只管把每
36、次计算结果(次计算结果(R RC9C9中)相加,因而主程序显得短小中)相加,因而主程序显得短小清楚。清楚。问题的提出:随着计算机的体系结构日益复问题的提出:随着计算机的体系结构日益复杂化,加之硬件连线的组合逻辑设计方法的缺点杂化,加之硬件连线的组合逻辑设计方法的缺点(不灵活性、不规整性和线路的日益复杂性)的(不灵活性、不规整性和线路的日益复杂性)的存在,对于一些复杂的控制器的设计已从硬件连存在,对于一些复杂的控制器的设计已从硬件连线结构转向微程序控制的结构。那么微程序设计线结构转向微程序控制的结构。那么微程序设计的的本质本质是什么呢?是什么呢?它是用软件的方法组织和控制它是用软件的方法组织和控
37、制数据处理系统的信息传递,并用硬件结构实现。数据处理系统的信息传递,并用硬件结构实现。2022-11-1638 微程序控制的基本概念是由英国剑桥大学的微程序控制的基本概念是由英国剑桥大学的威尔克斯教授在威尔克斯教授在1951年提出的,他在设计计算年提出的,他在设计计算机的最好方法一文中指出,机的最好方法一文中指出,将机器指令的操作将机器指令的操作(从取指到执行)分解为若干个更基本的微操作(从取指到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码的序列,并将有关的控制信息(微命令)以微码的形式编成微指令,存入控制存储器中。形式编成微指令,存入控制存储器中。这样,这样,每每
38、条机器指令与一段微程序相对应,取出微指令就条机器指令与一段微程序相对应,取出微指令就产生相应的微命令,从而实现机器指令要求的信产生相应的微命令,从而实现机器指令要求的信息传送和加工息传送和加工。这就是微程序设计的基本思想。这就是微程序设计的基本思想。2022-11-1639 微程序控制器的核心部件是存储微程序的微程序控制器的核心部件是存储微程序的控制存储器控制存储器CM,一般用只读存储器一般用只读存储器ROM构成。构成。而而EPROM的出现为实现微程序修改及动态微的出现为实现微程序修改及动态微程序设计提供了可能。程序设计提供了可能。基本术语:基本术语:微命令:微命令:控制部件通过控制线向执行部
39、件发出各控制部件通过控制线向执行部件发出各种控制命令,这种控制命令叫微命令。种控制命令,这种控制命令叫微命令。微操作:微操作:执行部件接受微命令后所进行的操作,执行部件接受微命令后所进行的操作,叫做微操作。叫做微操作。微指令:微指令:在一个机器周期中,一组实现一定操作在一个机器周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。功能的微命令的组合,构成一条微指令。2022-11-1640微程序:微程序:一条机器指令的功能是用许多条微指令一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列叫做微程组成的序列来实现的,这个微指令序列叫做微程序。序。机器指令和微指令的区别:机
40、器指令和微指令的区别:机器指令机器指令是提供给用户的基本单位,它表示是提供给用户的基本单位,它表示机器能够完成的一项基本功能。机器能够完成的一项基本功能。微指令微指令则是为实则是为实现机器指令操作(一步或全部)的一系列微命令现机器指令操作(一步或全部)的一系列微命令的组合,它作为机器内部的信息,不一定提供给的组合,它作为机器内部的信息,不一定提供给用户,对程序员是透明的用户,对程序员是透明的。用户根据某项任务编制的用户根据某项任务编制的程序程序是存放在主存是存放在主存储器中,由储器中,由PC指示其流程。指示其流程。微程序微程序是由微指令构是由微指令构成的,用于描述机器指令。在设计计算机时预先成
41、的,用于描述机器指令。在设计计算机时预先编制好的,放在控制存储器中,供执行程序时使编制好的,放在控制存储器中,供执行程序时使用用。2022-11-1641根据存储程序的运行方式,其程序的指令顺序地存储在存储器中,这些指令被逐条取出并执行。这种串行运行,重复取出和执行顺序指令是过去计算机的主要局限性。根本解决的方法是采用并行操作。流水线技术是一种同时进行若干操作的并行处理方式。它把取操作和执行操作重叠进行,在执行一条指令的同时,又取另一条指令。串行运行的顺序如图3-12a 所示。流水线操作如图3-12b所示。2022-11-16422022-11-1643 流水线技术是要增加计算机硬件,例如上流
42、水线技术是要增加计算机硬件,例如上述中,需要采用预取指令操作就需增加硬件来取述中,需要采用预取指令操作就需增加硬件来取指令,并把它存放到寄存器队列中指令,并把它存放到寄存器队列中,使微处理,使微处理器能同时进行取指令和执行微指令重叠进行。因器能同时进行取指令和执行微指令重叠进行。因此在微处理器中有两个运算单元,一个主运算单此在微处理器中有两个运算单元,一个主运算单元用于执行指令,另一元用于执行指令,另一 个个 专用于地址计算。专用于地址计算。2022-11-1644 随着电子技术的发展,随着电子技术的发展,CPU和存储器的速和存储器的速度都得到了明显的改善,但存储器速度的提高赶度都得到了明显的
43、改善,但存储器速度的提高赶不上不上CPU运算速度的提高,大容量存储器的速度运算速度的提高,大容量存储器的速度远远跟远远跟 不上不上CPU的运算速度。为了程序的需要,的运算速度。为了程序的需要,主存容量也从几千字节发展到几兆和几十兆字节、主存容量也从几千字节发展到几兆和几十兆字节、几百兆字节以上。尽管如此,受价格等方面的约几百兆字节以上。尽管如此,受价格等方面的约束,主存容量仍不能满足程序和数据的要求。因束,主存容量仍不能满足程序和数据的要求。因此需要将大量不常用的程序存放于大容量、低速此需要将大量不常用的程序存放于大容量、低速的辅存中。的辅存中。2022-11-1645 利用硬件控制将主存与辅
44、存有机的组成一个整利用硬件控制将主存与辅存有机的组成一个整体,构成体,构成二级存储体系二级存储体系,其结构见图所示,其结构见图所示,CPU与与主存可以直接交换信息,辅存可以与主存交换信息主存可以直接交换信息,辅存可以与主存交换信息但不能与但不能与CPU直接交换信息。直接交换信息。在二级存储体系中,主在二级存储体系中,主存是与计算机各部件进行数存是与计算机各部件进行数据交换的主要设备,辅存作据交换的主要设备,辅存作为主存的后援系统来弥补主为主存的后援系统来弥补主存容量不足的缺陷。辅存中存容量不足的缺陷。辅存中存放的是暂时不用和主存中存放的是暂时不用和主存中容纳不下的程序和数据。容纳不下的程序和数
45、据。2022-11-1646 这里辅存中的信息不能被这里辅存中的信息不能被CPU直接访直接访问,必须通过调入主存中才能被计算机的问,必须通过调入主存中才能被计算机的其它部件使用。其它部件使用。一般有两种途径允许一般有两种途径允许CPU运行辅存中存放的程序。运行辅存中存放的程序。一种途径是当主一种途径是当主存能够容纳下整个程序及所需数据时,将存能够容纳下整个程序及所需数据时,将要使用的程序从辅存调入到主存之中,然要使用的程序从辅存调入到主存之中,然后由后由CPU控制运行。另一种途径是当主存控制运行。另一种途径是当主存容量不能容纳整个程序时,由程序员将程容量不能容纳整个程序时,由程序员将程序分成与
46、主存大小相匹配的几段,按需要序分成与主存大小相匹配的几段,按需要控制各段程序间的运行顺序,在执行时依控制各段程序间的运行顺序,在执行时依次调入主存运行。次调入主存运行。2022-11-1647 二级存储体系解决了主存容量不足、二级存储体系解决了主存容量不足、价格高的矛盾价格高的矛盾,但仍没有解决主存与但仍没有解决主存与CPU之间速度不匹配的问题。之间速度不匹配的问题。现代科技的发展现代科技的发展使使CPU的速度快于主存的存取速度,存储的速度快于主存的存取速度,存储器的相对低速影响了器的相对低速影响了CPU性能的发挥。同性能的发挥。同时,主存与辅存之间数据交换速度也影响时,主存与辅存之间数据交换
47、速度也影响了计算机存储系统性能的发挥。因此,存了计算机存储系统性能的发挥。因此,存储系统的设计突破了用主存和辅存组成单储系统的设计突破了用主存和辅存组成单一的二级存储结构,采用由多种性能不同、一的二级存储结构,采用由多种性能不同、速度不同、价格不同的存储设备按一定的速度不同、价格不同的存储设备按一定的层次结构组成多级存储体系,见图所示。层次结构组成多级存储体系,见图所示。2022-11-1648 多级存储体系多级存储体系是由主存是由主存辅存二级存储体系发展而来。辅存二级存储体系发展而来。在主存和辅存之间利用辅助的在主存和辅存之间利用辅助的软硬件将二者连为一体,构成软硬件将二者连为一体,构成速度
48、接近主存、容量接近辅存速度接近主存、容量接近辅存的存储体系。同时为解决主存的存储体系。同时为解决主存与与 CPU 之间的互相匹配问题,之间的互相匹配问题,参照主存参照主存辅存结构在辅存结构在 CPU与主存之间增加高速缓冲存储与主存之间增加高速缓冲存储器器(Cache)。借助于辅助硬件,借助于辅助硬件,将将 Cache与与 主存构成一整体,主存构成一整体,使得它具有接近使得它具有接近Cache的速度、的速度、主存的容量和接近主存的平均主存的容量和接近主存的平均价格。价格。2022-11-1649 在多级存储体系中,在多级存储体系中,Cache的出现基本解决的出现基本解决了主存与了主存与CPU之间
49、的速度匹配问题。之间的速度匹配问题。Cache的性的性能高于主存的性能,但由于它是采用价格昂贵的能高于主存的性能,但由于它是采用价格昂贵的双极性双极性RAM线路,因此其价格高于主存。采用线路,因此其价格高于主存。采用适量的适量的Cache既可以增加存储体系的性能,又可既可以增加存储体系的性能,又可以将整个存储体系的价格限制在一定范围内。以将整个存储体系的价格限制在一定范围内。Cache的原理和特点:的原理和特点:其工作原理是基于对大量典型程序运行实例其工作原理是基于对大量典型程序运行实例分析,在较短的时间间隔内,由程序产生的地址分析,在较短的时间间隔内,由程序产生的地址往往集中于存储器逻辑地址
50、空间很小的范围内。往往集中于存储器逻辑地址空间很小的范围内。2022-11-1650 指令地址的分布是连续的,加上循环程序和指令地址的分布是连续的,加上循环程序和子程序段的重复执行,对这些地址的访问自然具子程序段的重复执行,对这些地址的访问自然具有时间集中分布的倾向。这种对局部范围的存储有时间集中分布的倾向。这种对局部范围的存储器地址频繁访问,对此范围外的地址访问甚少的器地址频繁访问,对此范围外的地址访问甚少的现象称为程序访问的局部性。现象称为程序访问的局部性。程序访问的局部性程序访问的局部性为为 Cache的引入提供了理论依据。的引入提供了理论依据。Cache中存放着主存的一部分副本中存放着