微型计算机原理及应用第四版清课件.ppt
第2章微型计算机的基本组成电路,本章教学目的,通过回顾计算机基本组成电路,引出微机中最常用的部件名称,并掌握其工作原理,包括ALU、触发器、寄存器、存储器和总线结构等,使学生理解数据的存储与流通的原理。,本章 学习要求,1.掌握算术逻辑单元、触发器、寄存器、存储器、总线结构存储器的类型及性能指标随机存储器RAM的结构原理(SRAM,DRAM),只读存储器 ROM的结构原理(PROM,EPROM,EPROM)。,2.理解控制字、数据存储、数据流通的原理;典型芯片的引脚及存储器容量的扩展,3.了解ASCII码及数字和大写字母AZ的ASCII码表述,本章 主要外语词汇,ALU:Arithmetic Logical Unit,算数逻辑部件Register:寄存器Memory:存储器RAM:Random Access Memory,随机存储器ROM:Read Only Memory,只读存储器MDR:Memory Data Register,存储器数据寄存器MAR:Memory Address Register,存储器地址寄存器,主要内容,ALU、触发器、寄存器三态电路、总线结构存储器,2.1 算术逻辑部件ALU,主要功能,符号,2.2 触发器,触发器(trigger)是计算机的记忆装置的基本单元,也可说是记忆细胞。触发器可以组成寄存器,寄存器又可以组成存储器。寄存器和存储器统称为计算机的记忆装置。微型计算机所用触发器一般用晶体管元件而不用磁性元件。这是因为晶体管元件可以制成大规模的集成电路,体积可以更小些。下面简要介绍RS触发器、D触发器和JK触发器,2.2.1 RS触发器,S端一般称为置位端,使Q=1(Q=0)R端一般称为复位端,使Q=0(Q=1),图2.3 RS触发器的符号,时标RS触发器为了使触发器在整个机器中能和其他部件协调工作,RS触发器经常有外加的时标脉冲。,CLK为时标脉冲。,无论是置位还是复位,都必须在时标脉冲端为高电位时才能进行。,2.2.2 D触发器,RS触发器有两个输入端S和R。为了存储一个高电位,就需要一个高电位输入的S端;为了存储一个低电位,就需要另一个高电位输入的R端。不方便。,D触发器是在RS触发器的基础上引伸出来的,它只需一个输入端口。,复位,置位,时标D触发器,时标脉冲CLK一般都是方波,在CLK处于正半周内的任何瞬间,触发器都有翻转的可能,并不能保证时序电路动作一致性。,边缘触发的D触发器,为了使计算机的动作整齐划一,总是想由时标CLK来指挥整个机器的行动,采用时标边缘触发的方式就可以得到准确划一的动作。,在一些电路中,有时需要预先给某个触发器置位(即置1)或清除(即置0),而与时标脉冲以及D输入端信号无关,这就是所谓预置和清除。,触发器的预置和清除,边缘触发的D触发器在计算机中常用的符号。,2.2.3 JK触发器,在RS触发器前面增加两个与门,并从输出(Q和Q)到输入(与门的输入端)作交叉反馈,即可得到JK触发器。,JK触发器是组成计数器的理想记忆元件。,图2.10 JK触发器,JK触发器的动作状态,JK触发器的工作过程,(1)当J=0,K=0,触发器保持闭锁状态。,(2)J=0,K=1,触发器仍处于复位状态(Q=0,Q=1)。,(3)J=1,K=0,触发器就仍处于置位状态(Q=1,Q=0)。,(4)J=1,K=1,触发器翻转,JK触发器的符号,2.3 寄存器,寄存器(register)是由触发器组成的。一个触发器就是一个一位寄存器。由多个触发器可以组成一个多位寄存器。,计数器一个计数脉冲到达时,会按二进制数的规律累计脉冲数;,常见的寄存器有:,缓冲寄存器用以暂存数据;,移位寄存器能够将其所存的数据一位一位地向左或向右移;,累加器用以暂存每次在ALU中计算的中间结果。,2.3.1 缓冲寄存器,其基本工作原理为:设有一个二进制数,共有4位数:X=X3X2X1X0,要存到这个缓冲寄存器(buffer)中去,此寄存器是由4个D触发器组成的。,将数据X装到寄存器中去的过程,上述缓冲寄存器的数据X输入到Q只是受CLK的节拍管理,即只要一将X各位加到寄存器各位的D输入端,时标节拍一到,就会立即送到Q去。有时想让其中的数据多留一些时间,但由于不可控之故,在CLK正前沿一到就会立即被来到门口的数据X替代掉。,可控缓冲寄存器,带寄存器的装入门LOAD的缓冲寄存器,在X0端送入数据(0或1)后,如LOAD端(以下简称为L端)为低电位,则右边的与门被阻塞,X0过不去,而原来已存在此位中的数据由Q0送至左边的与门。此与门的另一端输入从非门引来的与L端反相的电平,即高电位。所以Q0的数据可以通过左边的与门,再经或门而送达D0端。这就形成自锁,即既存的数据能够可靠地存在其中而不会丢失。,LOAD门工作原理:,如L端为高电位,则左边与门被阻塞而右边与门可让X0通过,这样Q0的既存数据不再受到自锁,而X0可以到达D0端。只要CLK的正前沿一到达,X0即被送到Q0去,这时就叫做装入(LOAD)。一旦装入之后,L端又降至低电平,则利用左边的与门,X0就能自锁而稳定地存在Q0中。,上面的门电路称作“L门”:高电平时使数据装入,低电平时数据自锁在其中。,对于多位的寄存器,每位各加一套L门电路。,可控缓冲寄存器的符号,2.3.2 移位寄存器,移位寄存器(shifting register)能将其所存储的数据逐位向左或向右移动,以达到计算机在运行过程中所需的功能,例如用来判断最左边的位是0或1等。电路原理图如图2.16所示。,图2.16 移位寄存器简化原理,CLK前沿未到 Q=Q3Q2Q1Q0=0000,左移寄存器的左移过程:,第1前沿来到Q=0001,第2前沿来到Q=0011,第3前沿来到Q=0111,第4前沿来到Q=1111,第5前沿来到,如此时Din仍为1,则Q不变,仍为1111。,当Q=1111之后,改变Din,使Din=0,如何变化?,和缓冲寄存器一样,在整机运行中,移位寄存器也需要另有控制电路,以保证其在适当时机才参与协调工作。这个电路和图2.13一样,只要在每一位电路上增加一个LOAD门(L门)即可达到控制的目的。,可控移位寄存器,SHL左移(shift to the left)SHR右移(shift to the right),2.3.3 计数器,计数器(counter)是由若干个触发器组成的寄存器,计数器也是一种寄存器,行波计数器同步计数器环形计数器程序计数器,特点:能够把存储在其中的数字加1。,主要计数器有:,行波计数器1,第1个时钟脉冲促使其最低有效位(least significant bit,LSB)加1,由0变1。第2个时钟脉冲促使最低有效位由1变0,同时推动第2位,使其由0变1。同理,第2位由1变0时又去推动第3位,使其由0变1,这样有如水波前进一样逐位进位下去。,工作原理,行波计数器2,例:下图采用JK触发器组成行波计数器工作原理 J,K输入端都是悬浮,各位都处于准备翻转的状态 时钟脉冲边缘(下降沿)一到,最右边的触发器就会翻转 初值Q=Q3Q2Q1Q0=0000 第1时钟后沿到Q=0001 第2时钟后沿到Q=0010 第3时钟后沿到Q=0011 第4时钟后沿到Q=0100 第15时钟后沿到Q=1111 第16时钟后沿到Q=0000,行波计数器3,图2.19 可控计数器原理,可控计数器,增加计数控制端COUNT,当COUNT为高电位时,JK触发器才可能翻转;当COUNT为低电位时就不可能翻转。,环形计数器,一般用于发出顺序控制信号,在计算机控制器中是一个很重要的部件,图2.21 环形计数器的电路原理,环形计数器只有一个高电位,其它位都为0,环形计数器2,当CLR端有高电位输入时,除右边第1位(LSB)外,其他各位全被置0(因清除电位CLR都接至它们的CLR端),而右边第1位则被置1(因清除电位CLR被引至其PR端)。即开始时,Q3 Q2 Q1Q0=0001,第一个时钟脉冲正边缘来到时,Q3 Q2 Q1Q0=0010,第2个时钟脉冲前沿来到时,Q3 Q2 Q1Q0=0100,第3个时钟脉冲前沿来到时,Q3 Q2 Q1Q0=1000,图2.22 环形计数器的符号,程序计数器,可以从0开始计数,也可以将外来的数装入其中,需要COUNT输入端和LOAD门,图2.23 程序计数器,是一种行波计数器,2.3.4 累加器,累加器除了能装入及输出数据外,还能使存储其中的数据左移或右移,所以它又是一种移位寄存器。,图2.24 累加器的符号,累加器也是一个由多个触发器组成的多位寄存器,作为ALU运算过程的代数和的临时存储处。在微型计算机的数据处理中担负着重要的任务。,2.4 三态输出电路,三态输出电路可以由两个或非门和两个NMOS晶体管(T1,T2)及一个非门组成,三态输出电路,又称三态门,三态门具有单向导通和三态的特性,为了使一条信号传输线能与多个触发器接通,三态输出电路2,工作原理,当ENABLE(选通端)为高电位时,两个或非门的输出状态将由于A端的电位来决定。,这就是说,在选通端(E端)为低电位时,A端和B端是不相通的,即它们之间存在着高阻状态。,当选通端E为低电位时,通过非门加至两个或非门的将为高电位。此时,无论A为高或低电位,两个或非门的输出都是低电位,即G1与G2都是低电位。所以T1和T2同时都是截止状态。,三态输出电路4,对于本例中的三态门可以用下面两句概括:E为低平时:输出为高阻抗(三态)E为高电平时:输出等于输入其他几种三态门的表示,74LS244 典型芯片介绍,双4位单向缓冲器分成4位的两组每组的控制端连接在一起控制端低电平有效输出与输入同相,三态输出电路5,A为某个电路装置的输出端,C为其输入端。当EOUT=1时,B=A,即信息由左向右传输;EIN=1时,C=B,即信息由右向左传输。,双向三态输出,由两个单向三态输出电路来组成,74LS245 8位双向缓冲器,控制端连接在一起,低电平有效可以双向导通输出与输入同相,E*0,导通 DIR1 AB DIR0 ABE*1,不导通,Intel 8286 8位双向缓冲器,控制端连接在一起,低电平有效可以双向导通输出与输入同相,OE*0,导通 T1 AB T0 ABOE*1,不导通,三态门(E门)和装入门(L门)一样,都可加到任何寄存器(包括计数器和累加器)电路上去,L门负责对寄存器的装入数据的控制,而E门负责对寄存器输出数据的控制。,有了L门和E门就可以利用总线结构,使计算机的信息传递的线路简单化,控制器的设计也更为合理而易于理解了。,2.5 总线结构,总线分类 片内总线、内部总线、外部总线,总线信号分类 数据总线、地址总线、控制总线,总线性能参数 总线时钟频率、总线宽度、总线传输速率,总线标准 机械结构规范、功能结构规范、电气规范,总线结构2,控制器决定控制字中各位的电平高低,A,B,C和D 为 4个寄存器,数据位数为4位,控制字 将各个寄存器的L门和E门按次序排成一列,则可称其为控制字CON:CON=LAEALBEBLCECLDED,由控制器发出的控制总线,能将控制字各位分别送至各个寄存器用一条粗线表示总线,右图有两条总线,控制总线和数据总线,2.6 存储器,主要内容:存储器的概念、分类和要素 只读存储器(ROM)随机读写存储器(RAM)CPU与存储器的连接及存储器的扩展,存储器就是用来存储程序和数据的,程序和数据都是信息的表现形式。按照存取速度和用途可把存储器分为两大类:内存储器(简称内存,又称主存储器)和外存储器。存储器的容量越大,记忆的信息也就越多,计算机的功能也就越强。,存储器(memory)是计算机的主要组成部分。它既可用来存储数据,也可用以存放计算机的运算程序。存储器由寄存器组成,可以看做一个寄存器堆,每个存储单元实际上相当于一个缓冲寄存器。,存储器的逻辑结构示意图,存储体存储器芯片的主要部分,用来存储信息 地址译码电路根据输入的地址编码来选中芯片内某个特定的存储单元 片选和读写控制逻辑选中存储芯片,控制读写操作,存储体,每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据存储容量与地址、数据线个数有关:芯片的存储容量2MN存储单元数存储单元的位数 M:芯片的地址线根数 N:芯片的数据线根数,地址译码电路,片选和读写控制逻辑,片选端CS或CE有效时,可以对该芯片进行读写操作输出OE控制读操作。有效时,芯片内数据输出该控制端对应系统的读控制线写WE控制写操作。有效时,数据进入芯片中该控制端对应系统的写控制线,半导体存储器的分类:,按制造工艺双极型:速度快、集成度低、功耗大MOS型:速度慢、集成度高、功耗低按使用属性随机存取存储器RAM:可读可写、断电丢失只读存储器ROM:正常只读、断电不丢失,2ROM的种类:1)掩膜ROM;2)可编程的只读存储器PROM;3)可擦除的EPROM;4)电擦除的PROM;5)快速擦写存储器Flash Memory 又称快闪存储器,半导体存储器的分类:,1RAM的种类:在RAM中,按工艺可分为双极型和MOS型两大类。用MOS器件构成的RAM,可分为静态RAM和动态RAM两种。,选择存储器件的考虑因素:,(1)易失性(2)只读性(3)位容量(4)功耗(5)速度(6)价格(7)可靠性,存储器举例,例,右图是一个168的存储器,有16个存储单元,每个单元为8位记忆字(即每单元保存一个字节)的集成电路芯片,该存储器有4条地址线A0,A1,A2,A3和8条数据线D0,D1,D2,D3,D4,D5,D6,D7。,A0A3就是地址总线中的4根译码线。当存储器的存储单元愈多,则地址总线中的译码线,亦即存储器集成电路片的地址线愈多。在一般微型计算机中,地址线大都为16条。16条地址线,可译出64K个地址。在286386486中采用20条地址线。,当地址线为10条时,n=10,则可编地址号为1,024个,或称为1K字节。这里的1K和习惯为1 000不一样,请务必注意。,2.6.1 只读存储器,在一般工作状态下,ROM中的信息只能读出,不能写入。对可编程的ROM芯片,可用特殊方法将信息写入,该过程被称为“编程”。对可擦除的ROM芯片,可采用特殊方法将原来信息擦除,以便再次编程。,只读存储器ROM,是一种非易失性的半导体存储器件。其中所存放的信息可长期保存,掉电也不会丢失,常被用来保存固定的程序和数据。,只读存储器2,84ROM 8个存储单元,每个4位(即半个字节)mnROM,m个存储单元,其中每个为n位。,ROM的符号图,,只读存储器3,存储地址寄存器也是一个可控缓冲寄存器,它具有L门以控制地址的输入。它和存储器的联系是双态的,即地址一进入MAR就立即被送到存储器去,存储地址寄存器(MAR):作为存储器的一个附件,存储地址寄存器是必需的。它将所要寻找的存储单元的地址暂存下来,以备下一条指令之用。,只读存储器4,【例2.1】程序计数器PC,存储地址寄存器MAR和ROM通过总线的联系如右图所示。设控制字依次是:(1)CPEPLMER=0110(2)CPEPLMER=0001(3)CPEPLMER=1000问:它们之间的信息是如何流通的?,开机时,先令CLR=1,则PC=0000,(1)第1个控制字:CPEPLMER=0110 EP=1,PC准备放出数据;LM=1,MAR准备装入数据。在CLK正前沿到达时,CLK=1,MAR=PC=0000,PC的数据装入MAR,同时MAR立即指向ROM的第一地址,即选中了ROM中的R0存储单元。,(2)第2个控制字:CPEPLMER=0001 ER=1,令ROM放出数据,即,当ER为高电位,R0中的8位数据就被送入到W总线上去。,(3)第3个控制字:CPEPLMER=1000 CP=1,即为命令PC加1,得到PC=0001。这是在取数周期完了时,要求PC指向下一地址,为下一条指令准备条件。,2.6.2 随机存储器,随机存储器又叫做读写存储器。不但能读取已存放在其各个存储单元中的数据,而且还能够随时写进新的数据,或者改写原来的数据。多用双极型晶体管或金属氧化物半导体场效应晶体管(MOSFET)。停电失去记忆能力。,随机存储器:,RAM的符号 A地址线;DIN要写入的数据;DOUT要读出的数据;ME选通此RAM的E门。当ME=0时,此RAM未选中,故WE是什么(0或1)都不能影响RAM的动作,并且其输出端是悬浮(高阻)的。只有在ME=1时,此RAM才被选中,才能再进一步去确定其是读出还是写入。WE=0时,为数据读出;WE=1时,为数据写入。,存储器数据寄存器(memory data register,MDR),作用是将要写入RAM中去的数据暂存寄MDR中,以等待控制器发出WE=1的命令到来时,才能写入RAM中去。,【例】一个微型计算机的一部分如下图所示,其工作程序分析如图。这一部分系统图是用来分析将数据I0装入到RAM中去的过程的。设要写入到RAM中去的数据为:I0=110000011001(共12位)这部分的控制字为:CON=CPEPLMWE MELDLIEI(共8位)已设计好的控制字的次序如下:CON1=01100000(6016)CON2=00000010(0216)CON3=00000101(0516)CON4=00011000(1816)CON5=10000000(8016)问:经过CLR=1之后,机器的动作顺序和现象如何?,(2)在CON1=0110 0000时=EP=1 LM=1将PC的内容装到MAR中去,当CLK的前沿一到时:MAR=PC=00000000(0016)这是指出存储器RAM中第一个存储单元R0的地址。,(1)CLR=1,PC已被清零,PC=00000000,(4)在CON3=0000 0101时,LD=1,MDR准备接受数据;EI=1,I准备放出数据。当第3个CLK的前沿到达时,MDR=I=I0=1100 0001 1001,(3)在CON2=00000010时,LI=1为输入寄存器作好准备,以便输入数据I0。当第2个CLK的前沿到达时,I=I0=110000011001,(5)在CON4=0001 1000时,WE=1,ME=1RAM开始“写入”的动作。由于RAM是异步工作的,不受CLK的控制,所以,在WE=1及ME=1时,RAM中的第一个存储单元R0即接受来自暂存于MDR的数据I0,即 R0=MDR=I0=11000001 1001,这5个控制字组成一条指令,称为例行程序。用一句话来说,这个指令就是“把外围设备的数据(输入字)装入到计算机的内存中去”。执行结果是:R0=I0,(6)在CON5=1000 0000时,CP=1 这是命令PC加1的指令。在第4个CLK的前沿到达时,PC=0000 0001,76,补充:存储器的扩展 1、位扩展(1)微型计算机中,最小的信息存取单位是“字节”,如果 一个存储芯片不能同时提供8bit数据,就必须把几块 芯片组合起来使用,这就是存储器芯片的“位扩展”。现在的微机可以同时对存储器进行64bit的存取,这就 需要在 8bit 的基础上再次进行“位扩展”。位扩展把多 个存储芯片组成一个整体,使数据位数增加,但单元 个数不变。经位扩展构成的存储器,每个单元的内容 被存储在不同的存储芯片上。(2)位扩展连接 芯片的地址线全部并联且与地址总线相应连接;片选信号线并联,连接到地址译码器的输出端 读写控制信号并联,连接到控制总线的存储器读 写控制线上;不同芯片的数据线连接到数据总线不同位上。,77,78,2、字扩展(1)所谓字扩展就是存储单元数的扩展。存储单元的个数取 决于地址线,因此,字扩展实际上就是地址的扩展。例:已有容量为2K8的SRAM芯片,现要求用4片这样的芯 片,构成8K8位的存储器模块,起始地址4000H。由于芯片容量是 2K8,所以每个芯片有 11 根地址线,(A0A10),8根数据线(D0D7)。根据要求,可以列出各芯片的始末地址如下:芯片0起始地址:0100000000000000(4000H)结束地址:0100011111111111(47FFH)芯片1起始地址:0100100000000000(4800H)结束地址:0100111111111111(4FFFH),79,80,可以看出,地址的最低11位(A0A10)用来选择芯片内的各单元(片内地址),可以直接与每个芯片的地址线相连。地址的中间2位(A11A12)用来选择该组内的各芯片(选片地址),为00、01、10、11时顺序选择四个芯片。这2位应该连接到 2-4译码器输入端,产生的4 个 译码信号用作四个芯片的片选信号。地址的最高 7 位(A13A19)对于本组固定为 0000010,这是本组存储器被选中的标志(选组地址)。这 3位地址用来产生译码器允许工作信号“EN”或者“G”。由于只扩展字,因此几个芯片的数据线直接并联在一起,接至系统数据总线上,读写控制线也并联连接。用字扩展方式组成的存储器模块如图。,81,(2)字扩展的方法 求出组成存储器模块所需芯片数,然后按下列步骤连接 有关信号线。各芯片的数据线并联,接至相应的系统数据总线。芯片的地址线并联到地址总线对应位上,地址总线 高位接译码器,译码器输出用作各个芯片的片选信 号。读写控制信号并联后与控制总线中相应的信号连接,82,3、字位全扩展 如果存储器的字数和位数都不能满足系统存储器的要求,就要进 行字和位全扩展。这时需要同时使用前面的位扩展和字扩展方法。假设一个存储器容量为MN位,所用的芯片规格是LK位。组 成这个存储器模块共需(MN)/(LK)=(M/L)(N/K)个存储芯片。例如用64K4位芯片组成 512K32 位的存储器模 块,则需要(512K/64K)(32位/4位)=88=64片。微型机中内存的构成就是字位扩展的一个很好的例子。首先,存 储器芯片生产厂制造出一个个单独的存储芯片,如:64M 1,128M1等;然后,内存条生产厂将若干个芯片用位扩展的方法 组装成内存模块(即内存条),如:用8片 128M1 的芯片组成 128 MB 的内存条;最后,用户根据实际需要购买若干个内存条 插到主板上构成自己的内存储器,即字扩展。一般来讲,最终用 户做的都是字扩展(即增加内存地址单元)的操作。,83,3、字位全扩展 内存扩展的次序一般是先进行位扩,构成字长满足要求的内存 模块,然后再用若干个这样的模块进行字扩,完成字位扩展,使总容量满足要求。用2164构成容量为128KB的DRAM内存组的方法如下:2164是64K1的芯片,所以首先要进行位扩展,用8片2164组 成64KB的内存模块、然后再用两组这样的模块进行字扩展。所需的芯片数为(128/64)(8/1)16片。要寻址128K个内存单元至少需要17位地址信号线(217=128K)。而2164有64K个单元。需要16根地址信号线(分为行和列),余下的1根地址线用于区分两个64KB的存储模块。线路连接如图。,84,85,综上所述,存储器的字位扩展可以分为3步。(1)选择合适的芯片;(2)根据要求将芯片“多片并联”进行位扩展,设计出满足 字长要求的“存储模块”;(3)对“存储模块”进行字扩展,构成符合要求的存储器。,本章 小结,算术逻辑单元触发器RS触发器,时标触发器D触发器边缘触发的D触发器JK触发器寄存器缓冲寄存器,带“L门”的缓冲寄存器移位寄存器,本章 习题,P39 2.1 2.32.9 2.11 2.12存储器的类型有哪些?各有什么特点?如何理解数据地址的概念?举例说明寻址过程。说明RAM和ROM在使用中的区别。,参考文献,郑学坚,周斌.微型计算机原理及应用(第三版).北京:清华大学出版社,2001罗朝杰.数字逻辑设计基础.北京:人民邮电出版社,1982邹逢兴.微型计算机接口原理与技术.长沙:国防科技大学出版社,1993姚燕南,薛钧义.微型计算机原理.西安:西安电子科技大学出版社,1994,本章结束,谢谢!,