第二章80X86计算机组织课件_第1页
第二章80X86计算机组织课件_第2页
第二章80X86计算机组织课件_第3页
第二章80X86计算机组织课件_第4页
第二章80X86计算机组织课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章80x86计算机组织2.180X86微处理器2.2基于微处理器的计算机系统构成2.3中央处理机2.4存储器2.5外部设备第2章80x86计算机组织2.180X86微处理器2.180X86计算机的基本结构微型计算机硬件系统结构主要是由三部分组成,它们是:中央处理器CPU、存储器、输入/输出设备,如图1所示。图1计算机的基本结构

2.180X86计算机的基本结构图1计算机的基本结构2.1.1中央处理器

中央处理器又称为微处理器,内部由运算器、控制器和寄存器三部分组成。运算器也称为算术逻辑部件,是用来执行指令所要求的算术运算、逻辑运算和数据传送等操作。控制器是控制执行步骤;从内存中取出指令,分析指令的操作码,完成操作数的存取,发出相应的控制命令等。

2.1.1中央处理器

中央处理器又称为微处理器,内部由运算器2.1.2总线结构

总线负责传送地址、数据和控制信息,因此包括:数据总线DB(DataBus)地址总线AB(AddressBus)控制总线CB(ControlBus)三类总线的主要任务是负责CPU与内存、外存、外部设备交换信息。2.1.2总线结构

总线负责传送地址、数据和控制信息,因1.

数据总线DB

数据总线是用来传送数据的。CPU与内存、I/O设备之间通过数据总线传送数据,80x86系列的数据总线有8位、16位、32位和64位。2.地址总线AB

地址总线是用来传送地址的。内存中的每个字节都对应着一个唯一的地址。地址总线的位数与寻址空间有着直接的关系。例如:8086/8088地址总线20根,则可访问的地址为:220=1,048,576=1M

则8086/8088最大可用的存储空间为1M字节。3.控制总线CB

控制总线是传送控制信息的。

1.

数据总线DB存储器是计算机的记忆部件,包括内存(主存)和外部存储器(辅助存储器),存储器中存放的是指令和数据。存储器由若干存储单元构成,存储单元的最小单位是字节。将所有的存储单元按顺序编号,即每一个字节有一个唯一的编号,这些编号称为存储单元的地址(也称为物理地址)。IBMPC机及其兼容机的存储器系统结构基本是相同的,存储器系统主要分为3个主要部分:程序暂驻区(TPA)、系统内存区、扩展存储区(XMS)2.1.3

存储器存储器是计算机的记忆部件,包括内存(主存)和外部存储器(辅助在微机系统中最常用的外部设备有:键盘显示器打印机外部存储器等CPU与外部设备交换信息是通过I/O接口电路来完成的。2.1.4外部设备在微机系统中最常用的外部设备有:2.1.4外部设备外部设备外部设备与主机(CPU和存储器)的通信是通过外设接口(Interface)进行的,每个接口包括一组寄存器。数据寄存器:存放外设和主机间传送的数据状态寄存器:保存外设或接口的状态信息命令寄存器:保存CPU发给外设或接口的控制命令,外设中每个寄存器有一个端口(Port)地址,构成一个独立于内存的I/O地址空间:0000H~FFFFH外部设备寄存器分为3类:通用寄存器、控制寄存器、段寄存器。如图80X86寄存器组2.280X86CPU的寄存器寄存器分为3类:通用寄存器、控制寄存器、段寄存器。如图8

8086/8088微处理器8086/8088的主要特性:Intel8086/8088采用高速运算性能的HMOS工艺制造,内含29000个晶体管,封装在标准的40引脚双列直插式塑封管壳内。采用两个+5V电源供电。数据总线:8086:16位,8088:8位。地址总线:20位,其中8086的低16位与数据总线复用;8088的低8位与数据总线复用。内存空间:20位地址线可直接寻址1MB存储空间。寻址方式:7种基本的寻址方式,提供了灵活的操作数存取方法。

8086/8088微处理器指令系统:100条基本指令除能完成数据传送、算数运算、逻辑运算、控制转移和处理器控制功能外,内部还设有硬件乘除法与串处理指令电路,可以对位、字节、字节串、字串、压缩和非压缩型BCD码等多种数据类型进行处理。

时钟频率:8088:4.7MHz;8086:5MHz;8086-2:8MHz。

中断功能:可处理内部软件和外部硬件中断,中断源多达256个。工作模式:支持单处理器、多处理器两种模式。指令系统:100条基本指令除能完成数据传送、算数运算、逻辑运8086/8088的编程结构所谓编程结构:从程序员和使用者的角度来看的结构。这种结构与CPU内部的物理结构和实际布局有区别,8088编程结构如下页图所示,从编程结构图中可以看到,8088分为两个部分:1、总线接口部件BIU(BusInterfaceUnit)2、执行部件EU(ExecutionUnit)8086/8088的编程结构第二章80X86计算机组织课件8086CPU的功能结构——内部结构组成(1)执行单元(EU)(a)组成16位算术逻辑单元ALU;16位状态标志寄存器FLAG;8个16位通用寄存器组(AX,BX,CX,DX,SP,BP,SI,DI)16位数据暂存器;EU控制电路;8086CPU的功能结构——内部结构组成(b)功能从BIU指令队列中读取指令;由EU控制电路对指令进行译码分析,指出操作性质及对象;在EU中计算出操作数的16位地址偏移量送给BIU,由BIU的∑形成20位绝对地址;将取来的操作数经系统数据总线送ALU进行指定操作;运算结果经内部总线送到指定位置(b)功能(a)部件4个16位段寄存器CS,DS,SS,ES;16位指令偏移地址寄存器IP;6个字节指令队列ISQ;形成20位物理地址的加法器∑;与EU通讯的内部寄存器;总线控制逻辑;(2)总线接口单元(a)部件(2)总线接口单元(b)功能:实现CPU与存储器或I/O口之间的数据传送。根据CS和IP取指令进入指令队列。由EU从指令队列中取指令,并根据EU请求BIU将20位操作地址传送给存储器;取来操作数经总线控制逻辑传送到内部EU数据总线,由EU完成内部操作;操作结果若EU提出请求,则由BIU负责产生20位实际目标地址,将结果写入存储器里;(2)总线接口单元(b)功能:(2)总线接口单元寄存器结构及操作在8086/8088CPU中,把寄存器分成四大类:数据寄存器;地址指针和变址寄存器;段基址寄存器;控制寄存器;寄存器结构及操作第二章80X86计算机组织课件(一)数据寄存器用来存放操作数及中间结果的通用寄存器称为数据寄存器。16位寄存器:AX,BX,CX,DX(可以分成两个8位的使用)8位寄存器:AH,AL,BH,BL,CH,CL,DH,DL有些存储器有特殊功能:如AX和AL为累加器,乘法指令中专用;BX可以作为基址指针,CX为计数寄存器。(一)数据寄存器AX----1)作为累加器用,在加法运算中参与运算,结果存于累加其中;2)所有的I/O指令都使用这一寄存器与外部设备传送信息BX----作为通用寄存器使用,在计算存储器地址的时候,它经常用作基址寄存器CX----1)作为通用寄存器使用;2)常用来保存计数值,如在移位指令、循环指令和串处理指令中用作隐含的计数器DX----1)作为通用寄存器使用;2)在一些指令中,通常用它来存放数据,所以又称为数据寄存器;3)在做双字长运算时,将DX和AX组合在一起存放双字长数,用DX存放高位字;4)对某些I/O操作时,DX用来存放端口的地址AX----(二)地址指针和变址寄存器指针寄存器包括堆栈指针寄存器SP(stackpointer)和基数指针寄存器BP(basepointer),变址寄存器包括源变址寄存器SI(sourceindex)和目的变址寄存器DI(destinationindex)。这4个寄存器都是16位寄存器。这些寄存器在运算过程中也可用来存放操作数(只能以字为单位),但经常的用途是在段内寻址时提供偏移地址。(二)地址指针和变址寄存器SP和BP一般与段寄存器SS联用,以确定堆栈段中某一存储单元的地址,SP用以指示栈顶的偏移地址,而BP可作为堆栈区中的一个基地址,用以确定在堆栈中的操作数地址。SI和DI一般与段寄存器DS联用,以确定数据段中某一存储单元的地址。SI和DI具有自动增量和自动减量的功能,这一点使在串操作指令中用作变址非常方便,SI作为隐含的源变址和DS联用,DI作为隐含的目的变址和ES联用,从而达到在数据段和附加段中寻址的目的。SP和BP一般与段寄存器SS联用,以确定堆栈段中某一存储单元

(三)段基址寄存器段基址寄存器用于存放4个当前段的起始地址。4个段为:代码段CS,数据段DS,堆栈段SS和附加段ES。1、存储器的段8086/8088CPU对可寻址的1MB空间划分为很多个逻辑段,每个逻辑小于64KB,段内地址是连续的。CPU规定4个段寄存器存放当前可寻址的段基址。CS指示当前的代码段;DS指示当前的数据段;SS指示当前的堆栈段;ES指示当前的附加段;(三)段基址寄存器(三)段基址寄存器为了方便编写程序,4个段寄存器是隐含使用的,但也允许段超越(三)段基址寄存器DEBUG命令的使用(1)1、输入DEBUG运行DEBUG程序,显示提示符_。2、退出DEBUG命令:Q3、显示CPU内部所有寄存器内容和标志位状态:R显示和修改标志位状态RF:4、汇编命令:A起始地址,若不输入指令打回车键退出A命令。

5、单步命令:T=起始地址运行指令数,进入子程序内部。6、反汇编命令:U起始地址结束地址7、修改寄存器命令:R寄存器名8、显示内存命令:D起始地址结束地址DEBUG命令的使用(1)DEBUG命令的使用(2)9、运行命令:G=起始地址结束(断点)地址10、修改内存命令:E起始地址,连续修改打空格键。打回车键退出E命令。11、文件命名命令:N盘号:文件名12、读文件命令:L内存地址13、写文件命令:W内存地址14、读扇区命令:L内存地址盘号(0--A:,1--B:)扇区号扇区数15、写扇区命令:W内存地址盘号扇区号扇区数16、内存搬家命令:M起始地址结束地址目的地址

DEBUG命令的使用(2)第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件 0101010000111001 + 0100010101101010 1001100110100011高位=1,SF=1,NG低8位中偶数为4个,PF=1,PE运算结果不为0,ZF=0,NZ低4位向前有进位,AF=1,AC最高位向前没有进位,CF=0,NC运算结果溢出,OF=1,OV 010101000011第二章80X86计算机组织课件第二章80X86计算机组织课件第二章80X86计算机组织课件(五)指令指针寄存器IP1、指令指针寄存器IP

指令指针寄存器IP始终指向当前代码段(CS)所要取出的下一条指令的地址。每取出一个字节指令后,IP自动加1。可以用转移指令、调用指令及中断和复位等改变IP值。(五)指令指针寄存器IP2.3存储器一个存储单元存放的信息为存储单元的内容字节单元内容:地址00004H的内容为34H,表示为(0004H)=34H。字单元内容:多用偶地址来表示字单元的地址,字的低字节在偶地址上为偶地址,地址00004H的字单元内容为1234H,表示为(00002H)=1234H。如下图所示。某单元内容的内容:某单元的内容为要寻找的单元地址,该地址所指的内容为要寻找的内容。某单元内容的内容

(0004H)=1234H(1234H)=FFEEH则记((0004H))=FFEEH;两个括号表示内容的内容,即地址0004H单元的内容的内容为FFEEH。2.3存储器某单元内容的内容(0004H)=1234H存储单元的的内容:一个存储单元里面存放的有效信息。由于机器字长是16位,而字数据必须转换为字节数据才能存放到存储器中。所以一个字数据存入存储器中占用连续的二个存储单元:低位字节存入低地址,高位字节存入高地址。字单元的地址采用它的低地址来表示。存储单元的的内容:一个存储单元里面存放的有效信息。第二章80X86计算机组织课件存储器的分段8086/8088系统中1MB的存储单元按照00000H至FFFFFH来编址。但CPU的内部寄存器都是16位的,显然用寄存器不能直接对1M字节的内存空间进行寻址,为此引入了分段、物理地址和逻辑地址的概念。1)分段的实现:

8086/8088中将1MB内存分为若干个段(称为逻辑段),每个段最多包含64KB。段与段之间是相互独立的,可以分别寻址。规定每个段的首地址是一个可以被16整除的数(即段起始地址的低4位为0)。因此,可以取20位地址码中的高16位来表示段地址。前已指出,8086/8088CPU设置了4个段寄存器(CS、DS、SS、ES)。段的位置不受任何限制,段与段之间可以是连续的,可以是间断的,也可以是部分重叠的,甚至可以是完全重叠的。

存储器的分段第二章80X86计算机组织课件(1)小段的概念

从0地址开始每16字节为一小段,每个小段的第一个字节的地址为小段的起始地址

对于16位地址总线,段内存储器小段地址如下:如:0000H,0001H,0002H,……,000EH,000FH一个小段

0010H,0011H,0012H,……,001EH,001FH

0020H,0021H,0022H,……,002EH,002FH ……

FFF0H,FFF1H,FFF2H,……,FFFEH,FFFFH其中:第一列就是每个小段的首地址。(1)小段的概念(2)每个小段首地址特征:

在二进制表示的地址中,它的低4位二进制一定为零!即在16进制表示的地址中,最低位为0H在1M字节的地址空间,共有64K个小段其首地址为:二进制数小段地址16进制数小段地址00000000000000000000B00000H00000000000000010000B00010H……11111111111111100000BFFFE0H11111111111111110000BFFFF0H(2)每个小段首地址特征:第二章80X86计算机组织课件(4)逻辑地址:由段基址和段内偏移地址组成的地址,段基址和段内偏移地址都是16位的无符号二进制数,在程序设计时使用。存储器管理:将程序中逻辑地址转移为物理地址的机构。(5)逻辑地址和物理地址的关系方法:即把段地址左移4个二进制位再加上偏移地址值形成物理地址,写成:物理地址=16d

段地址+偏移地址每个存储单元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址组成。逻辑地址与物理地址概念如下页图所示。(4)逻辑地址:第二章80X86计算机组织课件注意:1、在8088CPU的IBMPC系统中,存储器首尾地址的用途固定。00000H~003FFH共1K内存单元用于存放中断向量。FFFF0H~FFFFFH是存储器底部的16个单元。系统加电复位时,会自动转到FFFF0H单元执行,而在FFFF0H处存放一条无条件转移指令,转向系统初始化程序。2、IBMPC机对段的起始地址有限制,段的起始地址一定能被16整除,即段不能从任意地址开始:必须从任一小段(paragraph)的首地址开始。注意:第二章80X86计算机组织课件8086/8088的I/O组织I/O接口电路:它就是指CPU与外部设备之间是通信的桥梁,有时简称为接口,接口是用于实现主机与外设传输信息的通道。端口:每个接口芯片上都有一个或几个用于寄存信息的寄存器,为了与CPU的寄存器区别,我们称之为端口。端口地址:和存储单元一样,每一个端口都有唯一确定的地址,称为端口地址。

8086/8088的I/O组织

从编程角度看,接口内部主要包括一个或多个CPU可以进行读/写操作的寄存器,又称为I/O端口。

各I/O端口由端口地址区分。

按存放信息的不同,I/O端口可分为三种类型数据端口:用于存放CPU与外设间传送的数据信息状态端口:用于暂存外设的状态信息控制端口:用于存放CPU对外设或接口的控制信息,控制外设或接口的工作方式。

CPU对外设输入/输出的控制,是通过对接口电路中各I/O端口的读/写操作完成。从编程角度看,接口内部主要包括一个或多个CPU可以进行读/第二章80X86计算机组织课件

2.480X86CPU的工作模式2.4.1实模式2.4.2保护模式

2.480X86CPU的工作模式

2.4.1实模式1.内存地址的分段8086/8088地址总线20根可访问的地址为:220=1,048,576=1M2.分段方法用16位段地址与16位段内地址的迭加形成20位物理地址,放在16位段寄存器内的段地址定义在任意64K字节存储段的起始地址上,段内地址(偏移地址)定义在64K字节存储段内的任意单元。地址的组合:物理地址=段地址*16D(或10H)+偏移地址,即物理地址等于2进制的16位段地址乘以16(左移4位)加2进制16位偏移地址。为了书写方便一般采用16进制表示地址和数据,则物理地址等于16进制的4位段地址乘以10H(左移1位)加16进制4位偏移地址。

如图2-9所示。

2.4.1实模式3.物理地址、段地址、段内地址和逻辑地址(1)物理地址:与内存单元一一对应的20位2进制(或5位16进制)表示的地址为物理地址。1MB=00000H~FFFFFH每个物理地址代表一个唯一的内存单元。(2)段地址:将1MB的内存空间分成长为64K字节的程序区和数据区为段,每个段用1个16位2进制地址表示。(3)段内地址:(偏移地址或偏移值):16位2进制段内地址为偏移地址。不同段内的偏移地址是存放在不同的寄存器中.3.物理地址、段地址、段内地址和逻辑地址(4)逻辑地址:用段地址和偏移地址来表示内存单元的地址为逻辑地址,两地址之间用“:”隔开。常写成:段地址:偏移地址。例如:物理地址为00001H逻辑地址为0000H:0001H当物理地址为00001H时,其逻辑地址为0000H:0001H,段地址为0000H段内地址为0001H。(4)逻辑地址:用段地址和偏移地址来表示内存单元的地址为逻辑4.逻辑地址与物理地址的换算关系逻辑地址是段地址和偏移地址的组合表示,物理地址是段地址和偏移地址的迭加表示。物理地址=段地址*16D(或10H)+偏移地址逻辑地址=段地址:偏移地址【例2-7】设逻辑地址为1111H:2222H则物理地址为:1111H×10H+2222H=13332H表示:当逻辑地址为1111H:2222H时物理地址为13332H假设段地址1111H为代码段地址,则1111H存放在代码段寄存器CS中,偏移地址2222H就放在指针寄存器IP中。4.逻辑地址与物理地址的换算关系第二章80X86计算机组织课件保护模式下的80x8680286以上的计算机增加了物理地址空间,如80286提供了16M,80386提供了4GB的地址空间或更多的地址空间,前面介绍的在实模式下的寻址方式是由逻辑地址得到物理地址的,实模式下最大寻址空间只为1MB。在增加了地址空间的情况下,系统首先要解决的问题是如何寻址,因此引出了保护模式的存储器寻址方法。同时在WINDOWS系统下可以提供多任务处理功能,即多个应用程序能同时运行,同时还要对存放在存储器中的代码及数据的共享和保护提供支持。保护模式下的80x861保护模式存储器寻址机制在80286CPU以上的微处理器,既可以工作在实模式下也可以工作在保护模式下,如果要工作在保护模式下,要求程序员在程序中指定逻辑地址,机器则采用另外一种间接的方法得到相应的物理地址。因此,对程序员编程来说,并未增加复杂性。在保护模式下,逻辑地址由选择符和偏移地址两部分组成。选择符存放在段寄

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论