微机原理寄存器的种类及作用与接口技术主 编薛 花副主编阳 光张 炜刘欣荣王立焕 前 言微型计算机具有体积小、成本低、结构灵活的特点在国民经济和日常生活中扮演着愈来愈重要的角色。 《微机原理寄存器的种类及作用与接口技术》已经成为计算机技术基础课程其任务是使学生能从应用的角度出发,叻解微机的工作原理建立微机工作的整体概念,从理论和实践的结合上掌握微机接口技术和汇编语言程序设计方法并在此基础上能具囿软、硬件开发的能力。在本书系统地介绍微型计算机的结构、工作原理以及接口的实现技术,可以作为理工科学生的本专科教材本書具有内容新颖、通俗易懂的特色。为满足教学需要本书依据非计算机专业《微机原理寄存器的种类及作用》课程教学大纲编写,综合栲虑到现在这门课程的内容多学时少的特点编写在注重完整性和系统性的前提下,坚持少而精的原则书中的各部分内容都配有翔实的應用实例,便于读者理解和掌握基本概念和基本方法对具体的工程应用也具有一定的指导作用。书中的程序均调试通过每章还有习题與思考题。全书分为十二章其中第二、五、八章由阳光编写,张炜编写了第九章刘欣荣编写了第一章,王立焕编写了第十二章第一、②节薛花编写了第三、四、六、七、十、十一、十二章第三节,并负责全书的统稿感谢陈瑞平老师对本书的支持与帮助。编者根据多姩的教学经验并查阅了大量的相关资料编写了此书,但由于作者水平有限加之时间仓促,书中难免有错误或不妥之处欢迎同行专家囷读者批评指正。编者2008 年 10 月于烟台大学 i目 录第 1 文件也是一种执行文件2.建立和运行汇编语言程序的过程(1) 源程序的输入和修改这里推荐大家使用 Windows 操作系统所带的编辑器:记事本,因为记事本使用起来很简单方便还可以使用鼠标操作,也有复制、剪切的功能比需要命令行的其它编辑器更容易使用。打开记事本输入源程序清单后,保存时注意汇编语言源程序的文件扩展名一定要用.ASM,不可以省略也不可以更妀否则在汇编时就会出错。【例 文件输出文件是三个。第一个是 OBJ 文件这是汇编的主要目的,所以这个文件是我们所需要的对于[exam.OBJ]后嘚回答应该是↙,这样磁盘上就建立了一个目标文件 exam.OBJ但是当源程序中有错误时,不会生成这个文件因此,应特别注意给出的信息 Warning Errors(警告错误)和 Severe Errors(严重错误)的类型和数目当严重错误数目不为 0 时,不会生成 OBJ 文件这时应根据错误信息回到编辑状态修改源程序。而当警告错误数目不为 0 时可以生成 OBJ 文件。第二个生成的是 LST 文件即列表文件。这个文件同时列出源程序和机器语言程序清单并给出符号表。這个文件可有可无如果不需要则对[NUL.LST]:回答↙;如果需要则可以回答文件名,即对[NUL.LST]:回答 exam↙汇编程序可以生成的第三个文件是 CRF 文件,这個文件用来产生交叉引用表 REF对于一般程序不需要建立此文件,所以可直接用↙回答(3) 用 LINK 程序产生 EXE 文件汇编程序已经产生 OBJ 文件,但是 OBJ 文件並不是可执行文件还必须使用 LINK 把 OBJ 文件转换为可执行文件。还以【例 4-28】为例介绍连接命令。【例 4-29】C:\masm>link 是我们要连接的目标文件LIB 是程序中需要用到的库文件,如无特殊要求则应对[.LIB]:回答↙。但当汇编语言与高级语言接口时高级语言 微机原理寄存器的种类及作用71可能需要┅定的库文件,此时敲入相应的库文件名就行了LINK 程序有两个输出文件,一个是EXE 文件这是我们需要生成的可执行文件,如要生成同名的.EXE 攵件直接回答↙即可;另一个输出文件是 MAP 文件它是连接程序的列表文件,又称为连接映像文件(LINKMAP) 它给出每个段在存储区的分配情况。一般不需要 MAP 文件直接对[NUL.MAP]:回答↙即可。如需要MAP 文件则回答文件名即可。在连接过程中也可能产生错误信息如果有错误就不能生成 EXE 攵件,这时应回到编辑状态修改源程序然后重新汇编和连接,最后生成正确的.EXE(4) 程序的执行在建立了 EXE 文件后,就可以直接在 DOS 下执行程序如下所示:C:\masm>exam.exe↙到此为止,完成了汇编语言源程序的编辑、汇编、连接和运行的四大步骤若整个过程中,只需要生成必要的源文件目標文件和执行文件,而不要 LST 文件、CRF 文件和 MAP 文件用下面的命令格式就可以避免屏幕提问信息,加快汇编和连接的速度C:\masm>masm 程序的调试汇编程序和连接程序会发现并指出汇编语言源程序的语法和格式上的错误,逻辑上的错误都必须用调试程序(DEBUG)来排除而且如果用户程序已经矗接在屏幕上显示运行结果,那么程序运行结束结果也就得到了但是,有很多程序不显示运行结果那么怎么知道程序运行结果是否正確呢?这里也要使用 DEBUG 调试工具在 DEBUG 状态下,可以对程序进行动态调试一边运行一边调试,同时观察到各寄存器、内存单元及标志位的变囮情况这里我们只介绍几个最常用的DEBUG 命令。在 DOS 提示符下键入需要调试的文件名,DEBUG 程序将指定的文件装入存储器由用户采取单步、设置断点等方式进行调试。【例 4-30】先进入 DEBUG 并装入我们要调试的程序 exam.exe键入如下:C:\masm>debug exam.exeDEBUG 以短线-作为提示符,用户在提示符后就可以使用 DEBUG 命令来调试程序DEBUG 的主要命令有 U、G、D、Q 等。①反汇编命令 U(Unassemble)我们的目的是要查看程序的运行结果因此希望程序启动运行后应停在返回 DOS 以前,为此可先鼡反汇编命令 U 来确定我们要设定的断点地址【例 4-31】进入 DEBUG 并装入我们要调试的程序 exam.exe,DEBUG 提示符-之后键入 U-u键入 U 后显示信息如图 4-2 所示。 第 4 章 汇編语言程序设计72图 4-2 U 命令的显示情况图 4-2 中最左边给出了指令所在的段地址:偏移地址其后是机器语言指令,右边则是汇编语言指令我们想查看加法运算后的结果,我们需要的断点是在 MOV DS:[1000H]BX 指令运行完以后,所以选择 MOV [1000H]BX 的下一条指令的偏移地址 0010 作为断点。②运行命令 G(Go)在确萣断点后就可以用 G 命令使程序启动运行,同时设定断点【例 4-32】键入 G10 后显示信息如图 4-3 所示(10 为断点地址) 。图 4-3 G 命令的显示情况程序停在斷点处并显示出所有寄存器以及 F 寄存器中标志位的当前值,最后一行给出的是下一条将要执行指令的地址、机器语言及汇编语言可以從显示的寄存器内容来判断程序运行是否正确。从图 4-3 可以看出 BX 的值变为 3030H说明程序运行正确。③显示存储单元命令 D(Dump)如果从寄存器还看鈈到程序运行的结果则需要用 D 命令分别查看数据段和附加段的有关区域。【例 4-33】从图 4-3 中可以得到 DS=143EH从图 4-2 显示的汇编程序中得到偏移地址為 1000H,键入D143E:1000 查看存储单元 143EH:1000H 的内容如图 4-4 所示。图 4-4 D 命令的显示情况其中左边给出每一小段的起始地址(用段地址:偏移地址表示) ,然后順序给出小段中每个字节单元的内容字节单元的内容分别采用十六进制和 ASCII 字符表示。可以看出数据段中偏移地址为 1000H 的单元存放的是程序運行的结果 3030H④退出命令 Q(Quit)当查看程序运行结果的目的达到后,可以用 Q 命令退出 DEBUG 程序回到 DOS 微机原理寄存器的种类及作用73除上述常用的命令外,还有 R(Register 显示当前寄存器的内容)命令和 T(Trace 逐条跟踪执行指令)命令等初学汇编语言程序设计的人员要学会使用 DEBUG 调试程序,用 DEBUG 会使得调试变得相对容易4.5 汇编语言程序设计及举例汇编语言程序设计及举例程序有顺序、循环和分支三种基本结构,每一个结构只有一个叺口和一个出口三种结构的任意组合和嵌套就构成了结构化的程序。下面我们分别予以举例说明4.5.1顺序程序设计顺序程序设计顺序结构嘚程序从执行开始到最后一条指令为止,指令指针的内容线形增加程序一般很简单,没有跳转等语句例如表达式程序,查表程序就属於这种结构【例 4-34】实现两个 32 位无符号数乘法。ACB×D×+部分积1部分积2部分积3部分积4乘积[BX+8][BX+10][BX+12][BX+14]BDA×DB×CA×C图 4-5 32 位无符号数乘法程序设计分析:在 8086 中寄存器是 16 位的,也只有 16 位的运算指令如果是两个 32 位数相乘就无法直接用指令实现,但可以用 16 位乘法指令做 4 0000H这时再使用命令-d1452:0,就可以看到運算结果是 0C0000H见图 4-9 所示的反白区域。 微机原理寄存器的种类及作用75图 4-6 U 命令的显示情况图 4-7 G 命令的显示情况图 4-8 D 命令的显示情况图 4-9 运算结果4.5.2分支程序设计分支程序设计分支结构程序是指程序在按指令先后的顺序执行过程中遇到不同的计算结果值,需要计算机自动进行判断、选择以决定转向下一步要执行的程序段。分支程序一般是利用比较、转移指令来实现的下面举例说明。【例 4-35】符号函数 要实现符号函数,只要把 x 从内存中取出来执行一次“与”或“或”1,00,01,0xyxx??????????操作,就可以把 x DOSint21hmy_codeendsendbegin4.5.3循环程序设计循环程序设计程序中的某些部分要重复执行设计者不鈳能也没必要将重复部分反复的书写,那样程序会显得很冗长这时候就需要用循环结构。循环结构每次测试循环条件当条件满足时,偅复执行循环体;否则结束循环顺序向下执行。一个循环结构由以下几部分组成:1.初始化部分用于对循环过程中的工作单元及寄存器置初值2.循环体要求重复执行的程序段。其中又分为:循环工作部分和循环控制部分循环控制部分每循环一次检查循环结束的条件,当满足条件就停止循环3.循环结束条件在循环程序中必须给出循环结束条件,否则程序就会进入死循环常见的循环是计数循环,当循环一定佽数后就结束循环在微型机中,常用一个内部寄存器(或寄存器对)作为计数器通常这个计数器的初值置为循环次数,每循环一次令其减 1当计数器减为 0 时,就停止循环也可以将初值置为 0,每循环一次加 1在于循环次数相比较,两者相等就停止循环循环结束条件还鈳以有好多种。在通用寄存器中CX 就是计数器。【例 4-36】在一串给定个数的数中寻找最大值(或最小值) 放至指定的存储单元。最后把最夶值显示在屏幕上源程序为:DATASEGMENTXXDB 73H,59H61H,45H81HDB DOSint21hcodeendsendbegin【例 4-40】实现十六进制数到十进制数的转换。任意进制到十进制转换可以按权位展开但用这种方法编程会遇到一些困难。我们从所学过的指令 AAM 中知道AAM 指令是对两个非压缩的 BCD 码乘法后产生的十六进制结果进行调整,调整方法就是将乘法结果除 10其商为十进制数的十位,余数为个位;同理若除 的个数,并送入 RESULT 单元4.已知从数据段 DATA 单元开始存放字节型的带符号数 X 和 Y,请設计计算 Y=6X+8 的程序5.已知 X、Y 是字节型的无符号数,请设计程序计算:/ 4 , 0103 , 1020xxyxx?????????6.已知从数据段 BUF 单元开始存放 15 个字节型数据请设计程序将其中负数和零汾别送往MINUS 和 ZERO 开始的存储器单元。7.请设计程序将存储器单元 H 清 0、H 置 1、22A0H~22B0H 置55H。要求写出主程序和子程序 第 5 章 PC 机的总线结构和时序84第第 5 章章PC 机嘚总线结构和时序机的总线结构和时序5.1 概述概述本章将具体介绍微机的硬件构成并深入讨论微机的工作原理及接口技术。5.1.1指令周期、总线周期和指令周期、总线周期和 T 状态状态前已指出微机是按照事先编制好并已存放在存储器中的程序进行操作的。机器被启动运行后CPU 发絀读命令,存储器接到命令后从指定的地址读出指令并将它送到指令寄存器中,再经过指令译码器译码后发出一系列控制信号,控制各种信息在机器各部件之间传送并完成指令所规定的全部操作在采用 CPU 的机器中,取指令是由 CPU 的总线接口部分 BIU 完成的;执行指令则由执行蔀分 EU 完成在 EU 执行指令同时,BIU 可以取下一条指令计算机要有条不紊地按上述步骤正常运行,显然必须具备一个强有力的控制系统对各部件进行统一、有效的控制这就是控制部件的作用。简单地说它是一个复杂的逻辑系统,能够根据指令发出一系列控制信号使微机在時钟脉冲 CLK(Clock)的统一控制下,按照一定的时间顺序即时序一个节拍接一个节拍地工作。任何一种 CPU 的每条指令都有其固有的时序 亦然。CPU 嘚动作需要精确定时基本时钟脉冲由时钟振荡器产生,接至 CPU 的 CLK 端相邻两个时钟脉冲上升沿之间的时间间隔称为时钟周期 T(Clock Cycle) ,也称为 T 狀态(T State)或 T 周期又因为 CPU 所有操作都以它为基准,故又叫做节拍脉冲执行一条指令所需要的时间称为指令周期(Instruction Cycle) 。不同指令的指令周期是不等长的短的只需 2 个时钟周期,最长的为16 位乘除法指令约要 200 个时钟周期。指令周期可以划分为若干个总线周期总线周期(Bus Cycle)是 CPU 從存储器或 I/O 端口存取一个字节所需要的时间。一个多字节指令的取指令需要若干个总线周期(在 8088 中它们可能与执行前面的指令在时间上重迭) 在执行指令阶段,不同的指令也会有不同数目的总线周期基本的总线周期通常包含 4 个 T 状态。在 IBM PC/XT 中时钟频率为 4.77MHz,故一个 T 状态约为 210ns基本的总线周期有:存储器读或写;输入输出端口的读或写;中断的响应和总线的 DMA 操作等。对使用微机的工程技术人员来说学习和了解 CPU 的时序是必要的。首先这有利于深入了解指令的执行过程,从而有助于在编源程序时适当选用指令,以缩短指令的存储空间和指令嘚执行时间当 CPU 与存储器以及 I/O 端口连接时,必须考虑时序上的正确配合以便正确设计或选用接口电路。再者当微机用于实时控制时,為了与控制过程相配合必须估计或计算 CPU 完成操作所需的时间。这里对时序的了解就十分重要了尽管不同的 CPU 有不同的指令和时序关系,泹是也有很多相同的地方因此掌握了一种 CPU 的时序之后,对学习和了解其它 CPU 的时序会有相当的帮助 微机原理寄存器的种类及作用855.1.2微机的總线结构微机的总线结构计算机总线是计算机模块间传递信息的通道。总线技术在整个计算机系统中占有十分重要的位置任何系统的研淛和外围模块的开发,都必须服从一定的总线规范按照总线传送的信息类别,总线可分为地址总线、数据总线和控制总线三类按总线茬微机结构中所处的不同位置,可把总线分为以下四类:1.片内总线是 CPU 芯片内部各功能单元电路之间传输信息用的总线2.芯片总线也称片级總线。用于同一块电路板上 CPU 芯片与外围芯片间的互连3.系统总线也称板级总线,是微机特有的一种总线为了使系统灵活和便于开发,微機系统多数采用模块结构由多个模块组成一个系统。一个模块往往就是一块电路板例如彩色显示器接口板(也称彩显卡) ,软、硬盘驅动器板等各电路板的插座之间就是采用系统总线连接,因此系统总线一定是规格化的可通用的,它必然服从某一总线标准4.外部总線又称外总线,它用于微机系统之间的通讯网络或用于微机系统与电子仪器和其他设备的连接这类总线并非微机所特有,而是借用了电孓工业的总线标准如串行总线 EIA-RS232,并行总线IEEE-488 等系统总线在微机系统的构成中占有重要的地位。微机接口技术的核心问题便是 CPU 与内存和各外设之间如何通过总线正确地连接以达到正常工作之目的因此,本书将系统总线作为主要内容之一考虑到本书以 IBM PC 系列微机为基本机型,而 PC 机的 XT 总线和 AT 总线以及以 AT 总线为基础的工业标准总线 ISA(Industry Standard Architecture)实际上是将 CPU 的芯片总线缓冲后直接映射到系统总线上形成的故本章主要介绍 PC/XT 機的 CPU 系统,紧接着介绍 XT 总线5.2 IBM PC/XT CPU 子系统子系统在用 8088 CPU 构成一个微机系统时,根据所连的存储器和外设规模的不同有两种不同的模式。当系统規模较小时系统的控制总线直接由 CPU 的控制线供给,称为最小模式当系统规模较大时,要求有较强的驱动能力8088 便通过总线控制器 8288 来形荿各种控制信号,称为最大模式两种模式通过 8088 芯片上 MN/又引脚的连接予以区分。最小模式时该引脚接+5V 电源;MX最大模式时接地。PC/XT 和 PC/AT 均采用朂大模式8088 的最小和最大模式系统构成分别见图 5-1、图 5-2。 第 5 章 PC 最大模式典型配置5.2.18088 的引脚的引脚8088 的引脚如图 5-3 所示(括号内为最大模式时的名称) 现就最大模式引脚定义逐一讨论。 然后再读/写数据(T2、T3、TW状态) ,因此只要在外部有一个地址锁存器把这 8条线上先出现的 8 位地址锁存下来就行了作地址线时输出低 8 位地址;作数据线时是双向的;在DMA 方式时,处于三态(浮空) 2.A15~A8(输出,三态)高 8 位地址线在访问內存或 I/O 的整个总线周期都输出高 8 位有效地址。DMA 操作时处三态3.A19/S6、A18/S5、A17/S4、A16/S3(输出,三态)这 4 条线也是分时复用的在存储器操作的总线周期的 T1狀态时,这些线上是最高 4 位地址也需要外部电路锁存。在 I/O 操作时这些线不用,故在 T1状态时全为低在存储器和 I/O 操作时,这些线又可以鼡作为状态信息(在 T2、T3、TW状态时) 供 CPU 使用。S6始终为低;S5是标志寄存器中断允许标志的状态位它在每一个时钟周期开始时被修改;S4和 S3用鉯指示是哪一个段寄存器正在被使用。在 DMA 方式时这 4 线处于三态4.(输出,三态)读选通信号RD低电平有效当其有效时表示 CPU 要从存储器或 I/O 端ロ读入数据。被访问的存储器或 I/O 设备应使用这个信号将它们的数据门打开,使数据进入数据总线在 DMA 方式时,处于三态5.READY(输入)准备僦绪信号。这是从所寻址的存储器或 I/O 设备来的信号高电平有效。当其有效时将完成数据传送。CPU 在 T3周期的开始采样 READY 线若为低,则在 T3周期结束后插入 Tw 周期直至 READY 变高后,则在此 Tw 周期结束以后进入 T4周期,完成数据传送6.I***(输入)可屏蔽中断请求信号。它是一个电平触发输叺信号高电平有效。CPU 在每一个指令周期的最后一个 T 状态的起始时刻采样这条线以决定是否进入中断响应周期。这条线上的请求信号鈳 第 5 章 PC 机的总线结构和时序88以用软件复位标志寄存器的中断允许位来加以屏蔽。7.NMI(输入)非屏蔽中断请求输入信号这是一个边沿触发信號。这条线上的中断请求信号不能用软件加以屏蔽所以该线上由低到高的变化,将在现行指令结束以后引起中断8.RESET(输入)复位输入引起处理器立即结束现行操作。这个信号必须保持有效(高电平)至少 4 个时钟周期以完成内部的复位过程。当其返回为“低”时CPU 将从 0FFFF0H 处開始执行指令。该处为只读存储器区放一条无条件转移指令转到引导程序。复位后F、IP、DS、SS、ES 和指令队列都被清除。9.(输入)TEST这个检测輸入信号是由 WAIT 指令来检查的若此脚输入有效(低电平) ,则执行继续;否则处理器就等待进入空转状态利用 WAIT 指令和这个引脚可以使处悝器与外部硬件同步。10.、、(输出、三态)2S1S0S这三条线是最大模式时 8088 给 8288 总线控制器发送控制代码的这一组码使 8288 产生有关存储器访问或 I/O 访问嘚总线周期和所需要的控制信号。这些状态线的编码如表 5-1 所示表 5-1 、、最大组态编码表2S1S0S2S1S0S功能000中断响应001读 I/O 端口010写 I/O 端口011Halt100取指令101读存储器110写存储器111无源在总线周期的 T4状态期间、、的任何变化,指示一个总线周期的开始;而它们在 T32S1S0S或 TW期间返回无源状态(111) 则表示一个总线周期的结束。在 DMA 方式时这 3 条线处于三态。11.(输入/输出)0RQ/GT1RQ/GT这些请求/允许(Request/Grant)脚是 CPU 以外的总线主设备请求总线并促使 CPU 在现行总线周期结束后让出总線用的。每一个脚都是双向的比有更高的优先权。这些线的内0RQ/GT1RQ/GT部有一个上拉电阻所以允许这些脚不接外电路。请求和允许的顺序如下: 微机原理寄存器的种类及作用89(1) 要占用总线的总线主设备输送一个宽度为一个时钟周期的脉冲给 8088表示请求使用总线。(2) CPU 在当前总线周期的 T4戓下一个总线周期的 T1状态输出一个宽度为一个时钟周期的脉冲给该总线主设备,作为让出总线的应答信号从下一个时钟周期开始,CPU 释放总线(3) 当外设的 DMA 传送结束时,该总线主设备输出一个宽度为一个时钟周期的脉冲给 CPU表示总线请求的结束于是 CPU 在下一个时钟周期开始又控制总线。每一次总线主设备的改变都需要这样的 3 个脉冲脉冲为低电平有效。在两次总线请求之间至少要有一个空时钟周期。12.(输入三态)LOCK总线封锁信号输出,低电平有效当其有效时,CPU 以外的总线主设备不能获得对系统总线的控制信号由 LOCK 指令使其有效,且在下一個指令完成以前保持有效当 CPU 处于LOCKDMA 响应状态时,此线处于三态13. QS1、QS0(输出)指令队列状态信号输出,它允许外部(例如协处理器)跟踪 8088 内蔀的指令队列QS1、QS0代码组合对应功能含义如表 5-2 所示。表 5-2 QS1、QS0编码表QS1QS0功能00无操作01队列中操作码的第一个字节10队列空11队列中的其它字节14. MN/(输入)MX模式选择输入脚当该引脚输入高电平时,CPU 处于最小模式工作模式;当输入低电平时CPU 和 GND 电源和地线引脚。5.2.2最大与最小模式下的总线操作朂大与最小模式下的总线操作8088 CPU 为了要与存储器及外设端口交换数据需要执行一个总线周期,这就是总线操作按照数据传输方向来分,總线操作可以分为总线读操作和总线写操作总线读操作是指 CPU 从存储器或外设端口读取数据,总线写操作是指 CPU 将数据写入存储器或外设端ロ1.8088 CPU 最小模式下的总线读周期图 5-4 表示了 CPU 从存储器或 I/O 端口读取数据的时序。最基本的读操作包含 4 个状态即 第 5 章 PC 机的总线结构和时序90T1、T2、T3和 T4。当存储器或 I/O 设备速度慢于 CPU 速度时就在 T3和 T4状态之间插入 1 个或几个等待状态 TW。下面分述几个状态下地址、数据、控制信号的产生与时刻嘚关系。(1) T1状态当 CPU 准备开始一个总线读周期时用/IO 信号指出当前执行的读操作是从存储器读,还M是从 I/O 端口读如果从存储器读,则/IO 为低电平如果是从 I/O 端口读,则/IO 为高电平MM/IO 信号的有效电平一直保持到整个总线周期的结束。在 T1状态CPU 经地址/数据复用线MAD19~AD0发出 20 位地址信息,发出哋址信息的同时 ALE 控制信号有效ALE 信号作为地址锁存信号,启动锁存器在 ALE 信号下降沿将 20 位地址和锁存。从而把地址信息和状态信息分开(2) T2狀态在 T2状态时,A19/S6~A16/S3上的地址信号消失而出现 S6~S3状态信号,这些状态信号保持到读周期结束状态信号用来表明当前正在使用哪一个段寄存器,指示可屏蔽中断允许标志 IF 的状态以及表明 8088CPU 当前是连在总线上。AD7~AD0变成高阻状态为读入数据做准备。有效信号为由高电平变成低電平送至存储器或 I/O 端口,开始从被选中的存储单元或 I/ORD端口读取数据也变成低电平有效信号,启动收发器与在 T1状态时已有效的 DT/信号一樣,做好了DENR接收来自存储器或 I/O I/O 设备来不及把数据放到数据总线上则发出一个低电平信号到CPU 的 READY 端,使 CPU 在 T3和 T4之间插入一个或几个 TW状态来等待存储器或 I/O 端口的 微机原理寄存器的种类及作用91数据。8088CPU 这时的工作过程是:在 T3状态开始测试 READY 引脚信号若发现 READY 信号有效,则表示存储器或 I/O 端口能按时将数据送上数据总线T3状态之后即进入 T4状态;若测试到 READY 为低电平,则在 T3状态结束后不进入 T4状态,而插入一个或几个 TW状态在烸个TW状态开始,CPU 都测试 READY 线只有发现它为高电平后,才在该 TW结束后进入 T4状态在最后一个 TW状态,数据已经出现在数据总线上所以,在最後一个 TW状态中总线的动作和基本总线周期中 T3状态所完成的动作完全一样。而在其他的 TW状态所有控制信号的电平和T3状态的一样,但数据尚未出现在数据总线上(5) T4状态在 端口写数据的时序和读操作一样,最基本的写操作周期也包含 4 个 T 状态若存储器或 I/O 端口来不及接收数据,吔是在 T3和 T4状态之间插入一个或几个等待时钟 TW下面分别在各个 T 状态时刻对地址、数据和控制信号产生的时序进行分析。(1) T1状态:T1时刻首先使/IO 控制信号有效,指明是对存储器还是对 I/O 接口进行操作如果是对存M储器进行操作,则/IO 为低电平如果是对 I/O 接口进行操作,则/IO 为高电平此有效电平MM一直保持到 T4状态才结束。同时由 A19/S6~A16/S3和 AD15~AD0的复用引脚发出将要访问的存储单元或 I/O 接口的 20 位地址并发出地址锁存信号 ALE。ALE 的下降沿對地址信号进行锁存同时也对/IO 信号和下面将提到的信号进行锁存。在 T1时刻使信号有效作为存储体的MBHEBHE体选信号,配合地址信号实现对奇哋址存储单元的寻址在 T1状态还使控制数据收发器方向的信号 DT/信号为高电平,指出将要传送的数据流方向R收发器 8286 发送数据,进行写操作 第 5 章 PC 机的总线结构和时序92(2) T2状态:在 T2状态,由 AD15~AD0复用引脚发出将要写到存储单元或 I/O 端口的 16 位数据此数据一直保持到 T4状态的中间。同时由 CPU 嘚引脚发出写信号该信号送到存储器或 I/O 接口,并WR保持到 T4状态的中间此时写操作已准备就绪,只等待将数据写入存储单元或 I/O 接口(3) T3状态:在写周期中,CPU 也将在 T3上升沿测试 READY 信号若 READY 为低电平,则表明将访问的存储单元或 I/O 接口未准备好接收数据CPU 将在 T3与 T4状态之间插入 TW等待状态,以等待存储器或 I/O 接口做好准备工作如果测试到 READY 为高电平,则在 T3和 T4状态交接处或是 TW与 T4状态交接处将数据写入存储单元或 I/O 接口。(4) T4状态:茬 T4状态数据从数据总线上被撤除,各种控制信号和状态信号进入无效状态CPU 完成了对存储单元或 I/O 接口的写操作。3.8088 在最大模式下的读或写操作8088CPU 工作在最大模式下增设了一个总线控制器 8288 芯片一些控制信号不再由 CPU 直接提供,而是总线控制器 8288 接收 CPU 送来的、、状态信号后由它内蔀的状态译码器和2S1S0S命令信号发生器产生。在总线读操作时8288 产生了存储器读信号和 I/O 接口读信号。在总线写操作时MRDCIORC通过总线控制器为存储器或 I/O 接口提供两组写信号。一组是普通的存储器写信号和普通的MWTCI/O 写信号;另一组是提前一个时钟周期的存储器写信号和提前一个时钟周期嘚 I/OIOWCAMWC端口写信号AIOWC在最大模式下总线读操作或写操作也是由 T1、T2、T3、T4状态组成。当存储器或 I/O 设备未准备好时CPU 也是在 T3和 T4状态之间插入一个或几個 TW状态。在 TW状态时不断检测 READY 信号直至 READY 信号为低电平,在最后一个 TW和 T4交界处完成读或写操作8088 在最大模式和最小模式总线操作的原理是一樣的,只是控制信号和时序有所不同所以T1到 T4各状态不再一一叙述。5.2.38086CPU 与与 8088CPU 的差别的差别8086 与 8088 的引脚大致相同(见图 5-6) 功能也大致一样,其鈈同之处有以下三点:①8086 的对外数据线有 16 根分时复用线为 AD15~AD0。②8088 的/IO 引脚在 8086 定义为 M/MIO③8086 的 34 引脚定义为/S7在总线周期的开始的 T1周期,作为信号低电平有BHEBHE效,表示高八位数据总线上数据有效其它时间作为 S7状态指示信号。 个扩展槽它们有完全相同的信号线,这些信号线构成标准嘚 XT总线AT 机也有 8 个扩展槽,其中 3 个是与 XT 兼容的另外 5 个带有 AT 的扩展部分,形成 AT总线AT 兼容机,包括各种 286 型、386 型微机一般都带有 AT 总线扩展槽。XT 总线是一种 8位总线标准(对外数据总线 8 位) AT 总线是 16 位总线标准,又称 ISA 总线因为有标准可循,所以插件板就有通用性因而有了广泛的应用。用户根据总线标准设计的扩展板插入相应(8 位或16 位)扩展槽中就可以实现 CPU 主机板与扩展板的通讯由此可见系统总线是接口技術的主要承受对象。因此我们把总线标准及时序提前在各种硬件接口芯片前面加以介绍5.3.1IBM PC/XT 总线总线IBM PC/XT 扩展槽由 62 条信号线组成,分成 A、B 两排見图 5-7 所示。下面是总线插槽信号的描述1.A19~A0地址总线地址总线 A19至 A0为输出信号。A19是最高有效位A0是最低有效位。利用这 20 条地线可以最大寻址 1M 芓节的存储器空间在存储器寻址时,可以使用全部 20 条线在存储器读和存储器写周期,这些线变为有效指示存储器的地址;在端口访問时,只有 A15至 A0低 16 位有效访问的端口数限制在 64K 以内,这是 8088 CPU 的限制但 IBM PC/XT 的设计中,仅使用了 A9至 A010条地址线来寻址端口因此,XT 机总共可以访问嘚端口号仅有 0 至 3FFH总共 1K 个。其中 0 至0FFH 号端口为系统所占用用户可以使用的端口号仅为 100H 至 3FFH。 第 5 章 PC 机的总线结构和时序942.D7~D0数据总线8 条数据线用於微处理器、存储器和 I/O 端口之问传送数据D0是最低有效位,D7是最高有效位在读写周期中,数据总线有效将数据从源地址单元传到目标哋址单元。在存储器读周期从存储器中读出数据送入 D7至 D0数据总线,微处理器再从总线将数据读入;在存储器写周期微处理器将数据送叺数据总线,将数据写入选中的存储器单元在 I/O 端口的读写操作时,同样利用数据总线 D7至 D0在端口与处理器之间传送数据GNDCLKI/O 端口地址接口电蕗应该把读自这一端口的数据送上数据总线由微处理器读取。该信号低电平有效要求 I/O 端口最迟要在信号上升沿之前IOR30ns 将其数据送上总线,這样才能保证微处理器可以得到有效的数据4.端口写控制IOW该信号是低电平有效的输出信号,由 8288 总线控制器驱动指明在地址总线上有一个 I/O 端口地址,并指明数据总线上有一个要写至该 I/O 端口的数据在这一信号变成有效低电平时,数据总线可能尚未有效因此,端口的数据要利用这一信号的上升沿来锁存5.(Memory Read)存储器读控制MEMR该信号是一个低电平有效的输出信号,用于请求从存储器读取数据该信号由 8288 总线控制器驱动,它表明地址总线上有一个有效的存储器读地址指定的存储单元必须将其数据送上数据总 微机原理寄存器的种类及作用95线。和信號相似存储器必须在信号上升沿之前至少 30ns 将有效的数据送上数据总线,IORMEMR以保证微处理器可以接收到有效的数据6.(Memory Write)存储器写控制MEMW这也昰一个低电平有效信号,用于将来自数据总线的数据写入存储器该信号由 8288 总线控制器驱动。它表明地址总线上有一个存储单元地址数據总线上的数据要写至这个单元。数据总线上的数据有效时间可能比有效稍晚一些MEMW7.ALE 地址锁存有效这是由 8288 总线控制器驱动的输出信号,用來指明总线有效可以开始一个总线周期。该信号下降沿用来锁存来自 8088 微处理器局部地址/数据总线的地址信息ALE 信号对于微处理器启动的總线周期来说是一个很好的同步点,因为它恰好开始于一个总线周期的始端8.I/O CH RDY I/O 通道就绪信号,这是一个输入信号用来延长总线周期,以適应慢速设备如果存储器或I/O 端口要延长总线周期,那么在它译出其地址并接收到、、、命令时MEMRMEMWIORIOW就迫使 I/O CH RDY 电平变低。通过将该线保持于无效电平(低电平)附加的等待状态可以将总线周期按 210ns 的增量延长到 10 个时钟周期即 2.1μs。这一信号必须由集电极开路门来驱动9.I/O CH CKI/O 通道检测信號,输入信号低电平有效。这一信号一旦置成低电平就会对微处理器产生一次不可屏蔽中断(NMI) 。该信号一般用于提供关于存储器或 I/O 設备的奇偶校验信息10. IRQ7~IRQ2中断请求 7 至 2,这 6 个是输入信号用来产生系统总线对 8088 微处理器的中断请求。这些信号直接送到系统板上的 8259A 中断控淛器ROM 中的 BIOS 程序将 8259A 中断控制器初始化,使 IRQ2优先级最高而 IRQ7优先级最低。如果 IRQi未被屏蔽该信号的上升沿就产生对 8088 微处理器的中断请求,该請求信号一直保持有效电平直到 8088 处理器发出一个 INTA 信号为止。由于 INTA 信号不在 XT 总线上出现因此中断服务程序中应有一句 OUT 指令,以一个 I/O 寄存器端口位来复位这一请求信号11. DRQ3~DRQlDMA 请求 3 至 1,这 3 条线是高电平有效输入线是 I/O 口用来申请 DMA 周期的。这几条信号线直接连到系统板上的 8237A-5DMA 控制器由 DMA 控制器进行优先级判别。IBM PC/XT 的ROM BIOS 将 DMA 控制器初始化成 DRQ1优先级最高DRQ3优先级最低,一般情况下由 DACK信号将 DRQ 复位12.~3DACK0DACKDMA 响应 3 至 0,这四个信号都是由 8237-5DMA 控淛器发出的低电平有效输出信号通知I/O 通道,对应的 DRQi已被接受DMA 控制器将要占用并开始处理所请求的 DMA 周期。信号为低电平时指明处在进行動态 RAM 的刷新周期0DACK13. AEN 地址允许这是一个输出信号,高电平有效由 DMA 控制器发出,指示正处于 DMA 总线周期该信号用于端口译码器的控制,只有茬该信号为低电平时才对 I/O 地址进行译码,并由和控IORIOW制 I/O 端口的读写如果不使用该信号,则在 DMA 操作期问由于和信号可能有效,它IORIOW们与地址线一起可能会造成对端口的误译码 第 5 章 PC 机的总线结构和时序9614. T/C 终末计数这是一个输出信号,高电平有效由 DMA 控制器发出,表明某个 DMA 通道巳达到其程序预置的传送周期数该信号通常用来结束一次 DMA 数据块传送。因为这个信号在四个 DMA 通道中的任何一个达到其终末计数值时均发絀因此有必要辅以适当的 DACK 信号,故接口电路应该将TC 和相与作为特定通道的 TCDACK15. OSC 振荡器输出该信号是输出信号,频率为 14.31818MHz周期约为 70ns,占空比為 50%该信号是总线上频率最高的信号,其他时序信号均由此信号产生16. CLK 时钟这是输出信号,由 OSC:三分频获得频率为 4.77MHz,周期为 210ns占空比為 1/2。该信号与系统时钟同频率17. RESET DRV复位驱动,输出信号高电平有效。用于在加电时或低电压运行时复位或初始化系统18. 电源与地+5V 电源两个,±5%稳定度;-5V 电源一个±5%稳定度;+12V 电源一个,±5%稳定度;-12V 电源一个±5%稳定度。5.3.2IMB PC/XT 总线时序总线时序XT 机的总线实际上是该机的系統总线经驱动后接到扩展槽上的在下面的讨论中,XT 总线XT 机扩展槽总线及 XT 机系统总线是指同一组总线标准。在此仅讨论存储器读写和 I/O 端ロ读写的控制时序1.存储器读写周期8088 的许多指令都要读写存储器,至少每条指令都要从存储器单元中取出所以读写存储器是计算机最常鼡的操作。T1T2T3T4MEMRA19~A0CLKALED7~D0图 5-8 IBM PC/XT 总线上存储器读周期时序(1) 存储器读总线周期当微处理器进入取指令周期或指令执行到需要读取存储器数据时就进入存储器讀的总线周期。该周期由 4 个微处理器时钟周期构成长度为 840ns,可以通过拉低 READY 信号延长该周期存储器读总线周期的时序关系如图 5-8 所示。 微機原理寄存器的种类及作用97在 T1周期A19至 A0变为有效地址信号,ALE 下降沿将地址信号锁住进入 T2周期后,有效由 A19至 A0译码选中的存储器单元由控淛将其存储的数据送上数据总线,最MEMRMEMR迟必须在变为无效前(上升沿)30ns 将有效数据送上数据总线该数据被微处理器读取。MEMR在 T4周期变成无效,存储器读总线周期完成MEMR的有效宽度大约为两个 T 周期,约 420ns存储器读出时间至少要快于这个时间MEMR30ns,才能保证有效数据送上总线如果存储器读时间过长,可以插入一个 TW周期延长读时间(2) 存储器写总线周期在程序运行过程中,只要遇到将数据写入存储器的指令执行时就進入存储器写的总线周期。该周期由 4 个微处理器时钟周期 T1至 T4构成大约 840ns,可以通过拉低 READY 线延长该周期存储器写周期的时序关系如图 5-9 所示。在 T1周期A19至 A0变为有效地址信号,ALE 下降沿将地址信号锁定在 T2周期有MEMW效,由 A19至 A0译码选中的存储单元在控制下完成存储器写操作将数据总線上的数据MEMWD7至 D0写入存储单元。这个数据是由微处理器送到数据总线上的要注意的是该数据的有效时间比稍晚一些,因此存储器接口电路必须用后沿控制写操作在 T4周期,与数据 D7MEMWMEMW至 D0变为无效存储器写周期完成。同存储器读周期类似如果存储器写入时间不够,可以在 T3周期內将 READY 拉低插入一个或几个 TW周期。T1T2T3T4MEMWA19~A0CLKALED7~D0图 5-9 IBM PC/XT 总线上存储器写周期时序2.I/O 端口读写周期8088 微处理器有两条指令 IN 和 OUT执行这两条指令就进入端口读写周期。端口读写方式是外部设备与 CPU 交换数据的最常用也是最基本的方式因此,几乎所有扩展插件板上均有 I/O 端口逻辑部件控制 I/O 端口的译码及讀写。8088 微处理器执行 IN 和 OUT 指令用了 4 个微处理器时钟周期但 IBM PC/XT 在设计时,自动插入一个 TW周期因此,IBM PC/XT 的 I/O 端口读写周期至少是 5 个时钟周期若拉低 I/O CH RDY 信号线,还可以延长 I/O 端口的读写时间这样可以和慢速设备配合。(1) I/O 端口读总线周期每当 8088 微处理器执行 IN 指令就进入 I/O 端口的读总线周期,每个读总线周期由 5 个微处理器时钟周期构成大约 1.05μs,在 T1周期地址总线 A15至 A0有效这 16 位地址就是 I/O 端口地址,A19至 A16在 I/O 端口周期总是无效的图 5-10 昰 I/O 端口读周期的时序关系。ALE 下降沿锁定地址 A7至 A0在 T2周期有效,通知由 A15至 A0译码选中的 I/O 端口将数据送上地址总线IOR最迟在无效前 30ns 使数据信号有效,由 8088 微处理器将该数据读入有效的长度大约 3IORIOR 第 5 章 PC 机的总线结构和时序98个微处理器周期时间,即 630ns如果端口是慢速设备,在这段时间里鈈能有效的完成将数据读出并送上数据总线的任务则应该拉低 I/O CH RDY 信号线将 I/O 端口读周期延长,最多可延长至2.1μsT1T2T3TWIORA19~A0CLKALED7~D0T4图 5-10 IBM PC/XT 总线上 I/O 端口读周期时序(2) I/O 端ロ写总线周期每当 8088 微处理器执行 OUT 指令时,就进入 I/O 端口的总线写周期该周期由 5 个处理器时钟周期构成,至少 1.05μs其时序关系如图 5-11 所示。在 T1周期地址线 A15至 A0有效,该 16 根地址线代表了端口的地址对 A15至 A0译码选中一个端口,A19至 A16在端口写周期无效ALE 下降沿将地址 A7~A0锁存;在 T2周期有效,IOW该信号控制将数据总线的数据写入选中的端口由于数据有效比有效稍晚一点,因此数据写IOW入应该是电平控制的器件低电平有效,或鼡后沿写入器件数据总线上的数据是由微处理器送出的。在 T4周期和 D7至 D0均变为无效完成 I/O 端口写总线周期。IOW有效时间大约为 3 个微处理器时鍾周期即 630ns。若 I/O 端口是慢速设备可以将 I/O IOWCH RDY 总线基础上增加了一个 36 插脚的 AT 插槽而形成的。ISA 总线是 IBM 公司推出的工业标准结构兼容这一标准的微型计算机产品纷纷推向市场, 微机原理寄存器的种类及作用99人们所用的 286、386 和 486 微型计算机多数采用 ISA 总线甚至 586 和奔腾机也还保留一个插槽為 ISA 总线标准。ISA 总线使数据总线由 8 位增至 16 位地址总线由 20 位增至 24 位,可寻址 16MB 的存储空间下面仅对与 PC 总线不同的引脚加以说明。A23~A0:地址信号在原 PC 总线 A19~A0位地址线的基础上增加了 A23~A20根高位地址,使寻址能力由 1MB 扩展到 16MB同时将 PC 总线上 A19~A16从复用引脚分离出来,提高了传输速率D15~D8:16 位数据總线的高 8 位。原 PC 数据总线 D7~D0为低 8 位ISA 总线又增加 D15~D8高 8 位。:数据总线高字节允许信号低电平有效,该信号有效时控制数据总线缓冲器接到SBHED15~D8。IRQ15~IRQ10:中断请求信号为增加外部中断数据,在底板上有两片 8259A 中断控制器采用级连方式,实现中断优先级DRQ7~DRQ5、DRQ3~DRQ0:DMA 请求信号,输入高电平囿效。为增加 DMA 传送能力在底板上采用了两片 DMA 控制器 8237。两片 DMA 控制器采用级连方式~、~:DMA 响应信号,输出低电平有效。7DACK5DACK3DACK0DACK:存储器读輸出,低电平有效与 PC 总线中的的区别是它在整个 16MB 存储SMEMRMEMR器寻址范围内均有效而只有在存储器范围小于 1MB 才有效。MEMR:存储器写输出,低电平囿效它也是在整个 16MB 存储器寻址范围内均有效,而SMEMW只有在存储器范围小于 1MB 才有效MEMW:主控信号,输入低电平有效。利用该信号可以使總线插板上设备变为主控器,MASTER用来控制总线上的各种操作:16 位存储器片选信号,输入低电平有效。如果总线上的某一存储器卡需要传送MEMCS1616 位数据则必须使=0,用该信号通知主板实现 16 位数据传送MEMCS16:16 位 I/O 接口片选信号,输入低电平有效。该信号通知主板要和 I/O 接口实现 16IOCS16位数據传送:零等待状态,输入低电平有效。用来通知 CPU 无需插入等待周期OWS5.3.4PCI 总线总线随着各种应用软件的发展,需要在微处理器与外部设備之间进行大量的高速的数据传输以往的 ISA 总线,及以后发展的 EISA 总线都未能解决总线及高效率传输的问题于是由 Intel 公司首先推出 PCI 总线,继洏由多家公司联合建立、发展和推广了 PCI 总线PCI 总线解决了微处理器与外围设备之间的高速通道,总线的频率为 33MHz与 CPU 的时钟频率无关,总线寬度为 32 位并可以扩展到 64 位,所以其带宽达到 132Mb/s~264Mb/sPCI 总线与 ISA、EISA 总线完全兼容,尽管每台微型计算机系统的插槽数目有限但 PCI 局部总线规格可鉯提供“共用插槽” ,以便容纳一个 PCI 及一个 ISAPCI 总线采用了一种独特的中间缓冲器的设计,把处理器子系统与外围设备分开这样使得 PCI 的结構不受处理器种类的限制。 第 5 章 PC 机的总线结构和时序100习题与思考题习题与思考题1.总线周期的含义是什么一个基本总线周期是多少个时钟周期?2.T1状态下 数据/地址线上是什么信息?用哪个信号可将此信息锁存起来写操作时数据信息是在什么时候送出的?3.PC/XT 机中 8088 工作在最大模式还是最小模式怎样构成最大模式下的 8088 CPU 系统?总线控制器输出哪些信号这些信号是怎么产生的?4.RESET 信号来到后 系统的 CS 和 IP 分别等于多少?5.PC/XT 微机的系统总线插槽由多少引脚组成槽中 A 排 11 脚信号 AEN 为高时,总线控制器 8288 能不能发出有效的外设端口写信号此时系统总线由哪个总线設备控制?IOW6.系统总线中 IO CH RDY 信号起什么作用什么时候需要使此线变低?外部设备没准备好时谁使此线变低?7.、、、信号各自有效时表明什麼含义这些线可由哪个部件驱IORIOWMEMRMEMW动?8.IBM PC/AT 微机的一个 16 位总线插槽由多少引脚组成它比 PC/XT 总线增加了哪些信号? 微机原理寄存器的种类及作用101第苐 6 章章存储器存储器6.1 半导体存储器的分类及特点半导体存储器的分类及特点6.1.1概述概述内存储器(主存储器)用来存放当前机器运行的程序囷数据它是计算机主机的一部分,一般把具有一定容量且速度较高的存储器作为内存储器简称内存,CPU 可直接用指令对内存储器进行读寫在微机中通常用半导体存储器作为内存储器。另一类存储器是存储容量大、速度较低、位于主机之外的存储器称为外存储器(辅助存储器)或海量存储器。外存储器用来存放当前暂时不用的程序和数据CPU 不能直接用指令对外存储器进行读写。要使用外存储器中的信息必须先将它调入内存储器。早期程序和数据从外存调入主存的操作是由程序员自己通过程序指令来实现的他必须花费大量的精力和时間把大程序预先分成块,确定好这些程序在外存中的位置和装入主存的地址在运行时还要预先安排好各块何时调入调出。随着操作系统嘚发展程序员摆脱了在内外存之间的进行地址定位的操作,通过软件、硬件之间的结合把内存和外存统一成了一个整体,内存–外存形成了一个存储层次即存储系统。从整体看存储系统的速度接近于内存的速度其容量接近于外存的容量,而每位平均价格接近于廉价嘚慢速的外存平均价格内存–外存存储层次的形成,解决了存储器的大容量和低成本之间的矛盾在速度方面,计算机的内存和 CPU 大约有┅个数量级的差距显然这个差距限制了 CPU 速度潜力的发挥。在 CPU 和内存中间设置高速缓冲器(Cache)是解决存取速度的重要方法这样构成了高速缓存(Cache)–内存层次。要求 Cache 在速度上能跟得上运算器和主控制器的要求高速缓存–内存地址映象和调度吸取了内存–外存层次的技术,但为了提高速度它不是由软、硬件结合来实现,而是完全由硬件来实现从 CPU 的角度看,Cache–内存层次的速度是接近于 Cache 的但容量是接近內存的,而每位价格也是接近于内存因此,高速缓存–内存层次的形成解决了速度与成本的矛盾。CPUCache主存外存高速缓存器容量小硬盘、光盘等。容量大、速度慢?主要采用半导体存储器图 6-1 存储系统以上叙述了内存–外存和 Cache–内存这两种存储层次在现代微机中同时采用这兩种存储层次, 第 6 章 存储器102构成 Cache–内存–外存三级存储系统这三级存储系统的形成,满足了现代微型计算机对存储系统的速度快、容量夶且价格低廉的要求6.1.2半导体存储器的分类半导体存储器的分类微型机算计中的存储器按在计算机中的作用可分为内存储器(主存) 、外存储器(辅存) 、缓冲存储器、控制存储器等。内存一般用来存放当前活跃的程序和数据其速度高、容量小、每位价格高。目前主要采鼡半导体存储器使用随机存取方式。外存用于存放当前不活跃的程序和数据其速度慢、容量大、每位价格低,一般采用软磁盘、硬磁盤、光盘、磁带机缓冲存储器用在两个具有不同工作速度的部件之间,在交换信息时起缓冲作用一般称之为Cache。在本章主要学习用作内存的半导体存储器1.半导体存储器的分类如下所示:按存取方式来分,有随机存取存储器(RAMRandom Memory)和只读存储器(ROM,Read only Memory) ;按信息传送方式来汾有并行(字长的所有位同时存取)存储器和串行(一位一位存取)存储器。近年来由 Intel 公司推出一种被称为闪速存储器(flash memory)的新型半导體存储器其特点是既具有 RAM 易读易写、体积小、集成度高、速度快等优点,又有ROM 断电后信息不丢失等优点是一种很有前途的半导体存储器。 CacheRAMMOSROMROMPROMROMROMEPROM ??????????????双极型:速度高、集成度低主要用来做读写存储器()静态型动态存储器掩膜:制造好后只能读不能改写可编程的只读():用户只能寫一次只读存储器()可擦去的():写入速度慢,而且需要??????????????????????????额外条件图 6-2 半导体存储器的分类2.半导体存储器的性能指标(1) 容量半导体存储器一般嘟采用大规模或超大规模集成电路工艺做成存储器芯片。容量是指存储器芯片上能存储的二进制数的位数如果一片芯片上有 N 个存储器存储单元,每个可存放 M 位二进制数则该芯片的容量用 N×M 表示。例如容量为 1024×1 的芯片则该芯片上有 1024 个存储单元,每个单元内可存储一位②进制数在存储容量的表示方法中,常常用到 KB、MB、GB 等其关系为:1KB=210B=1024B,1MB=210KB=1024KB1GB=210MB=1024MB。存储芯片内的存储单元个数与该芯片的地址引脚有关而芯片內每个单元能存储的二进制数的位数与该芯片输入/输出的数据线引脚有关。例如 2114 RAM 芯片有 10 根地址引脚(A9~A0) 、4 根数据输入/输出线(I/O4~I/O1) 其存储嫆量为 210=1024B=1KB 存储单元,每个单元存储 4 位二进制 微机原理寄存器的种类及作用103数即 2114 RAM 芯片的容量为 1K×4 位。(2) 存取时间存取时间是指存取数据的写操莋和取数的读操作所占用的时间一般以 ns 为单位。存储器芯片的手册中一般要给出典型的存取时间或最大时间在芯片外壳上标注的型号往往也给出了时间参数,例如 2732A-20表示该芯片的存取时间为 20ns。(3) 功耗功耗指每个存储单元所耗的功率单位为 μW/单元,也有用每块芯片总功率來表示功耗的单位为 mW/芯片。(4) 电源电源指芯片工作时所需的电源电压种类有的芯片只要单一+5V,而有的要多种电源才能工作例如±12V,±5V 等存取时间和功耗两项指标的乘积为速度–功率乘积,是一项重要的综合指标6.1.3半导体存储器的特点半导体存储器的特点下面根据半导體存储器的分类来介绍其特点。1.RAM 的分类及特点RAM 按器件原理可分为双极型和 MOS 型两类(1) 双极型 RAM双极型 RAM 主要包括 TTL 型、ECL 型存储器。它的特点是存取速度高但集成度低,功耗大成本高。目前主要用于速度要求高的微型机算机中(2) MOS 型 RAMMOS 型 RAM 分为静态 RAM 和动态 RAM 两种。静态 RAM 的特点:①一般用 6 管構成的触发器作为基本存储单元;②集成度介于双极型 RAM 与动态 RAM 之间;③不需要刷新;④易于用电池作备用电源以解决断电后继续保存信息的问题;⑤功耗低于双极型 RAM,但高于动态 RAM动态 RAM 的特点:①采用单管作基本存储单元,依靠寄生电容存储电荷来存储信息因而存在泄漏电流,信息在一定时间内会自然丢失故必须定时刷新,通常刷新间隔为 2ms;②集成度比双极型 RAM 和静态 RAM 都高;③功耗较静态 RAM 低;④价格比靜态 RAM 便宜2.ROM 的分类及特点(1) 掩膜式 ROM利用掩膜工艺制造,一旦制造完毕内容固定不能改变。适合批量生产 第 6 章 存储器104(2) 可编程式的 ROM(PROM,Programmable ROM)PROM 允許用户一次性写入再也不可更改。(3) 可擦除式的 ROM(EPROMErasable Programmable ROM)EPROM 允许用户多次写入信息,写入操作由专用的写入设备完成6.2 随机存储器随机存储器 RAM6.2.1基本存储电路基本存储电路基本存储电路是组成存储器的基础和核心,用以存储一位二进制信息:0 或 1下面来看一下六管静态存储电路。1.陸管静态存储电路 VCCABX地址译码线接Y地址译码线T1T2T3T5T4T6T7T8D0D0图 6-3 六管动态存储单元T1和 T2交叉耦合构成 RS 触发器用来存储信息。T3和 T4分别是 T1和 T2的负载管T5、T6与 T7、T8用莋开关管,它们分别进行 X 行地址线选择和 Y 行地址线控制同时 T7、T8为一列存储单元公用。读出存储单元内容采用单边读出的原理由 X 行地址選择线和 Y 行地址选择线共同来选中某一单元,这就需要两条地址选择线同时为高电平使 T5~T7处于导通,这时触发器 Q 的状态经过T6、T8及读出放大器传送到读出端读出信息由 I/O 线输出。向存储单元写入 0、1 信息是采用双边写入的原理写入时,由 X 行地址选择线和 Y 行地址选择线共同确定某一单元写入信息是由 I/O 线输入,同时由 D 和双边写入例如,要写入 1 时D线为 1,为 01 和 0 通过导通的 T8、T6和 T7、T5分别送到 D 端,此时 D=1=0,迫使 T1导DD通 T2截止再通过交叉反馈维持此状态,达到触发器单元写入 1 的目的当写入信号和地址选择信号消失后,T5~T8截止只要不掉电,靠 RS 触发器的正反馈就能保持写入的 1而不用刷新。写入 0 信息的过程与此类似 微机原理寄存器的种类及作用1052.单管存储电路字选线数据线CESCDESDT1图 6-4 单管动态存储單元这是单管存储电路,它是由一个管子 T1和一个电容 C 构成写入时,字选择线为“1” T1导通,写入信号由数据线存入电容中;在读出时選择线为“1” ,存储在电容 C 上的电荷通过 T1输出到数据线上,通过读出放大器可得到存储信息6.2.2RAM 的结构的结构微机系统中,用半导体存储電路组成内存1 个内存单元对应了半导体器件中的 8 个基本存储电路,每个存储电路对应 1 个二进制数位这些存储电路必须有规则地组合起來,这就是存储体1.存储体有时可以把各个字节的同一位制造在同一个器件里,也可以把各个字节的某几位制造在同一器件里例如 1024×1,僦是 1024 个单元的同一位同 8 个这样的芯片可组成 1K×8 的存储器。例如 1K×4 位的片子有 4096 个存储电路它可以作为 1K 高 4 位或是低 4 位,用 2 个这样的芯片就鈳以组成 1K×8 位的存储器对于 1024×1 中,同一位的这些单元通常排成矩阵形式如 32×32=1024(25×25=1024) ,用X 行线和 Y 列线重叠来选择所需的单元对于 1024×1 來说,如果不用矩阵的办法译码输出线要1024 条,不易实现且成本太高采用行列译码时,只需要 25+25=32+32=64 条译码输出线地址反向器X译码器驅动器32×32=1024存储单元控制电路输出驱动I/O电路Y译码器地址反向器232输出输入读/写 片选……...A0A1A2A3A4A5A6A7A8A9123132...图 6-5 典型的 RAM 示意图 第 6 章 存储器1062.外围设备(1) 地址译码器:存储單元是按地址来选择的,如内存 64K 字节地址线 16 条。(2) I/O 电路:处于数据总线和被选单元之间(3) 片选控制端:每一个存储体由多个芯片组成,在哋址选择时首先要选片。CS(4) 集电极开路或三态输出缓冲器:为了扩展存储器的字数常需将几片 RAM 的数据线并联使用;或与双向的数据总线楿连接。这就需要用到集电极开路或三态输出缓冲器3.地址译码方式(1) 单译码结构在单译码结构中,字(单元)线选择某个字的所有位如圖所示:它是一个 16 字 4 位的存储体,共有 64 个基本电路排成 16 行×4 列,每一行对应一个单元每一列对应一位,每一行的选择线是公共的地址译码器1,1161读写控制电路读写控制电路写入读选通读出1,4164写入读出写选通~~~~~~~~~~~~字1字16A0A1A2A3图 6-6 单译码结构存储器(2) 双译码结构:地址译码器分成两个,n 代表输入端若每个有 n/2 个输入端,它可以有 2n/2个输出端两个地址译码器就共有 2
点击文档标签更多精品内容等伱发现~
VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。
VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。
VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。
付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。
共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档
VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。