《微机原理课件1第02次课第02章》由会员分享,可在线阅读,更多相关《微机原理课件1第02次课第02章(47页珍藏版)》请在金锄头文库上搜索。
1、第二章 微型计算机概论,主要内容,1微型机的基本结构,8088(8086)微处理器的工作原理,微型计算机系统概述,存储器(ROM.RAM),输入输出接口,系统总线,微处理器,微 型 计 算 机,微型计算机系统,外部设备,系统软件,以一台个人电脑为例。CPU就是微处理器,内存就是存储器(不是硬盘),主板上的各种接口就是输入输出接口,而系统总线在主板上。 鼠标,键盘,扫描仪,打印机就是外部设备,而系统软件就是WIN98,DOS,UNIX等等操作系统。,计算机系统组成,CPU 存储器 主机 输入/输出接口 硬件系统 总线 外设 微机系统 系统软件 软件系统 应用软件,微型计算机总线系统,数据总线 D
2、B 地址总线 AB 控制总线 CB,微处理器,CPU,存储器,输入/输出,接口电路,数 据 总 线,地 址 总 线,外 围 设 备,控 制 总 线,思考,数据总线:用来传输数据。从结构上看,数据总线是双向的,即数据即可从CPU送到其他部件,也可从其它部件送到CPU.,数据总线上传送的一定是数据吗?,答:在微型机中,数据的含义也是广义的。 数据总线上传送的不一定是真正的数据, 还有可能是指令代码、状态量或控制量,数 据 总 线,地址总线:专门用来传送地址信息。由于地址总是从CPU送出的,所以和数据线不同,地址总线是单向的。地址总线的位数决定了CPU可以直接寻址的内存范围。,地 址 总 线,控制总
3、线:用来传输控制信号。其中包括 CPU送往存储器和I/O接口电路的控制信号,如读信号、写信号和中断响应信号等;还包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号。,控 制 总 线,微处理器的组成和功能,微处理器(Microprocessor)是微型机算计的运算及控制部件,也称为中央处理单元(CPU)。它本身不构成独立的工作系统,因而它也不能独立地执行程序。,组成:由算术逻辑单元(ALU) 、寄存器阵列、控制单元和片内总线组成,是计算机系统的核心,一般由大规模集成电路构成,微处理器的功能,1 保存少量的数据,2 计算功能,3 控制功能,4 编程功能,存储器(Memory),存
4、储器又叫内存或主存,是微型计算机的存储和记忆部件,用于存放数据和当前执行的程序。,有关内存储器的几个概念:,内存单元的地址和内容 内存容量 内存的操作 内存的分类,内存单元的地址和内容,每个单元都对应一个地址,以实现对单元内容的寻址。,10110110,38F04H,内存地址,单元内容,内存容量,内存所含存储单元的个数,以字节为单位。 内存容量的大小依CPU的寻址范围而定(即CPU地址信号线的位数),注意观察:存储单元、位、单元地址、地址线根数,存储器,存储器由寄存器组成, 可以看看作是一个寄存器堆, 每个存储单元实际上相当于一个缓冲寄存器。,内存操作,读:将内存单元的内容取入CPU,原单元内
5、容 不改变 写:CPU将信息放入内存单元,单元中原来的 内容被覆盖,内存储器按工作方式可分为: 随机存取存储器(RAM) 只读存储器(ROM),只读存储器(ROM),ROM是用以存放固定程序的存储器,一旦程序放进去之后,即不可改变,不能再“写”入新的字节,而只能从中“读”出其所有存储的内容,因此称为只读存储器。,ROM符号,随机存储器(RAM),随机存储器又叫读/写存储器, 它不但能读取已存放在其各个存储单元中的数据, 而且还能够随时写进新的数据, 或者改写原来的数据。因此, RAM的每一个存储单元相当于一个可控缓冲寄存器。,RAM的符号,输入/输出接口,接口是CPU与外部设备间的桥梁,接口的
6、功能:,数据缓冲寄存 信号电平或类型的转换 实现主机与外设间的运行匹配,计算机的工作原理,将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 指令按其在存储器中存放的顺序执行 由控制器控制整个程序和数据的存取以及程序的执行 以运算器为核心,所有的执行都经过运算器,冯 诺依曼机的特点:,一.执行部件,二.总线接口部件,四 存储器的结构,8086/8088 CPU 的结构,三.总线接口和执行部件的动作管理,与传统工作方式的不同,ALU,执行部分 控制电路,输入/输出 控制电路,地址加法器,20位,16位,指令队列缓冲器,8位,执行部件(EU),总线接口部件(BIU),外部 总线,1
7、6位,运算寄存器,标志寄存器,通用 寄存器,8086CPU结构图,段寄存器,执行部件(E U)总线接口部件(BIU),BIU负责与存储器、I/O端口,即8086/8088CPU与存储器之间的信息传送。具体地说,即BIU负责从内存的指定部分取出指令,送到指令流队列中排队;在执行指令是所需的操作数,也由BIU从内存的指定区域取出,传送给EU部分去执行。 EU部分负责指令的执行。,(一)计算机CPU动作的基本步骤 在时钟信号协调下,产生一系列控制信号,控制CPU 各部分。基本步骤如下: 从内存取指令,同时IP修正; 识别,分析操作码; 如果需要,从M中取数; 执行; 如果需要,向M送结果; 每一条指
8、令执行时重复执行15。,BIU与EU的动作管理,8086CPU分EU和BIU,每部分负责不同工作。条件允许时,可按特定规则有管理地并行工作: 取指由BIU完成,给出CS、IP,并修正IP; 识别由EU完成; 取数由BIU完成,EU给出偏、段地址,BIU获物理地址,取数; 执行由EU完成; 送结果由BIU完成,EU给出段:偏,BIU求得物理地址,并送结果。 BIU与EU工作不冲突,可并行。,(三) 8086动作管理,思考,(四)与传统工作方式有哪些不不同?,1. 传统的计算机在执行指令时,总是相继地进行提取指令和执行指令的动作,也就是说,指令的提取和执行是串行进行的。,2. 在8086/8088
9、中,指令的提取和执行是分别由总线接口部件和执行部件完成的,总线控制逻辑和指令执行逻辑之间既互相独立又互相配合。总线接口部件和执行部件的这种并行工作方式,有力地提高了工作效率,这也正是8086/8088成功的原因之一。,寄存器(一),通用寄存器,专用寄存器,AX 累加器,BX 基 数,CX 计 数,DX 数 据,堆栈指针,基数指针,目的变址,源 变 址,指令指针,指令指针(Instruction pointer) IP 类似与程序计数器PC(Program counter),但是它们又略有不同 1)指令存于代码段 2) IP为下一条指令的第一个字节地址(段内偏移) 3) IP可以自动修正(CPU
10、以字节为单位取指) 4) CS:IP(IP的默认段寄存器为CS),指令队列缓冲器,它有六个字节,预取指令队列,提高CPU效率。,标志寄存器,标志寄存器,OF 溢出标志寄存器 运算过程中产生溢出时为1,所谓溢出,是指当字节运算的结果超出了范围 128+127,或者当字运算的结果超出了范围 32768 +32767时称为溢出,标志寄存器,DF 方向标志寄存器 控制串操作指令用的标志。 串操作过程中的地址会不断增值为0, 串操作过程中的地址会不断减值为1。,标志寄存器,IF 中断标志寄存器 控制可屏蔽中断的标志。为0时CPU不能对可屏蔽中断请求作出响应; 为1时CPU可以接受可屏蔽中断请求,标志寄存
11、器,TF 跟踪标志寄存器 CPU按跟踪方式执行指令,标志寄存器,SF 符号标志寄存器 与运算结果的最高位相同,当数据用补码表示时,负数的最高位为1,所以,符号标志表示运算执行后的结果是正还是负,标志寄存器,ZF 零标志寄存器 当前的运算结果为零此标志位为1(真), 当前的运算结果为非零此标志位为0(假),标志寄存器,AF 辅助标志寄存器 加法运算时,如果第3位往第4位有进位为1; 减法运算时,如果第3位往第4位有借位为1。 辅助进位标志一般在BCD码运算中作为是 否进行十进制调整的判断依据,标志寄存器,PF 奇偶标志寄存器 运算结果的低8位中所含1的个数为偶数时为1,标志寄存器,CF 进位标志
12、寄存器 当执行一个加法运算使最高位产生进位时为1,或者执行一个减法运算引起最高位产生借位时为1,此外,循环指令也会影响这一标志,存储器的结构,一 存储器的分段,二 存储器的地址,存储器的逻辑地址,存储器的物理地址,三 堆栈,存储器的分段,1 段,=64K字节,00000,16个 逻辑段,15 段,0FFFF,10000,0 段,1FFFF,F0000,FFFFF,=64K字节,=64K字节,为了解决20位地址和16位寄存器之间的矛盾,在8086/8088系统中,把1M存储空间分成若干个逻辑段,并允许它们在整个存储空间浮动,即段与段之间可以部分重叠、 连续排列或断续排列。对于任何一个物理地址,可
13、以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中, 只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间。,8086/8088系统中存储器按字节编址,可寻址的存储器空间为1M字节,因此每个字节所对应的地址是20位。,代码段、数据段与堆栈段,在8086/8088的存储器空间中,为了简化操作,要求各个逻辑段从节(16字节)的整数边界开始,即段首地址低四位为“0”,把段首地址的高16位称为“段基址”存放在段寄存器DS或CS或SS或ES中。,BIU中的地址加法器用来实现逻辑地址到物理地址的变换 8088 可同时访问4个段,4个段寄存器指示了每个段的基地址,段基址,段内偏移,
14、物理地址,+,16位,20位,0000,存储器的物理地址和逻辑地址,在采用分段结构的存储器中,每一个存储单元可以看成具有两种类型的地址:物理地址和逻辑地址。 逻辑地址由段基址和偏移地址两个部分构成,它们都是无符号的16位二进制数。 物理地址也称为绝对地址,它是20位的,是唯一标识1M字节空间的某一字节的地址。它是由逻辑地址变换得来的。 当CPU需要访问存储器时,必须完成如下的地址运算: 物理地址 = 段基址 X 16 + 偏移地址,例题,已知(CS)=1055H,(DS)=250AH (ES)=2EF0H,(SS)=8FF0H 某操作数偏移地址=0204H 画出各段在内存中的分布、段首地址及操
15、作数的物理地址,设操作数在数据段,则操作数的物理地址为: 250AH 16+0204H = 252A4H,堆 栈,在主程序中往往要调用子程序或要处理中断,这时就要暂时停下主程序的执行,转去执行子程序(或中断服务程序)。此时机器必须保留的值应有: (1)把主程序中调用子程序指令的下一条指令的地址值即PC(8086/8088中则为码段寄存器CS和指令指针IP)保留下来。 (2)执行子程序时,通常都要用到内部寄存器,并且执行的结果会影响标志位,所以也必须把在调用子程序前的主程序保留在寄存器中的中间结果和标志位的状态保留下来。,为什么需要堆栈?什么是堆栈?,堆 栈(续一),如果在子程序中还会调用别的子程序时,这不仅需要把许多个信息保留下来,而且要将保证逐次正确返回,就要求后保留的值先取出来,也即数据要按照后进先出(last in first out)的原则保留,能实现这样要求的存贮区就是堆栈。,堆 栈(续二),定义:堆栈是以“后进先出”方式工作的一个存储区,它必须存在于堆栈段中,其段地址应存放于SS寄存器中。它只有一个出口,所以只有一个堆栈指针寄存器SP,SP的内容在任何时候都指向当前的栈顶。,动画,