微机原理及应用PPT课件chap1 微机原理概述和数制.ppt
1,微机原理及应用,2,课程目标 微机原理是学习和掌握微机硬件知识和汇编语言程序设计的入门课程:微型计算机的基本工作原理汇编语言程序设计微型计算机接口技术 目的:建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。,3,教学内容第一章 基础知识第二章 微型计算机基础第三章 8086/8088 CPU的指令系统第四章 汇编语言程序设计第五章 存储器系统第六章 输入输出第七章 中断技术第八章 常用接口电路,4,第1章 微型计算机基础,5,主要内容:,微型机的构成及工作原理8088/8086 CPU的结构及工作原理系统总线各种常用记数制和编码以及它们相互间的转换;二进制数的算术运算和逻辑运算;符号数的表示及补码运算;二进制数运算中的溢出问题,6,1.1 微型机的基本结构,掌握:微机系统的基本组成微型机的工作原理微机8088的存储器组织,7,1.1 概 述,电子计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971-今)电子计算机按其性能分类:大中型计算机/巨型计算机(Mainframe Computer)小型计算机(Minicomputer)微型计算机(Microcomputer)单片计算机(Single-Chip Microcomputer)微型计算机的核心:微处理器(中央处理器CPU)Intel CPU的发展见下页表,8,9,一、微型计算机系统组成,微型计算机系统的三个层次 微处理器(Microprocessor) 微型计算机(Microcomputer) 微型计算机系统(Microcomputer System),10,微型计算机系统的三个层次,11,核心级微处理器,微处理器简称CPU,是计算机的核心,主要包括: 运算器ALU 控制器CU 寄存器组RegistersCPU实现了运算功能和控制功能,12,硬件系统级微型计算机,以微处理器为核心,配上只读存储器(ROM)、读写存储器(RAM)、输入/输出(I/O)接口电路及系统总线等部件,就构成了微型计算机。将CPU、存储器、I/O接口、总线等集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。,13,系统级,以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。微型计算机如果不配有软件,通常称为裸机软件分为系统软件和应用软件两大类。,14,二、微型计算机的基本结构,微处理器(CPU)存储器 输入/输出接口总线,1. 微型计算机的硬件系统,15,微型计算机的概念结构,存储器,I/O接口,输入设备,I/O接口,地址总线 AB,输出设备,CPU,数据总线 DB,控制总线 CB,I/O接口,AB: Address BusDB: Data BusCB: Control Bus,16,主机硬件系统CPU,计算机的控制中心,提供运算、判断能力构成:ALU、CU、Registers(p29)例:Intel 8088/8086、PIII、P4、Celeron AMD K7(Athlon、Duron)CPU的位数:4位、8位、16位、32位、64位是指一次能处理的数据的位数,17,主机硬件系统存储器,存放程序和数据的记忆装置用途:存放程序和要操作的各类信息(数据、文字、图像、。)内存:ROM、RAM特点:随机存取,速度快,容量小外存:磁盘、光盘、半导体盘、特点:顺序存取/块存取,速度慢,容量大,18,有关内存储器的几个概念,内存单元的地址和内容内存容量内存的操作内存的分类,19,内存单元的地址和内容,内存包含有很多存储单元(每个内存单元包含8bit),为区分不同的内存单元,对计算机中的每个内存单元进行编号,内存单元的编号就称为内存单元的地址。,1 0 1 1 0 1 1 0,38F04H,内存单元地址,内存单元内容,.,.,Bit 7 6 5 4 3 2 1 0,0 1 0 1 1 0 0 0,*内存单元有时又称为地址单元,20,内存容量,即内存单元的个数,以字节为单位。注意:内存空间与内存容量的区别 内存容量:实际配置的内存大小。例:某微机配置2条 128MB的SDRAM内存条,其内存容量为256MB 内存空间:又称为存储空间、寻址范围,是指微机的 寻址能力,与CPU的地址总线宽度有关。,21,内存操作,读:将内存单元的内容取入CPU,原单元内容不改变;写:CPU将信息放入内存单元,单元中原内容被覆盖;刷新:对CPU透明,仅动态存储器有此操作内存的读写的步骤为:CPU把要读写的内存单元的地址放到AB上若是写操作, CPU紧接着把要写入的数据放到DB上CPU发出读写命令数据被写入指定的单元或从指定的单元读出到DB若是读操作, CPU紧接着从DB上取回数据,22,内存储器的分类,读写存储器(RAM)可读可写易失性,临时存放程序和数据只读存储器(ROM)工作时只能读非易失性,永久或半永久性存放信息,23,主机硬件系统输入/输出接口,简写为I/O接口,是CPU与外部设备间的桥梁,CPU,I/O接口,外设,24,接口的功能,提供驱动外设的电压或电流;匹配计算机与外设之间的信号电平、速度、信号类型、数据格式等;缓存发给外设的数据、控制命令和外设提供的运行状态信息;DMA控制和中断控制。,25,主机硬件系统总线BUS,连接多个功能部件的一组公共信号线地址总线AB:用来传送CPU输出的地址信号,确定被访问的存储单元、I/O端口。地址线的根数决定了CPU的寻址范围。 CPU的寻址范围 = 2n, n-地址线根数数据总线DB:在CPU与存储器、I/O接口之间数据传送的公共通路。数据总线的条数决定CPU一次最多可以传送的数据宽度。控制总线CB:用来传送各种控制信号,26,2. 微型计算机的软件系统,软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料。,系统软件,应用软件,操作系统编译系统网络系统工具软件,软件,27,3.微型计算机的物理结构,CPU,北桥,南桥,RAM,Cache,AGP,CRT,BIOS,KBD,Mouse串行/并行接口HDD/CDROM(IDE)FDDUSB,PCI,ISA,前端总线/CPU总线,接口卡,外设,总线扩展槽,28,微型计算机的物理结构,29,INTEL 845GE,30,主板的主要硬件构成,CPU插座 芯片组(南北桥/HUB) 内存插槽 高速缓存(现已集成到CPU内部) 系统BIOS,硬件控制 CMOS,存放硬件配置参数 总线扩展槽,PCI、ISA 串行、并行接口 软/硬盘、光驱插座,31,芯片组,CPU的外围控制芯片,通常为2片两种架构:南北桥、HUB(加速中心)南北桥北桥提供CPU/主存/高速缓存的连接、AGP接口、PCI桥接南桥提供USB、IDE(FDD/HDD)、串/并口及ISA桥接等例如:Intel 440BX、VIA694(KT133)+686B、SiS 645等HUBGMCHAGP接口、存储器通道ICHPCI桥接、IDE控制器、USB、串/并口FWH系统BIOS、显示BIOS、随机数发生器例如:Intel 810、Intel 815、Intel845等,32,三、计算机的工作过程,存储程序计算机又称为冯诺依曼型计算机以运算器为核心、以存储程序原理为基础将计算过程描述为由许多条指令按一定顺序组成的程序,即程序是由多条有逻辑关系的指令组成,指令的长度不等(一般为14字节)数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式由控制器控制整个程序和数据的存取以及程序的执行,指令驱动,33,存储程序计算机的工作原理,控制器按预先存放在计算机存储器中的程序的流程自动地连续取出指令并执行之。,运算器,输出设备,控制器,输入设备,存储器,指令流,控制命令,数据流,34,程序的执行过程,程序,指令1,指令2,指令3,指令4,指令n, ,取指令,指令译码,取操作数,执行指令,存结果,指令周期,操作码,操作数,执行,1。CPU如何知道从哪里取出程序的第一条指令?操作系统2。CPU如何按程序控制流执行指令?程序计数器3。CPU如何知道从哪里取操作数?地址、寻址方式,35,例:计算5+8(p35),汇编语言程序对应的机器指令 对应的操作- - -MOV AL, 5 10110000 将立即数1传送到累加寄存器AL中 00000101ADD AL, 8 00000100 计算两个数的和,结果存放到AL中 00001000HLT 11110100 停机,指令执行过程见下页图,36,指令执行过程(取指/译码/执行),累加器A,加法器,数据寄存器DR,指令寄存器IR,指令译码器ID,时序逻辑电路,时序控制信号(控制命令),1011 0000,0000 0101,0000 0100,0000 1000,1111 0100,内部总线,存储器,01234,程序计数器PC,地址,MOV A, 5ADD A, 8HLT,地址总线,地址译码器,读写控制电路,1011 0000,锁存,输出,地址寄存器AR,37,1.2 计算机中的数制,了解 特点; 表示方法; 相互间的转换。,38,一、常用记数制,十进制符合人们的习惯二进制便于物理实现十六进制便于识别、书写八进制,39,1. 十进制,特点:以十为底,逢十进一; 共有0-9十个数字符号。表示:,40,2. 二进制,特点:以2为底,逢2进位; 只有0和1两个符号。表示:,41,3. 十六进制,特点:以16为底,逢16进位; 有0-9及A-F共16个数字符号。表示:,42,进位计数制的一般表示,一般地,对任意一个K进制数S都可表示为,其中: Si - S的第i位数码,可以是K个符号中任何一个; n,m 整数和小数的位数; K - 基数; Ki - K进制数的权,43,如何区分不同进位记数制的数字,在数字后面加一个字母进行区分:二进制:数字后面加B, 如1001B八进制:数字后面加O, 如1001O十进制:一般不加, 如1001十六进制:数字后面加H , 如1001H在明显可以区分其记数制的情况下,可以省略数字后面的字母,44,二、各种数制间的转换,1. 非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。 例:10110010B = (?)10 13FAH = (?)10,45,2. 十进制到非十进制数的转换,十进制 二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。十进制 十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。以小数点为起点求得整数和小数的各个位。,46,3. 二进制与十六进制间的转换,用4位二进制数表示1位十六进制数 例: 10110001001.110 = (?)H 0101 1000 1001.1100 5 8 9 . C 注意:位数不够时要补0,47,1.3 无符号二进制数的运算,无符号数 算术运算 有符号数 逻辑运算,48,一、无符号数的运算,算术运算 包括: 加法运算 减法运算 乘法运算 除法运算,49,1. 规则,加法:1+1=0(有进位), 减法:0-1=1(有借位), 乘除法: 一个数乘以2相当于该数左移一位;除以2则相当于该数右移1位。,50,例:,000010110100=00101100B 000010110100=00000010B11B 即: 商=00000010B 余数=00000011B,51,2. 无符号数的表示范围,一个n位的无符号二进制数X,其表示范围为 0 X 2n-1若运算结果超出这个范围,则产生溢出。(或者说运算结果超出n位,则产生溢出)判别方法: 运算时,当最高位向更高位有进位(或 借位)时则产生溢出。,52,例:,11111111 + 00000001 1 00000000结果超出位(最高位有进位),发生溢出。(结果为256,超出位二进制数所能表示的范围255),53,3. 逻辑运算,与()、或()、非() 、异或()特点:按位运算,无进借位运算规则.例:A=10110110, B=01101011求:AB, AB, AB,54,4. 逻辑门,逻辑门:完成逻辑运算的电路掌握:与、或、非门逻辑符号和逻辑关系(真值表);与非门、或非门的应用。,55,与门(AND Gate),Y = AB,注:基本门电路仅完成1位二进制数的运算,56,或门(OR Gate),Y = AB,Y,AB,57,非门(NOT Gate),1,A,Y,58,异或门(eXclusive OR Gate),Y = AB,Y,AB,59,5. 译码器,74LS138译码器:,译码输出,译码输入,译码使能,60,74LS138真值表,61,1.4 带符号二进制数的运算,计算机中的带符号二进制数把二进制数的最高位定义为符号位符号位为 0 表示正数,符号位为 1 表示负数连同符号位一起数值化了的数,称为机器数。机器数所表示的真实的数值,称为真值。(在以下讲述中,均以位二进制数为例),62,例:,+52 = +0110100 = 0 0110100 符号位数值位 -52 = -0110100 = 1 0110100,真值,机器数,63,1. 符号数的表示,对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作X原,反码记作X反,补码记作X补。注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。,64,原码X原,定义符号位:0表示正,1表示负; 数值位:真值的绝对值。,65,原码的例子,真值,X=+18=+0010010,X=-18=-0010010,原码,X原,=0 0010010,X原,=1 0010010,符号,符号位,n位原码表示数值的范围是对应的原码是1111 0111。,66,数0的原码,8位数0的原码:+0 = 0 0000000 - 0 = 1 0000000 即:数0的原码不唯一。,67,反码X反,定义 若X0 ,则 X反=X原 若X0, 则 X反= 对应原码的符号位 不变,数值部分按位求反,68,例:,X= - 52 = -0110100 X原 = 10110100 X反 = 11001011,69,反码的例子,真值,X=+18=+0010010,X=-18=-0010010,反码,X反,=0 0010010,X反,=1 1101101,符号,符号位,n位反码表示数值的范围是对应的反码是1000 0111。,70,0的反码:,+0反 = 00000000 -0反 = 11111111即:数0的反码也不是唯一的。,71,补码,定义:若X0, 则X补= X反= X原若X0, 则X补= X反+1,72,例:,X= 52= 0110100 X原 = 10110100 X反 = 11001011 X补 = X反+1=11001100,n位补码表示数值的范围是对应的补码是1000 0111。,73,0的补码:,+0补= +0原=00000000-0补= -0反+1=11111111+1 =1 00000000 对8位字长,进位被舍掉+0补= -0补= 00000000,74,特殊数10000000,该数在原码中定义为: -0在反码中定义为: -127在补码中定义为: -128对无符号数:(10000000) = 128,75,8位有符号数的表示范围:,对8位二进制数:原码: -127 +127反码: -127 +127补码: -128 +127想一想:16位有符号数的表示范围是多少?,76,2. 有符号二进制数与十进制的转换,对用补码表示的二进制数: 1)求出真值 2)进行转换,77,例:,将一个用补码表示的二进制数转换为十进制数。 1) X补 = 0 0101110B 真值为:+0101110B 正数 所以:X=+46 2) X补 = 1 1010010B 负数 X = X补补 = 11010010补 = - 0101110B 所以:X = - 46,78,3. 补码加减法的运算规则,通过引进补码,可将减法运算转换为加法运算。规则如下:X+Y补=X补+Y补 X-Y补=X补- Y补 其中X,Y为正负数均可,符号位参与运算。,79,*补码的运算原理,模(module)就是一个计数系统的最大容量。例如,钟表的模为12,8位二进制数的模为28。 凡是用器件进行的运算都是有模运算,运算结果超过模的部分会被运算器自动丢弃。因此,当器件为n位时,有X=2n+X (mod 2n)不难验证, X补=2n+X (mod 2n)因此, XY补= 2n + (XY) (mod 2n) = (2n+X) + (2n Y) (mod 2n) = X补+ Y补,80,例:,X=-0110100,Y=+1110100,求X+Y补X原=10110100 X补= X反+1=11001100Y补= Y原=01110100所以: X+Y补= X补+ Y补 =11001100+01110100 =01000000,81,4. 符号数运算中的溢出问题,进(借)位在加法过程中,符号位向更高位产生进位;在减法过程中,符号位向更高位产生借位。溢出运算结果超出运算器所能表示的范围。,82,溢出的判断方法,方法:同号相减或异号相加不会溢出。同号相加或异号相减可能溢出:两种情况:同号相加时,结果符号与加数符号相反溢出;异号相减时,结果符号与减数符号相同溢出。方法:两个8位带符号二进制数相加或相减时,若 C7C61, 则结果产生溢出。 C7为最高位的进(借)位;C为次高位的进(借)位。,83,例:,有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果是错误的,1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0,0 1 0 0 0 0 1 0 + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1,0 1 0 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1,CASE1:,CASE2:,CASE3:,84,1.5 二进制编码,一、十进制数的表示BCD码用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。,85,计算机中除了能够处理数值数据以外,还可以处理文字、语音、图像等各种信息,这些信息统称为非数值数据。非数值数据在计算机中也必须以二进制形式表示,非数值数据的表示本质上是编码的过程。最常用的数据编码:美国标准信息交换代码(American Standard Code for Information Interchange, ASCII码) (见下页ASCII编码表,教材中的附录A),二、非数值数据的表示,86,ASCII码美国标准信息交换代码,87,ASCII码,采用7位二进制代码对字符进行编码数字09的编码是01100000111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。英文字母AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。最高位通常总为0,有时也用作奇偶校验位。,88,1.6 计算机中常用数据单位,bit 1Mb=10241024bit=220bit 1Gb=230bit=1024Mb 1Tb=240bit=1024GbByte 1 Byte=8bit,1KB=1024 Byte,Word 表示字长,有1bit, 4bit, 8bit, 16bit等, 一般情况下为2Byte(16bit)。,89,第1章难点,补码的概念及其运算有符号数运算的溢出问题,90,作业,习题一4(1)(3),5(2),6(4),8(1)(3),第一章完,谢谢,92,93,2.2 8088微处理器,主要内容:8088CPU外部引线及功能;8088CPU的内部结构和特点;各内部寄存器的功能;8088的工作时序。,94,一、概述,8088、8086基本类似16位CPU、AB宽度20位差别:指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送本课程主要介绍8088(IBM PC采用),95,指令预取队列(IPQ),指令的一般执行过程: 取指令 指令译码 读取操作数 执行指令 存放结果,96,串行工作方式:,8088以前的CPU采用串行工作方式: 1) CPU访问存储器(存取数据或指令)时要等待总线操作的完成 2) CPU执行指令时总线处于空闲状态 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得到,取指令1,执行1,取操作数2,执行2,CPU,BUS,忙碌,忙碌,忙碌,忙碌,存结果1,取指令2,97,并行工作方式:,8088CPU采用并行工作方式,取指令2,取操作数,BIU,存结果,取指令3,取操作数,取指令4,执行1,执行2,执行3,EU,BUS,忙碌,忙碌,忙碌,忙碌,忙碌,忙碌,98,8088的流水线操作,8088 CPU包括两大部分:EU和BIUBIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行EU和BIU构成了一个简单的2工位流水线指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令例如,PIII为14个阶段,P4为20个阶段(超级流水线),99,结论,指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而带来了以下两个好处:提高了CPU的效率降低了对存储器存取速度的要求,100,8088/8086 CPU的特点,采用并行流水线工作方式对内存空间实行分段管理:每段大小为16B64KB用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址支持多处理器系统;片内无浮点运算部件,浮点运算由数学协处理器8087支持(或用软件模拟)注:80486DX以后的CPU已将数学协处理器作为标准部件集成到CPU内部,101,8088CPU的两种工作模式,8088可工作于两种模式:最小模式和最大模式最小模式为单处理机模式,控制信号较少,一般可不必外接总线控制器。最大模式为多处理机模式,控制信号较多,CPU必须通过总线控制器与总线相连。,102,二、8088 CPU的引线及功能,引脚定义的方法可大致分为:每个引脚只传送一种信息(RD等);引脚电平的高低不同的信号(IO/M等);CPU工作于不同方式有不同的名称和定义(WR/LOCK 等);分时复用引脚(AD7 AD0 等) ;引脚的输入和输出分别传送不同的信息(RQ/GT等)。,103,主要引线(最小模式下),8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。数据信号线(DB)与地址信号线(AB):AD7AD0:三态,地址/数据复用线。ALE有效时为地 址的低8位。地址信号有效时为输出,传送 数据信号时为双向。A19A16:三态,输出。高4位地址信号,与状态信号 S6-S3分时复用。A15A8 :三态,输出。输出8位地址信号。,104,主要的控制和状态信号,WR: 三态,输出。写命令信号;RD: 三态,输出。读命令信号;IO/M:三态,输出。指出当前访问的是存储器还是I/O接 口。高:I/O接口,低:内存DEN:三态,输出。低电平时,表示DB上的数据有效;RESET:输入,为高时,CPU执行复位;ALE: 三态,输出。高:AB地址有效;DT/ R:三态,输出。数据传送方向,高:CPU输出, 低:CPU输入,105,例:,当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。,106,READY信号(输入):,用于协调CPU与存储器、I/O接口之间的速度差异READY信号由存储器或I/O接口发出。,READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。,107,中断请求和响应信号,INTR:输入,可屏蔽中断请求输入端。 高:有INTR中断请求NMI:输入,非屏蔽中断请求输入端。 低高,有NMI中断请求INTA:输出,对INTR信号的响应。,108,总线保持信号,HOLD:总线保持请求信号输入端。当CPU 以外的其他设备要求占用总线时, 通过该引脚向CPU发出请求。HLDA:输出,对HOLD信号的响应。为高 电平时,表示CPU已放弃总线控制 权,所有三态信号线均变为高阻状 态。,109,三、8088CPU的内部结构,8088内部由两部分组成: 执行单元(EU) 总线接口单元(BIU),110,执行单元EU,功能: 执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。,111,执行单元包括,算术逻辑单元(运算器) 8个通用寄存器 1个标志寄存器 EU部分控制电路,112,总线接口单元BIU,功能:从内存中取指令送入指令预取队列负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,113,8088的内部寄存器,含14个16位寄存器,按功能可分为三类 8个通用寄存器 4个段寄存器 2个控制寄存器,114,通用寄存器,数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI),115,数据寄存器,8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,ALBX BH,BLCX CH,CLDX DH,DL常用来存放参与运算的操作数或运算结果,116,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放 高16位数;在间接寻址的I/O指令中存放 I/O端口地址。,117,地址指针寄存器,SP:堆栈指针寄存器,其内容为栈顶的 偏移地址;BP:基址指针寄存器,常用于在访问内 存时存放内存单元的偏移地址。,118,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。BX一般与DS或ES搭配使用,119,变址寄存器,SI:源变址寄存器DI:目标变址寄存器变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。,120,段寄存器,用于存放逻辑段的段基地址(逻辑段的概念后面将要介绍) CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容, 传递参数,121,控制寄存器,IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址FLAGS:标志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),122,四、存储器寻址,物理地址8088:20根地址线,可寻址220(1MB)个存储单元CPU送到AB上的20位的地址称为物理地址,123,物理地址,物理地址,.60000H 60001H 60002H 60003H 60004H.,12H,F0H,1BH,08H,存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段,124,存储器分段,高地址,低地址,段基址,段基址,段基址,段基址,最大64KB,最小16B,段i-1,段i,段i+1,125,逻辑地址,段基地址和段内偏移组成了逻辑地址 段地址 偏移地址(偏移量) 格式为:段地址:偏移地址 物理地址=段基地址16+偏移地址,60002H,00H,12H,60000H,0 0 0 0,段基地址(16位),段首地址, , ,偏移地址=0002H,126,BIU中的地址加法器用来实现逻辑地址到物理地址的变换8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址,段基址,段内偏移,物理地址,+,16位,20位,0000,127,例:,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?,解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH10H+0204H = 252A4H,128,堆栈及堆栈段的使用,内存中一个按FILO方式操作的特殊区域每次压栈和退栈均以WORD为单位SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针堆栈用于存放返回地址、过程参数或需要保护的数据常用于响应中断或子程序调用,129,堆栈操作,SP,SS,SS,压栈前,退栈后,高,低,低,高,高,12H,SS,F0H,SP,压栈后,低,高,SP,SP,SP,F0H,12H,SP,130,例:,若已知(SS)=1000H (SP)=2000H则堆栈段的段首地址=?栈顶地址=?若现在把1234H送入堆栈,则它所在的存储单元地址=?若该段最后一个单元 地址为2FFFH,则栈底 地址=?,段首,栈底,栈顶,堆栈段,131,五、时序,时序的概念:CPU各引脚信号在时间上的关系。总线周期:CPU完成一次访问内存(或接口)操作 所需要的时间。 一个总线周期至少包括4个时钟周期。时钟周期:由时钟发生器产生。是计算机内部最 小的时间单位,用Ti表示。 (总线周期的时序参见教材p51),132,2.3 系统总线,主要内容:总线的基本概念和分类;总线的工作方式;常用系统总线标准。,133,一、概述,总线: 是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传输地址、数据和控制信息的公共通道。,地址总线(AB)数据总线(DB)控制总线(CB),134,总线结构的优点,简化系统设计(模块化)提高兼容性便于扩充升级便于维修减低生产成本,135,总线分类,CPU总线:CPU 其他部件系统总线:主机I/O接口外部总线:微机外设,片内总线片外总线,按相对CPU的位置,按层次 结构,136,总线结构,单总线结构 简单,但总线竞争严重,137,多总线结构,面向CPU的双总线结构面向主存的双总线结构,双总线结构多总线结构,138,多总线结构(续),教材p55图2-23:面向CPU的双总线结构把需要很高带宽的主存储器用存储总线单独与CPU相连问题:外设到主存的数据传输必须通过CPU, 传输效率低,无法实现DMA传输图2-24:面向主存的双总线结构主存储器即与CPU直接连接,又与系统总线连接,较好地解决了上述问题,139,二、总线技术*,总线传输需要解决的问题:传输同步协调通信双方的传输操作同步、异步、半同步总线仲裁消除多个设备同时使用总线造成的冲突现象Master查询,Slave独立请求出错处理信号驱动,140,同步方式,同步传输用公共的时钟统一 各部件数据发送和接收的时机异步传输用控制和状态信号协调 各部件数据发送和接收的时机半同步用公共的时钟统一 控制和状态信号的产生时机(即控制和状态信号与时钟是同步的),但数据发送和接收的时机仍不固定,141,总线仲裁,用来决定某一时刻哪一个部件可以使用总线集中控制统一由总线控制器进行控制分散控制总线控制由各部件共同实现,所有部件均按统一的规则来访问总线,142,总线仲裁集中控制,1)链式查询(p59图2-28)基本原理是:部件提出申请(BR)总线控制器发出批准信号(BG)提出申请的部件截获BG,并禁止BG信号进一步向后传播提出申请的部件发出总线忙信号(BS),开始使用总线。总线忙信号将阻止其他部件使用总线,直到使用总线的设备释放总线电路最简单,但优先级固定,不能改变,143,总线仲裁集中控制,2)计数器查询基本原理是:需要使用总线的部件提出申请(BR)总线控制器发出递增的设备地址提出申请的设备检查设备地址,若与自己的地址匹配,就发出总线忙信号(BS),然后就可以使用总线总线控制器根据检测到BS信号时的设备地址就知道当前哪个设备使用了总线调整设备地址发出的顺序即可改变优先级别仲裁过程较慢,144,总线仲裁集中控制,3)独立请求基本原理是:每个设备都拥有独立的总线请求线和总线应答线总线控制器对所有的总线请求进行优先级排队,并响应级别最高的请求得到响应的设备将占用总线进行传输最常用,响应速度最快PC机中使用的8237 DMAC采用此种方式,145,三、常见的系统总线,ISA(8/16位)PCI(32/64位)AGP(加速图形端口,用于提高图形处 理能力)自学P61P64自行查找资料:ISA、PCI、AGP分别位于系统的的哪一个部分?,146,总线的主要性能指标,总线带宽(B/S):单位时间内总线上可传送 的数据量总线位宽(bit):能同时传送的数据位数总线的工作频率(MHz)总线带宽= (位宽/8)(工作频率/每个存取周期的时钟数),147,四、8088系统总线,最小模式仅支持单处理器(p65图2-32)最小模式下主要解决:地址与数据的分离地址锁存电路实现方案用3片8位的锁存器8282实现地址锁存。ALE为锁存控制信号,OE#0使锁存的地址直接输出;用1片双向三态门8286用作数据总线驱动和隔离,DT/R#作为方向控制,DEN#作为开门信号;其他控制信号由8088直接产生。,148,最小模式下的连接示意图,8088CPU,控制总线,数据总线,地址总线,地址锁存,数据收发器,ALE,时钟发生 器,3片8282,DT/R#,DEN#,8286,149,最大模式,最大模式可支持多处理器(p66图2-33)大多数控制信号是由总线控制器8288对S0#、S1#、S2#三个信号译码得到,如DT/R#、ALE、DEN#、IOR#、IOW#、MEMR#、MEMW#信号。DB和AB的构成基本同最小模式。PC/XT机的总线采用了最大模式,但有三点区别:地址总线驱动用2个74LS373和1个74LS244代替3个8282;数据总线驱动用74LS245代替8286;支持DMA传送。,150,最大模式下的连接示意图,8088CPU,数据总线,地址总线,地址锁存,数据收发,ALE,时钟发生 器,总 线控制器,控制总线,8282,8286,8288,S0#S1#S2#,151,常用接口芯片介绍,8282 / 74LS373 具有三态正相输出的锁存器p67图2-34,内部包含8个D触发器引脚:DI0DI7 输入DO0DO7 输出STB 锁存信号OE# 输出允许功能:STB = 1 锁存数据OE# = 0 将锁存的数据输出功能类似的还有8283但为反相输出,152,总线驱动器,8286 / 74LS245 双向三态驱动器(p68图2-36)引脚:A0A7和B0B7 双向数据线OE# 输出允许T 方向控制功能:OE#=0时,门导通;门导通时: T=0,BA;T=1,AB功能类似的还有8287但为反相输出,153,总线驱动器(续),74LS244 三态门驱动器(含8个门)引脚:I1I8和O1O8 输入线和输出线E1#,E2# 使能信号,各控制4个三态门功能: E1#=0,E2#=0,门导通,否则输出为高阻态,154,作业:p91,2.12.10(1)2.132.18,