




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 一个实际的微机的电路结构是相当复杂的。本章内容将从微机的最基本功能出发来讲解其电路原理,在有限的时间内让同学们建立一个较完整的基本概念。 微机的基本功能可概括为“三能一快”;能运算、能判别、能决策。但所有这些“能”的过程都是建立在“快”的基础上才能有实际意义。2 在整个计算机中,信息量是很大的,部件数在整个计算机中,信息量是很大的,部件数很多,如何做到各个信息和部件能够很多,如何做到各个信息和部件能够“循序渐进、循序渐进、各得其所、有条不紊、快而不乱各得其所、有条不紊、快而不乱”?这就是计算?这就是计算机基本工作原理所要解答的问题。机基本工作原理所要解答的问题。 下面将以一个下面将以一个简
2、化简化了的微机作为分析对象,了的微机作为分析对象,逐步讲解一般计算机的各个基本功能,从而概括逐步讲解一般计算机的各个基本功能,从而概括出微机的基本工作原理。在分析讲解过程中,陆出微机的基本工作原理。在分析讲解过程中,陆续介绍各个基本电路和部件之间的续介绍各个基本电路和部件之间的信息流通过程信息流通过程,指令系统的意义,指令系统的意义,程序设计的步骤程序设计的步骤,控制部件的控制部件的功能及其结构功能及其结构,控制矩阵产生控制字的过程控制矩阵产生控制字的过程等等,这样可以对微机的基本工作原理有一个比较完整这样可以对微机的基本工作原理有一个比较完整的概念的概念。3 简化的微机结构如图3-1所示,其
3、硬件结构特点是:功能简单、内存量小、字长8位、手动输入。微机组成:中央处理器微机组成:中央处理器CPU(Center ProcessProcess Unit)(微处理器)、存储器()(微处理器)、存储器(Memory)、外设)、外设(I/O设备)设备) 4CPCLKCLREPLACLKEALICLKCLREILMCLKERSuEuLBCLKLOCLKCPEP LMERLIEILAEASUEULBLOPCAIRCONMARPROMALUBODCLKCLRCPU1. PC(Program Control) 程序控制器,控制指令的运行程序控制器,控制指令的运行顺序。顺序。 Cp=1时候,时候,PC=
4、PC+12. IR(Instruction Register) 指令寄存器,从指令寄存器,从PROM中取中取指令,分析指令后,将指令字指令,分析指令后,将指令字送送CON和总线和总线 指令系统和指令字:指令系统和指令字: * * * * * * * * 指令字段指令字段 地址字段地址字段指令字段:如指令字段:如0000表示表示LDA指指令(令(Load A),操作码(助记),操作码(助记符)和操作数符)和操作数指令存放于存储器的指令区指令存放于存储器的指令区数据存放于存储器的数据区数据存放于存储器的数据区4. A:累加器;:累加器; B:B寄存器;寄存器; O:输出寄存器;:输出寄存器; D:
5、输出设备:输出设备5. CON:控制器:控制器 控制字:控制字:CON=CPEPLMER LIEILAEA SuEULBLO3. MAR:存储器地址寄存器:存储器地址寄存器 微型计算机的简化结构及功能分解(图微型计算机的简化结构及功能分解(图3.1,P41)5图3-2 PROM结构原理图6(5)控制器)控制器 其功能: (PC、IR)清零;发出同步脉冲CLK;发出12位控制字CON。(6)累加器A(7)寄存器B(8)输出寄存器O(9)二进制显示器D 可见结构简单,但为一个可编程计算机的雏形,麻雀虽小,五脏具全。其功能分解为三大部分见图所示。7指令系统就是用来编制程序的一个指令集合。指令系统就是
6、用来编制程序的一个指令集合。 这台微型机有五条指令,即其控制部件这台微型机有五条指令,即其控制部件能完成一系列例行程序以执行五种命令:能完成一系列例行程序以执行五种命令: LDALDA将数据装入累加器将数据装入累加器A A ADDADD进行加法运算进行加法运算 SUBSUB进行减法运算进行减法运算 OUTOUT输出结果输出结果 HLTHLT停机停机 这五条指令在一起就称为这台计算机的这五条指令在一起就称为这台计算机的指令系统指令系统。 8 不同型号的微处理机的指令系统是不不同型号的微处理机的指令系统是不同的,指令的条数也不相同,如同的,指令的条数也不相同,如Z80Z80型的指型的指令系统可达:
7、令系统可达: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 ;把把 R RC C中的数据与中的数据与A A的相加的相
8、加 SUB RSUB RD D ;把把 A A中的数据与中的数据与R RD D的相减的相减 OUT OUT ;输出输出A A中的数据,即结果中的数据,即结果 HLT HLT ;停机停机 助记符助记符 操作数操作数 注释注释9 这样的格式称为用汇编语言写的汇编这样的格式称为用汇编语言写的汇编语言程序语言程序。最左边的符号称为助记符,中。最左边的符号称为助记符,中间的符号间的符号R R9 9、R RA A等称为操作数,在等称为操作数,在“;”之后的称为注释,每一行就是一条指令。之后的称为注释,每一行就是一条指令。运行结果(运行结果(A A)= =(R R9 9)运行结果(运行结果(A A)= =(
9、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停止发脉冲停止发脉冲 最后一条指令,使时钟脉冲停发,则计算机停最后一条指令,使时钟脉冲停发,则计算机停止运行,但电源未切断,所以显示器中仍继续
10、显示止运行,但电源未切断,所以显示器中仍继续显示计算的结果。计算的结果。101、先要有一个操作码表:2、存储器资源分配、存储器资源分配4共共16个存储单元个存储单元R0R15,每个单元,每个单元8位,即内存为位,即内存为16*84分成两个部分分成两个部分4R0R7:程序存储区(即指令区):程序存储区(即指令区)4R8R15:数据存储区:数据存储区113、将源程序翻译成目的程序124、程序及数据的输入方法13 执行一条指令的时间为一个执行一条指令的时间为一个机器周期机器周期。机器。机器周期又可分为周期又可分为取指周期取指周期和和执行周期执行周期。取指过程和。取指过程和执行过程都得通过不同的执行过
11、程都得通过不同的机器节拍机器节拍。在这些节拍。在这些节拍内,每个寄存器(内,每个寄存器(PCPC、MARMAR、IRIR、A A、B B、O O等)的等)的内容可能发生变化。内容可能发生变化。机器节拍机器节拍:即一个时钟周期(时钟一个高电平:即一个时钟周期(时钟一个高电平+一一 个低电平)个低电平)14环形计数器和机器节拍环形计数器和机器节拍作用:作用:产生机器节拍,控制产生机器节拍,控制电路依次发出各个动作,重复电路依次发出各个动作,重复执行指令执行指令其位数与指令的执行周期长其位数与指令的执行周期长度有关度有关特点:特点:各位依次为高电位。各位依次为高电位。152、取指周期及执行周期、取指
12、周期及执行周期取指周期取指周期需要三个机器节拍:需要三个机器节拍:(1)地址节拍地址节拍(T0=1):PC内容送内容送MAR并到达并到达PROM(2)储存节拍储存节拍(T1=1):PROM指定单元内容送到指定单元内容送到IR,高四位高四位送控制部件送控制部件CON=0001 1000 0000,即,即ER=1,LI=1(3)增量节拍增量节拍(T2=1):PC+1,指向下一条指令指向下一条指令CON=1000 0000 0000,即,即16执行周期执行周期也需要三个节拍:这里以也需要三个节拍:这里以LDA例例行程序为例:行程序为例:(4) T3=1,IR高四位送至控制器进行分析,高四位送至控制器
13、进行分析,IR低四低四位送总线,位送总线,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 0,即,即=1,=117(6) T5=1,因因T4=1时,已将数据存入时,已将数据存入A中,所以中,所以LDA的例行程序就已完成,的例行程序就已完成, T5为空拍为空拍: CON= 0
14、0 0 0 0 0 0 0 0 0 0 0注意:(1)为什么需空拍,但一些其它指令例行程序需要六拍,这样的机器称为固定周期的计算机。(2)对任何一条指令取指周期都是三拍。 其它例行程序执行情况见表3-318例例3.1:ADD 0AH的指令周期的指令周期指令执行过程:指令执行过程:AH存储单元的内容送存储单元的内容送B,再和再和A的内容在的内容在ALU相加,相加结果送入相加,相加结果送入A1. 取指周期取指周期2. 指令执行周期指令执行周期 T3(T3=1)节拍:节拍:IR将指令的低四位将指令的低四位0AH送送MAR T4(T4=1)节拍:地址为节拍:地址为0AH的存储单元内容送的存储单元内容送
15、B寄存器,寄存器,A和和B的内容在的内容在ALU中中相加相加 T5(T5=1)节拍:节拍:ALU中的内容送中的内容送A寄存器寄存器例例3.2:SUB 0BH的指令周期的指令周期指令执行过程:指令执行过程:0BH存储单元的内容送存储单元的内容送B,再在再在ALU中将中将A的内容减去的内容减去B的内容,的内容,结果送入结果送入B T4(T4=1)节拍:地址为节拍:地址为0BH的存储单元内容送的存储单元内容送B寄存器,寄存器,A和和B的内容在的内容在ALU中相减中相减 EM=1、LB=1、SU=119表3-3 执行指令的过程20控制部件的主要环节:控制部件的主要环节:(1)环行计数器()环行计数器(
16、RC)(2)指令译码器(指令译码器(ID)(3)控制矩阵(控制矩阵(CM)(4)其它控制电路其它控制电路 称为称为控制器控制器211)环形计数器)环形计数器RC(产生机器节拍)产生机器节拍)环形计数器CLEARCLKQ3 D3 Q2 D2 Q1 D1 Q0 D0 PRPRESET时钟周期机器节拍Q0Q1Q2Q3224指令译码器的任务是:将高四位组成的编码,指令译码器的任务是:将高四位组成的编码,译成一个信号,即将某一控制线译为高电位。译成一个信号,即将某一控制线译为高电位。其译码电路如图其译码电路如图3-5所示。所示。I7I6I5I4&LDA 例3.3:LDA指令的指令译码器2)指令译
17、码器(ID)对应指令对应指令 000023对应指令对应指令 0000对应指令对应指令 0001 对应指令对应指令 0010 对应指令对应指令 1110 对应指令对应指令 1111 243)控制矩阵)控制矩阵CM功能:产生控制字功能:产生控制字例例3.4:取指周期:取指周期T0节拍,节拍, LDA指令执行周期指令执行周期T3节拍的控制矩阵电路分析节拍的控制矩阵电路分析T0T1T2T3T4T5指令译码器LDAI4I7&LM&EIEP1环形计数器控制矩阵取指周期的取指周期的T0节拍,节拍,PC内容送内容送MAR,要产生控制字要产生控制字EP=1和和LM=1; LDA指令执行周期的指令
18、执行周期的T3节拍,节拍,IR的低四位送的低四位送MAR,要产生控制字要产生控制字EI=1和和LM=125 控制矩阵(控制矩阵(CM)是控制部件的核心,其输入为节拍是控制部件的核心,其输入为节拍信号和经译码后的指令信号,输出为信号和经译码后的指令信号,输出为12位控制字。其结位控制字。其结构见图构见图3-6所示。所示。4根指根指令控制令控制线,当线,当LDA=1T0=1,EP=1,LM=1T1=1,LI=1,ER=1T3=1, LM=1,EI=126 由图可见五条指令的控制器就已经这么复杂,由此由图可见五条指令的控制器就已经这么复杂,由此可知要扩大指令系统,其控制矩阵的结构以及设计上可知要扩大
19、指令系统,其控制矩阵的结构以及设计上的问题是相当复杂的。这样从结构上用逻辑电路的方的问题是相当复杂的。这样从结构上用逻辑电路的方法来实现控制字的方法称为硬连线方法(硬件方法)。法来实现控制字的方法称为硬连线方法(硬件方法)。也可以用软件的方法来实现这个目的,这就是所谓微也可以用软件的方法来实现这个目的,这就是所谓微程序法。这将在后面做简要介绍。程序法。这将在后面做简要介绍。27其它控制电路:其它控制电路:(1)时钟脉冲发生器时钟脉冲发生器:它一般由两部分组成,即时钟振:它一般由两部分组成,即时钟振荡器及射极输出器。前者是石英晶体振荡器,后者则用荡器及射极输出器。前者是石英晶体振荡器,后者则用以
20、降低输出电阻,以提高带负载能力。以降低输出电阻,以提高带负载能力。(2 2)运行运行/ /停车触发器停车触发器(3 3)“启动启动”和和“清零清零”按钮按钮 图图3-73-7用方块图展示了控制部件各个电路间的关系。用方块图展示了控制部件各个电路间的关系。28293.1-3.5节小结41. 掌握机器周期、时钟周期(机器节拍)掌握机器周期、时钟周期(机器节拍)的概念的概念42. 以一个指令为例,掌握各机器节拍所以一个指令为例,掌握各机器节拍所完成的工作完成的工作43. 了解控制部件的组成电路了解控制部件的组成电路4作业:作业:3.2、3.3、3.5、3.6、3.7、3.1230 作为引导入门的模型
21、机功能太简单。其原因是:首先是硬件过于简单,只能接受五条指令而产生相应的例行程序。其次是软件开发问题,即如何利用现有的指令系统,经过灵活的编程以解决更复杂的问题。总之,计算机的功能在很大程度上取决于中央处理器部分,而中央处理器的功能又取决于控制器的功能。 图3-8是功能扩充的微机结构简图。31图3-8 功能扩充后的微机的结构图32(1)子程序计数器SC(2)程序计数器PC(3)RAM(4)CON(5)ALU(见表3-4)(6)变址寄存器X(7)IR 对于访问存储器指令和转移指令,高四位为指令字段,低八位为地址字段。 对于运算指令,高八位为指令字段,而低四位为任意数,不代表任何意义。33说明:(
22、1)访问存储器指令-与存储器的读/写有关,所以有其地址字段必须为8位(256)。(2)转移指令-可用以改变程序的顺序。(3)逻辑运算指令-特点是与存储器及PC无关,而是与ALU、A及B寄存器有关。3435 上节提供的指令系统,可以据以进行程序设计。 所谓初级程序是包括下列的程序模式: 1简单程序程序一统到底,中间没有任何分支和跳转。 2分支程序程序进行中,根据判断程序执行的不同结果而分别跳转至其他子程序。 3循环程序程序进行过程中,在某一循环体进行若干次循环运行,然后再继续前进。 4调用子程序一程序进行至某一阶段,调用存储于某存储区中的某个子程序,然后返回至主程序继续运行下去。36【例1】程序
23、清单(循环程序) R0 LDA 6H 把(R6)装人A去 R1 SUB 7H 从(A)减去(R7) 指 R2 JAM 5H (A)=负,则转移至R5 令 R3 JAZ 5H (A)= 0,则转移至R5 区 R4 JMP 1H 无条件转移至R1 R5 HLT 数 据 R6 25(十进制) 区 R7 9 (十进制)37 执行结果 R0 LDA 6H A中的内容 = 25 R1 SUB 7H A中的内容 = 25-9 =16 R2 JAM 5H 因为(A)负,所以不转移 R3 JAZ 5H 因为(A)0,所以不转移 R4 JMP 1H 无条件转移至R1 从R1 起再执行第二次: R1 SUB 7H
24、A中的内容 = 16-9 =7 R2 JAM 5H 因为(A)负,所以不转移 R3 JAZ 5H 因为(A)0,所以不转移 R4 JMP 1H 无条件转移至R1 从R1起再执行第三次: R1 SUB 7H A中的内容 = 7-9 = -2 R2 JAM 5H 因为(A)=负所以转移至R5 R5 HLT 停机38 这个程序可以理解为求(R6)(R7)的除法运算。这里是259,除的结果应得商为2,余数为7。程序循环运行的次数即为商,余数即为第二次执行后A中的内容。例2循环程序(利用变址寄存器进行设计)R0 LDX 5H 将(R5)装人变址器XR1 DEX 命(X)减1R2 JIZ 4H (X)=0
25、,则转移至R4R3 JMP 1H 无条件转移至R1R4 HLT 停机R5 3(十进制) (R5)=3 (数据) 39第一次执行结果:R0 LDX 5H (X)=(R5)=3R1 DEX (X)=3-1=2R2 JIZ 4H 因为(X)0,所以不转移R3 JMP 1H 无条件转移至R1第二次执行结果:R1 DEX (X)=2-1=1R2 JIZ 4H 因为(X)0,所以不转移R3 JMP 1H 无条件转移至R1第三次执行结果:R1 DEX (X)=1-1=0R2 JIZ 4H 因为(X)=0,所以转移则至R4R5 HLT 停机40例3乘法计算的程序 12X8 (利用循环程序和加法运算来实现)R0
26、 NOP 空操作R1 LDX AH R2 CLA 将A清零 R3 DEX R4 ADD 9H 七次返回 R5 JIZ 7H R6 JMP 3H R7 OUT 转出循环 96转至O寄存器R8 HLT R9 12 RA 8 41例4设计一个用以测试某个来自接口电路的输入数I0,以确定该数是否为奇数。如I0为奇数(即最后一位为1),则显示一个 1111 1111 1111;如I0是偶数(最后一位为 0),则显示一个 0000 0000 0000。程序清单如下:R0 INP ,将I0装入累加器AR1 LDB 9H ,将(R9)装入寄存器BR2 AND ,将(B)与(A)进行“与”运算 R3 JAZ 6
27、H ,(A)=0,则转移至R6 R4 LDA AH ,将(RA)装入累加器A R5 JMP 7H ,无条件转移至R7 R6 LDA BH ,将(RB)装入累加器A R7 OUT ,输出(A)至显示器R8 HLT ,停机 42R9 0000 0000 0001(掩码或屏蔽字)RA 1111 1111 1111 奇数标志RB 0000 0000 0000 偶数标志5子程序设计 设计一个计算x2+y2+z2=?的计算程序。由于x2、y2和z2在形式上都是一样的,是求一个数的平方值,这在其它数学运算时也常用得着,因此可将x2做成一个子程序而存于存储器中一个固定区域中,用到时,即可将其调出使用。这里将子
28、程序存于 RF2为起始地址得一个区域中,则程序清单如下:43RF2 STA CAH 暂存RF3 LDX CAH 装入RF4 CLA 将A清零 RF5 DEX 减1 RF6 ADD CAH 加 循环体RF7 JIZ F9H X=0,则转移RF8 JMP F5H 无条件转移 RF9 BRB 返回主程序RC6 x RC7 y 被运算数据 RC8 zRC9 运算过程暂存地址 RCA 44主程序: 子程序:R00 LDA C6H 1 RF2 STA CAH R01 JMS F2H RF3 LDX CAH R02 STA C9H 1 RF4 CLA R03 LDA C7H RF5 DEX R04 JMS
29、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 HLT45 有了子程序,每当求平方时,只要调用子程序即可,本例调用三次子程序。主程序只管把每次计算结果( RC9中)相加,因而主程序显得短小清楚。 问题的提出:随着计算机的体系结构日益复杂化,加之硬连线的组合逻辑设计方法的缺点(不灵活性、不规整性和线路的日益复杂性)的存在,对于一些复杂的控制器的设计已从硬连线结构转向微程序控制的结构。那么微程序设计
30、的本质是什么呢?它是用软件的方法组织和控制数据处理系统的信息传递,并用硬件结构实现。46 微程序控制的基本概念是由英国剑桥大学的威尔克斯教授在1951年提出的,他在设计计算机的最好方法一文中指出,将机器指令的操作(从取指到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码的形式编成微指令,存入控制存储器中。这样,每条机器指令与一段微程序相对应,取出微指令就产生相应的微命令,从而实现机器指令要求的信息传送和加工。这就是微程序设计的基本思想。47 微程序控制器的核心部件是存储微程序的控制存储器CM,一般用只读存储器ROM构成。而EPROM的出现为实现微程序修改及动态微程序设计
31、提供了可能。基本术语:微命令:控制部件通过控制线向执行部件发出各种控制命令,这种控制命令叫微命令。微操作:执行部件接受微命令后所进行的操作,叫做微操作。微指令:在一个机器周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。48微程序:一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列叫做微程序。 区别: 机器指令是提供给用户的基本单位,它表示机器能够完成的一项基本功能。微指令则是为实现机器指令操作(一步或全部)的一系列微命令的组合,它作为机器内部的信息,不一定提供给用户,对程序员是透明的。 用户根据某项任务编制的程序是存放在主存储器中,由PC指示其流程。微程序是由微指
32、令构成的,用于描述机器指令。在设计计算机时预先编制好的,放在控制存储器中,供执行程序时使用。49根据存储程序的运行方式,其程序的指令顺序地存储在存储器中,这些指令被逐条取出并执行。这种串行运行,重复取出和执行顺序指令是过去计算机的主要局限性。根本解决的方法是采用并行操作。 流水线技术是一种同时进行若干操作的并行处理方式。它把取操作和执行操作重叠进行,在执行一条指令的同时,又取另一条指令。串行运行的顺序如图3-12a 所示。流水线操作如图3-12b所示。5051 流水线技术是要增加计算机硬件,例如上述中,需要采用预取指令操作就需增加硬件来取指令,并把它存放到寄存器队列中 ,使微处理器能同时进行取
33、指令和执行微指令重叠进行。因此在微处理器中有两个运算单元,一个主运算单元用于执行指令,另一 个 专用于地址计算。52 随着电子技术的发展,CPU和存储器的速度都得到了明显的改善,但存储器速度的提高赶不上CPU运算速度的提高,大容量存储器的速度远远跟 不上CPU的运算速度。为了程序的需要,主存容量也从几千字节发展到几兆和几十兆字节、几百兆字节以上。尽管如此,受价格等方面的约束,主存容量仍不能满足程序和数据的要求。因此需要将大量不常用的程序存放于大容量、低速的辅存中。53 利用硬件控制将主存与辅存有机的组成一个整体,构成二级存储体系,其结构见图所示,CPU与主存可以直接交换信息,辅存可以与主存交换
34、信息但不能与CPU直接交换信息。 在二级存储体系中,主存是与计算机各部件进行数据交换的主要设备,辅存作为主存的后援系统来弥补主存容量不足的缺陷。辅存中存放的是暂时不用和主存中容纳不下的程序和数据。54 这里辅存中的信息不能被CPU直接访问,必须通过调入主存中才能被计算机的其它部件使用。一般有两种途径允许CPU运行辅存中存放的程序。一种途径是当主存能够容纳下整个程序及所需数据时,将要使用的程序从辅存调入到主存之中,然后由CPU控制运行。另一种途径是当主存容量不能容纳整个程序时,由程序员将程序分成与主存大小相匹配的几段,按需要控制各段程序间的运行顺序,在执行时依次调入主存运行。55 二级存储体系解
35、决了主存容量不足、价格高的矛盾,但仍没有解决主存与CPU之间速度不匹配的问题。现代科技的发展使CPU的速度快于主存的存取速度,存储器的相对低速影响了CPU性能的发挥。同时,主存与辅存之间数据交换速度也影响了计算机存储系统性能的发挥。因此,存储系统的设计突破了用主存和辅存组成单一的二级存储结构,采用由多种性能不同、速度不同、价格不同的存储设备按一定的层次结构组成多级存储体系,见图所示。56 多级存储体系是由主存辅存二级存储体系发展而来。在主存和辅存之间利用辅助的软硬件将二者连为一体,构成速度接近主存、容量接近辅存的存储体系。同时为解决主存与 CPU 之间的互相匹配问题,参照主存辅存结构在 CPU
36、与主存之间增加高速缓冲存储器(Cache)。借助于辅助硬件,将 Cache与 主存构成一整体,使得它具有接近Cache得速度、主存的容量和接近主存的平均价格。57 在多级存储体系中, Cache的出现基本解决了主存与CPU之间的速度匹配问题。 Cache的性能高于主存的性能,但由于它是采用价格昂贵的双极性RAM线路,因此其价格高于主存。采用适量的Cache既可以增加存储体系的性能,又可以将整个存储体系的价格限制在一定范围内。 Cache的原理和特点:的原理和特点: 其工作原理是基于对大量典型程序运行实例分析,在较短的时间间隔内,由程序产生的地址往往集中于存储器逻辑地址空间很小的范围内。58 指
37、令地址的分布是连续的,加上循环程序和子程序段的重复执行,对这些地址的访问自然具有时间集中分布的倾向。这种对局部范围的存储器地址频繁访问,对此范围外的地址访问甚少的现象称为程序访问的局部性。程序访问的局部性为 Cache的引入提供了理论依据。 Cache中存放着主存的一部分副本(主存中的部分内容),当存储器接到有关读取指令时,先在Cache中查找此信息是否存在,若有则不经主存从Cache中取出,否则直接从主存中取出,同时写入Cache,以备再次使用。59 需要向存储器写入内容时,由辅助硬件采用各种方法保证主存中的内容同Cache中的内容保持一致。保证写入时两者内容一致的方法有以下三种:(1) 将
38、内容同时写入主存和Cache;(2) 数据仅写入主存,放弃掉Cache中相应内容;(3)数据只写入Cache,在规定的时间将修改过的Cache的内容写入主存.Cache的特点是的特点是:(1)存取速度快;(2)存储容量小。60 (1)虚拟存储器的概念、作用 主存储器的实际容量不一定与根据地址码位所计算出的容量相同,其中原因有二: 一是在大,中型计算机中,由于指令系统中的地址码位较长,实际内存空间比地址码形成的空间要小得多。如某种计算机,其指令系统中地址码位的长度为32,依此可以计算出其可寻址空间为232=4294 967 296Byte,即4GB,但其主存的容量仅为16MB,两者相差256倍。
39、而程序员希望能够使用整个32位地址码位编程,利用整个地址空间装载程序。61 二是小型,微型计算机系统中指令系统的地址码位短,由地址码位形成的寻址空间比实际主存小。如一种微机的地址码长为16,其寻址空间为21665536Byte,即64KB,而其存储器的实际容量为1MB。程序设计人员希望能够在程序中利用整个内存的空间编程,以摆脱地址码位的限制。 对于第二种情况,由操作系统的存储管理部分控制,对内存的有效部分进行分段管理和重新定位,扩大其地址码位的长度,利于人们使用。62 对于第一种情况,一般由操作系统将辅存的一部分当做主存使用,从而扩大程序可控制的空间。一般将这种由主存和部分辅存组成的存储结构称
40、为虚拟存储器,其对应的存储地址称为虚拟地址(逻辑地址),其对应的存储容量称为虚拟容量,将实际主存地址称为物理地址或实地址,主存的容量称为实存容量。虚拟存储器的范围可以参照图6.24。63 虚拟存储器的作用是仿佛扩大整个主存的容量,允许在程序中使用比主存容量大得多的虚拟存储器,同时可以减轻人们编程中对程序进行分块的苦恼,从而提高软件开发的效率。 当用虚拟地址访问主存时,系统首先查看所用虚拟地址对应的单元内容是否已装人主存。如果在主存中,可以通过辅助软硬件自动把虚拟地址变成主存的物理地址后对主存相应单元进行访问;如果不在主存中,通过辅助的软硬件将虚拟地址对应的内容调入主存中,然后再进行访问。因此,
41、对虚拟存储器的每次访问都必须由辅助软硬件进行虚实地址的变换。64 虚拟存储器是实现利用小容量的主存运行大规模的程序的一种有效的办法。尽管实现虚拟存储要增加一些额外的投资和软件开销,虚拟存储技术仍在各种计算机系统中得到了广泛的应用。 虚拟存储器必须建立在主存一辅存结构上,但一般的主存一辅存系统并不一定是虚拟存储器,虚拟存储器与一般的主存一辅存系统的本质区别是: 654虚拟存储器允许人们使用比主存容量大得多的地址空间来访问主存,非虚拟存储器最多只允许人们使用主存的整个空间,一般只允许使用操作系统分配的主存中的某一部分空间。4虚拟存储器每次访问主存时必须进行虚实地址的变换,而非虚拟存储系统则不必变换
42、。4虚拟存储器的分配由操作系统完成,而主存一辅存系统的使用可以由程序人员根据需要进行安排。66(2)虚拟存储的工作原理 虚拟存储技术,实际上就是利用一个实际存在的容量比较小的主存储器空间(物理空间)模拟一个假设的容量相当大的存储器空间(虚拟存储器空间)。在程序运行时由辅助软硬件将编写程序所用的逻辑地址(虚拟地址)自动转换成主存储器中的物理地址(实际地址)。 为了便于主存与辅存中虚拟存储器部分的信息交换,虚拟存储器一般采用二维或三维的复合地址格式以方便地址变换。67 根据地址格式不同,虚拟存储器分为:页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。68作业:P70 2、3、4、5、6、7、8、
43、9、10、11、12补充题:1、微程序控制的概念是什么?2、高速缓冲存储器在多级存储体系作用和工作原理?3、虚拟存储器的作用和工作原理是什么?4、流水线的核心思想是什么?69 微处理器(Microprocessor)是微机的运算及控制部件,也称中央处理单元(CPU)。它本身不构成独立的工作系统,因而它不能独立地执行程序。通常,微处理器由算术逻辑部件(ALU)、控制部件、寄存器组和片内总线等几部分组成,这些都在前面几章中讲过了有了一定的基础。708086 CPU从功能上可分为两部分,即总线接口部件BIU(Bus 1nterface Unit)和执行部件EU(Execution Unit)。 80
44、86的内部结构如图4-1所示71721.执行部件 执行部件(EU)的功能就是负责指令的执行。将指令译码并利用内部的寄存器和ALU对数据进行所需的处理。 从结构图4-1中,可见到执行部件由下列部分组成: 1)四个通用寄存器,即AX、BX、CX、DX; 2)四个专用寄存器,即基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI; 3)标志寄存器(FR); 4)算述逻辑部件(ALU)。7380868088的EU有如下特点: 1、四个通用寄存器既可以作为16位寄存器使用,也可以作为8位寄存器使用。当BX寄存器作为8位寄存器时,分为BH和BL、BH为高8位,BL为低8位。 2AX
45、寄存器也常称为累加器,8086指令系统中有许多指令都是通过累加器的动作来执行的。当累加器作为16位来使用时,可以进行按字乘操作、按字除操作、按字输入输出和其它字传送等;当累加器作为8位来使用时,可以实现按字节乘操作、按字节除操作、按字节输入输出和其它字节传送,以及十进制运算等。74 3加法器是算术逻辑的主要部件,绝大部分指令的执行都由加法器来完成。 4标志寄存器FR共有16位,其中7位未用,所用的各位含义如下: 根据功能,8086的标志可分为两类:状态标志它是操作在执行后,决定算术逻辑部ALU处在何种状态,这种状态会影响后面的操作。控制标志它是人为设置的,指令系统中有专门的指令用于控制标志的设
46、置和清除,每个控制标志都对每一种特定的功能起控制作用。75 状态标志有六个,即SF、ZF、PF、CF、AF和OF。表4-1 80868088标志位表:762总线接口部件BIU 总线接口部件的功能是负责与存储器、IO端口传送数据,即BIU管理在存储器中存121程序和数据的实际处理过程。 总线接口部件由下列各部分组成: (1)四个段地址寄存器,即 CS一16位代码段寄存器, DS一16位数据段寄存器, ES一16位附加段寄存器, SS一16位堆栈段寄存器。77(2)16位指令指针寄存器IP;(3)20位的地址加法器;(4)六字节的指令队列。 80868088的BIU有如下特点: 1 8086的指令
47、队列为六个字节,8088的指令队列为四个字节。不管是8086还是8088,都会在执行指令的同时,从内存中取下一条指令或下几条指令,取来的指令就放在指令队列中。这样,一般情况下,CPU执行完一条指令就可以立即执行下一条指令,而不需要象以往的计算机那样,让CPU轮番进行取指令和执行指令的操作,从而提高了CPU的效率。782地址加法器用来产生20位地址。上面已经提到,8086可用20位地址寻址:1M字节的内存空间,但8086内部所有的寄存器都是16位的,所以需要由一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。 例如,一条指令的物理地址就是根据代码段
48、寄存器CS和指令指针寄存器IP的内容得到的。具体计算时,要将段寄存器的内容左移4位,然后再与IP的内容相加。假设:CS=0FE00H,IP0400H,此时指令的物理地址为0FE400H。79 总线接口部件和执行部件并不是同步工作的,它们是按以下流水线技术原则管理: (1)每当8086的指令队列中有两个空字节,或者8088的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。 (2)每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部
49、件,进入总线周期,完成访问内存或者输入输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。80 但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的总线周期,然后再去响应执行部件发出的访问总线的请求。 (3)当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态。81 (4)在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧接着的那条指令了,而总线接口部件往指令队列装人指令时,总是按顺序进行的,这样,指令队列中已经装入的字节就没
50、有用了。遇到这种情况,指令队列中的原有内容被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。 823存储器结构 80868088系统中存储器按字节编址,可寻址的存储器空间为1M字节,由于1M字节为220,因此每个字节所对应的地址应是20位,这20位的地址称为物理地址。 (1)存储器的分段 20位的物理地址在CPU内部就应有20位的地址寄存器,而机内的寄存器是16位的(16 位机),16位寄存器只能寻址64K字节。80868088系统中把1M存储空间分成若干个逻辑段,每个逻辑段容量(64K字节),因此1M的存储空间可分成16个逻辑段(0一15)。 83 允许逻辑段在整个存储空间浮动,即段与段之间可以部分重叠、完全重叠、连续排列、断续排列非常灵活,在整个存储空间中可设置若干个逻辑段,如图4-2所示。84 对于任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间,如图4-3所示。 在80868088存储空间中,把16字节的存储空间称作一节(Paragraph)。为了简化操作,要求各个逻辑段从节的整数边界开始,也就是说段首地址低
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共同股权投资合同范本
- 关于续签监控合同范本
- 凉皮店用工合同范例
- 事业单位劳务合同范本3篇
- 公司考核合同范本
- 下班无偿保洁合同范本
- 入股销售合同范本
- 北京贷款合同范本
- 农业设备运输合同范例
- 公司签承揽合同范本
- 秦荻辉科技英语写作教程练习答案(共42页)
- GB∕T 41168-2021 食品包装用塑料与铝箔蒸煮复合膜、袋
- 反兴奋剂知识试题及答案
- 初中八年级上册音乐课件4.2欣赏沃尔塔瓦河(14张)ppt课件
- 部编版语文一年级下册绘本阅读课-优质课件.pptx
- 新人教版九年级全一册物理知识点填空题汇编
- 人教版五年级数学下册每个单元教材分析(共九个单元)
- 办好高水平民办高中的哲学思考-教育文档
- 小学生如何理解句子的含义(课堂PPT)
- 学科分类与代码(管理学)
- PROE拆电极教程
评论
0/150
提交评论