




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 80 x86计算机组织结构学习目标了解计算机系统的主要组成部分;熟悉8086各类寄存器的用途;熟悉标志寄存器各标志位的意义。 掌握存储器地址分段的方法以及存储单元物理地址的形成方法;第2章 80 x86计算机组织结构学习目标2.1 80 x86 微处理器80X86微处理器系列是美国Intel公司从20世纪70年代开始研制的微处理器的总称 8086是1978年Intel公司推出的16位微处理器。(1)8086有16位数据总线,处理器与外部传送数据时,一次可传送16位二进制数。 (2)8086有20位地址总线,寻址空间提高到1M字节。 (3)8086采用了流水线技术,可以实现处理器的内部操
2、作与存储器或I/O接口之间的数据传送操作重叠进行,从而提高了处理器的性能。 2.1 80 x86 微处理器80X86微处理器系列是美国IIntel公司在1982年推出了80286微处理器,它仍然是16位结构。80286的内部及外部数据总线都是16位的,但它的地址线是24位的,可寻址16M字节的存储空间。80286有两种工作方式,即实模式和保护模式:实模式与8086工作方式相同,但速度比8086快。保护模式除了仍具有16M字节的存储器物理地址空间外,她还能为每个任务提供1G字节的虚拟存储器地址空间。保护方式把操作系统及各任务所分配到的地址空间隔离开,避免程序之间的相互干扰,保证系统在多任务环境下
3、正常工作。Intel公司在1982年推出了80286微处理器,它仍然是80386是1985年研制出的一个32位微处理器,内部及外部数据总线均为32位,地址线也为32位,因此它可处理4G(232)字节的物理存储空间。1989年Intel公司又研制出新一代的微处理器80486,80486芯片内除了有一个与80386相同结构的主处理器外,还集成了一个浮点处理部件FPU以及一个8K字节的高速缓冲存储器(cache),使80486的计算速度和总体性能比80386有了明显的提高。80386是1985年研制出的一个32位微处理器,内部及外部1993年Intel公司又推出了Pentium微处理器,此后几乎每两
4、年就推出一个新型号。由此可见,微处理器芯片的发展速度是非常快的。在微处理器的发展过程中,芯片主频越来越快,寻址空间越来越大,数据和地址总线也越来越宽,加之许多体系结构方面的改进措施,如流水线结构、存储器层次结构等,使微计算机的性能大大提高,其应用领域也更加广泛。 1993年Intel公司又推出了Pentium微处理器,此2.2 基于微处理器的 计算机系统的构成硬件:中央处理机 CPU总线控制 逻辑接 口接 口存储器大容量存储器I/O设备I/O子系统系统总线.软件:系统软件 应用软件2.2 基于微处理器的 计算机系统的构成硬件:中央处理机总线2.3 中央处理器CPU组成:算术逻辑部件ALU:算术
5、和逻辑运算 控制器:负责全机的控制作用 寄存器:暂存数据2.3 中央处理器IBMPC(80 x86)汇编语言与接口技术-第2章-80 x86计算机组织8086/8088寄存器组:数据寄存器:指针及变址寄存器:SP、BP、SI、DI段寄存器: CS、DS、SS、ES控制寄存器: IP(即PC)、FLAGS AX BX CX DX AH AL BH BL CH CL DH DL 高8位 低8位8086/8088寄存器组: 标志寄存器 ( FLAGS / PSW ) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 条件码标志: 控制标志:OF 溢出标志 DF 方向标志 S
6、F 符号标志 IF 中断标志ZF 零标志 TF 陷阱标志CF 进位标志AF 辅助进位标志PF 奇偶标志OF DF IF TF SF ZF AF PF CF例:ADD AX, BX JO / JC ERROR ?标志寄存器 ( FLAGS / PSW ) 15 通用寄存器组(数据寄存器组): AX,BX,CX,DX。用来暂时存放计算过程中所用到的操作数,结果或信息。它们都可以字(16位)或字节(8位)形式访问,比如:AX,AH,AL,BX,CX,DX,DH,DL。这些都是通用寄存器又可用于各自的专用寄存器。通用寄存器组(数据寄存器组): AX,BX,CX,DX。用来AX: 累加器,算术运算的主要
7、寄存器.所有的I/O指令都通过它与外设传送信息。BX: 在计算存储器地址时,经常用作基址寄存器。CX: 在循环(Loop)和串处理指令中用作隐含的计数器。DX: 一般在做双字长运算时把DX和AX组合在一起存放一个双字长数,DX放高16位;对某些I/O操作,DX可用来存放I/O的端口地址。AX: 累加器,算术运算的主要寄存器.所有的I/O指令都通过指针和变址寄存器:SP、BP、SI、DI四个16位寄存器可以象数据寄存器一样在运算过程中存放操作数,但它们只能以字(16位)为单位使用。在存储器寻址时,提供偏移地址。因此,可称为指针或变址寄存器。指针和变址寄存器: SP称为堆栈指针寄存器,用来指出栈顶
8、的偏移地址。 BP称为基址指针寄存器,在寻址时作为基地址寄存器使用,但它必须与堆栈段寄存器SS联用来确定堆栈段中的存储单元地址。SI为源变址寄存器,在串处理指令中,SI作为隐含的源变址寄存器与DS联用,以确定数据段中的存储单元地址,并有自动增量和自动减量的变址功能。DI为目的变址寄存器,在串处理指令中,DI和附加段寄存器ES联用,以达到在附加段中寻址的目的,然后DI自动增量或减量。 SP称为堆栈指针寄存器,用来指出栈顶的偏移地址。 BP,SP: 堆栈指针寄存器,SP+SS在RAM中建立堆栈,并通过栈顶来存取堆栈中的数据。BP+SS不通过栈顶存取堆栈中某单元的信息。BP,SP: 堆栈指针寄存器,
9、段寄存器:CS:代码段寄存器 DS:数据段寄存器SS:堆栈段寄存器 ES:附加段寄存器16位寄存器,用来标识当前代码段,数据段,堆栈段和附加段。功能:主要是使8088CPU对IBM PC内存的不同段进行读写。段寄存器:控制寄存器:IP和PSWIP指令指针寄存器(即PC,存放代码段中的偏移地址),在程序执行过程中,它始终指向下一条指令的首地址,它与CS寄存器联用取得确定的下一条指令在存储器中的物理地址,控制器可取得下一条执行指令,控制器一旦取得这条指令。就马上修改IP的内容,使之指向下一条指令的首地址。控制寄存器:IP和PSWPSW程序状态字寄存器(标志寄存器)(16位)由条件标志和控制标志构成
10、。OF DFIFTFSFZFAFPFCF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0条件码标识:条件码标识(6个),用来记录程序运行和状态信息。这些信息往往作为条件转移指令的控制条件。PSW程序状态字寄存器(标志寄存器)(16位)由条件标志和控OF 溢出标志 OF=0: -128=B=127 -32768=W=+32767; 否则 OF=1SF 符号标志 与运算结果的最高位相同ZF 零标志 ZF=1:结果为0;否则ZF=0AF 辅助进位标志 中间位向高位进位或借位 时,AF=1;否则 AF=0 PF 奇偶标志 操作数中1的个数为偶 PF=1 CF 进位标志 CF
11、=1:最高有效位有进位OF 溢出标志 OF=0: -128=B=127注意:解有符号数的算术运算,必须根据OF是“1”还是“0”决定是否溢出。对于无符号的算术运算,必须根据CF是“1”还是“0”来决定是否溢出。进位和溢出是两个不同性质的标志不要混淆注意:确定CF和OF的值:字节(-1)+(-1)=-2的有符号数运算 11 11 11 11 + 11 11 11 11 CF=1 OF=0 无溢出 1 11 11 11 10确定CF和OF的值:(150)+(150)=300的无符号数运算(根据CF判断) 1001 0110 + 1001 0110 CF = 1 有溢出 1 0010 1100 OF
12、 = 0(+100)+(+100)=200的有符号数运算(根据OF判断) 0110 0100 + 0110 0100 CF = 0 0 1100 1000 OF = 1 有溢出(150)+(150)=300的无符号数运算(根据CF判断)控制标志:DF 方向标志 DF=1 (DOWN方向减量) DF=0 (UP方向增量)IF 中断标志 IF=1 (CPU响应外部中断请求) STI(D) IF=0 (CPU不响应外部中断请求) CLI (D)TF 追踪标志 TF=1(CPU单步操作) TF=0 (连续操作)控制标志:80 x86的寄存器结构80 x86的程序可见寄存器组通用寄存器专用寄存器段寄存器
13、 AH AX AL BH BX BL CH CX CL DH DX DL SP BP SI DI IP FLAGS CS DS SS ES8086 /8088 /80286 寄 存 器EAXEBXECXEDXESPEBPESIEDIEIP EFLAGS FSGS 31 16 15 8 7 080 x86的寄存器结构80 x86的程序可见寄存器组 AH OFDFIFTFSFZF AF PF CF 8086/8088OFDFIFTFSFZF AF PF CF IOPLNT 80286 RF OFDFIFTFSFZF AF PF CF IOPLNTVM 80386 RF OFDFIFTFSFZF A
14、F PF CF IOPLNTVMAC 80486 RF OFDFIFTFSFZF AF PF CF IOPLNTVMACIDVIPVIF31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0Pentium80 x86的标志寄存器 (P.23)IOPL: I/O特权级 VIP:虚拟中断未决标志 NT: 嵌套任务标志 VIF:虚拟中断标志 RF: 重新启动标志 VM:虚拟8086模式位 AC: 对准检查方式位 ID: 标识标志 OFDFIFTFSFZF AF PF CF 8086/
15、寄存器与存储器的比较: 寄 存 器 存 储 器 在CPU内部 在CPU外部访问速度快 访问速度慢容量小,成本高 容量大,成本低用名字表示 用地址表示没有地址 地址可用各种方式形成 寄存器与存储器的比较:在CPU内部 2. 4 存储器8086存储单元的地址和内容: 存储器以字节(8 bit)为编程单位 每个字节单元都有唯一的地址编码 地址用无符号整数来表示(编程用十六进制表示) 一个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址 字单元地址用它的低地址来表示 机器以偶地址访问(读 / 写)存储器2. 4 存储器8086存储单元的地址和内容: 存储器计算机存储信息的基本单位是位、字
16、节和字。在8086的16位系统中,每位是一个二进制数,一位可存储一个二进制数0或1,每8位组成一个字节,两个字节组成一个字。4个字节组成一个双字。8个字节组成一个4字。计算机存储信息的基本单位是位、字节和字。IBMPC(80 x86)汇编语言与接口技术-第2章-80 x86计算机组织在存储器里以字节为单位存储信息,为了正确存放或取得信息,每一个字节单元给一个存储器地址。地址从0开始编号,顺序的每次加1无符号的二进制数,一般以十六进制方式书写。在存储器里以字节为单位存储信息,为了正确存放或取得信息,每一16位二进制可标识多少单元的地址:216 个。则16位(一个字长)可表示的地址范围有0-655
17、351024=1k=210为存储器容量的基本单位,那么65535个字节单元的存储器容量为64k (210+6=210*26=64*210)地址编号的范围(十六进制表示)0000H-FFFFH16位二进制可标识多少单元的地址:216 个。则16位(一一个存储单元中存放的信息为该存储单元的内容,字的存入如图所示:低字节存入低地址(0010)w=1234H 0010H(0010)b=34H 0011H3412一个存储单元中存放的信息为该存储单元的内容,字的存入如图所示如果用x表示地址;那么(x)表示该单元的内容。 (0010)=1234H 0010H (0010)=(1234)=2F1EH 1234
18、2F1E1234H如果用x表示地址;那么(x)表示该单元的内容。 12342同一个地址既可看作字节单元的地址,又可作为字单元的地址。机器里访问存储器(要求存数或取数)都是以字为单位进行的。即:机器是以偶地址访问存储器的,这样,对于奇地址的字单元,要取一个字需要访问二次存储器。同一个地址既可看作字节单元的地址,又可作为字单元的地址。存储器分段由于8086/8088有20条地址线,且存储器是以字节为单位,故其直接寻址能力可达1MB(220字节),而8088CPU内部的EU只能进行16位运算,与地址有关的寄存器也都是16位,那么如何得到20位地址?地址分段的范围 00000H-FFFFFH存储器分段
19、存储器的分段:20 根地址线: 地址范围 00000H FFFFFH (1MB)机器字长16位:仅能表示地址范围 0000H FFFFH (64KB)小段:每16个字节为一小段(因为规定段的首地址必须能够被16整除),共有64K个小段 小段的首地址 00000 H 0000F H 00010 H 0001F H 00020 H 0002F H FFFF0 H FFFFF H 段起始地址:小段首地址段的大小: 64K 范围内的任意字节(最大为64k)存储器的分段:20 根地址线: 地址范围 00000H物理地址:是由8086的地址引线送出的20位地址码,可写成5位的十六进制数。逻辑地址:段地址+
20、偏移地址段首地址(段地址):可用16位表示。段内相对于段首地址的偏移值(偏移地址):16位表示。物理地址:是由8086的地址引线送出的20位地址码,可写成5存储器的逻辑地址与物理地址 10011111 00100110 01001000逻辑地址段地址 : 偏移地址 1000 : 0000H 1000 : 0001H1000 : 0002H1000 : 0003H1000 : 0004H1000 : 0005H 物理地址10000H10001H10002H10003H 10004H10005H 10000011 01011100 10100010字节内容(10000H)9FH;(10001H)2
21、6H字内容 (10000H)269FH;(10001H)4826H访问两次内存存储器的逻辑地址与物理地址 10011111 00100段地址放入段寄存器CS,DS,SS,ES20位物理地址的计算方法为:将段地址后添加4位零,再加上偏移地址值。 16*段地址+偏移地址=物理地址 16位段地址 0000 + 16位偏移地址 20位物理地址例:(DS) = 2100H, (BX) = 0500H (PA) = 21000H+0500H = 21500H 段地址放入段寄存器CS,DS,SS,ES例:(DS) = 2不不存储器的逻辑分段: 存储器64KB代码01500H42000H1CD00H0150H4200H1CD0H段寄存器CSDSSSES64KB堆栈64KB数据 64KB附加数据B0000HB000H一般情况下,各段在存储器中的分配是由操作系统负责的,但是,也允许程序员用操作命令来指定所需占用的内存区。存储器的逻辑分段: 存储器64KB代码01500H42000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年逻辑判断小测试题及答案
- 2025玛纳斯县司法局招聘编制外专职人民调解员(5人)考试备考题库及答案解析
- 2025年新能源微电网稳定性控制与智能电网信息安全保障策略研究报告001
- 合肥市政府门户网站信息公开:现状、问题与优化路径
- 合成生物学视角下颠覆性技术识别指标体系的构建与验证研究
- 基于2025年的绿色环保建材市场发展趋势分析报告
- 2025年教师招聘之《小学教师招聘》经典例题及参考答案详解【b卷】
- 2025年教师招聘之《小学教师招聘》考前冲刺练习题(全优)附答案详解
- 教师招聘之《小学教师招聘》综合检测提分(网校专用)附答案详解
- 2025年教师招聘之《幼儿教师招聘》题库附答案详解【模拟题】
- 大学生家教服务合同范本
- 家政合伙人协议合同范本
- 新教科版科学六年级上册全册表格式核心素养目标教案 (一)
- 小学道德与法治教师考试题及答案
- (2025年标准)管护移交协议书
- 中医药现代化国际市场拓展:2025年中医药国际市场竞争力提升策略报告
- 生殖道支原体感染诊治中国专家共识(2025年版)解读课件
- 2025-2026人教版(PEP)一年级上册英语教学计划 (三篇)
- OTC药品终端销售方案
- 急腹症的基本临床实践指南解读
- ECMO联合CRRT护理查房
评论
0/150
提交评论