第二章 80X86计算机组织

合集下载

第二章 80X86计算机组织

第二章  80X86计算机组织

第二章汇编语言程序格式2.1 在80X86微型机的输入输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00~FFH的端口号,试问可直接由指令中指定的I/O端口数。

答:有256个I/O端口数2。

2 有两个16位字IEE5H和2A3CH分别存放在80X86微机存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。

解: 000B0H E5H000B1H 1EH000B2H000B3H 3CH000B4H 2AH2.380X86微机存储器中存放信息如图2.12所示。

试读出30022H和30024H字节单元的内容,以及30022H和30024H字单元的内容。

30020H 12H30021H 34H30022H ABH30023H CDH30024H EFH答:(1)。

字节单元:(30022H)=ABH,(30024H)=EFH(2)。

字节单元:(30021H)=AB34H,(30022H)=CDABH2.4 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?答:(1)。

3017:000AH的物理地址是:3017AH(2)。

3015:002AH的物理地址是:3017AH(3)。

3010:007AH的物理地址是:3017AH2.5 如果在一个程序开始执行以前(CS)=0A7FOH(如果十六进制数的最高位为字母,则应在其前加一个字的物理地址是多少?答该程序的第一个字的物理地址是:AAA40H2.6 在实模式下,存储器中每一段最多可有10000H个字节。

如果用测试程序DEBUG的r命令在终端上显示当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、DF、ZF、CF的值。

C>debug-rAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC 解:(1)存储器分段的示意图10E4:0000H 10E40H……10F4:0000H 10F40H……10E4:FFFFH 20E3FH……10F4:FFFFH 20F3FH……21F0:0000H 21F00H……21F0:FFFFH 31FFFH……31FF:0000H 31FF0H……31FF:FFFFH 41FEFH(2)。

汇编语言第2章80x86计算机组织

汇编语言第2章80x86计算机组织

控制标志位
• 控制标志位 :DF 方向标志,用于串处理指令处理
▪ DF位为1时,每次操作后使变址寄存器SI和 DI减量,使串处理从高地址向低地址方向处 理:
▪ 当DF位为0时,则使SI和DI增量,使串处理 从低地址向高地址方向处理:
系统标志位
• IF:中断标志。 当IF=1时,允许中断; IF=0时关闭中断
数据的宽度 • 地址总线宽度:用以确定可访问的存储器的最
大范围
地址总线宽度
• 10位:210=1024单元,1K • 20位:220=1024* 210单元=1024K,1M • 24位:224=16*1M,16M • 30位:230=1024M,1G • 32位:232=4G,即4GB
二、一些名词术语(2)
• TF:陷井标志(跟踪标志)。用于单步方式操作 • IOPL:I/O特权级。控制对I/O地址空间访问
段寄存器
• 8086/8088、80286:四个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES
• 80386及后继机型:六个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES、 FS、GS---都是16位
• ZF:零标志。运算结果为0,置1;否则置0。 • CF:进位标志。记录从最高有效位产生的进位值。
最高有效位有进位时置1,否则置0。 • AF:辅助进位标志。记录运算时第3位产生的进位
值。如第3位有进位时置1,否则置0。 • PF:奇偶标志。当结果操作数中1的个数为偶数时置
1,否则置0。
标志符号 举例
段中的某一存储单元的地址 4. SI、DI一般与DS联用:
在串处理指令中,SI和DS联用,DI和ES联用
8086系统的堆栈
• 是存储器中的特殊区域 – 在堆栈段内,“FILO” – SP始终指向栈顶,总是字操作,指示栈顶的 偏移地址; – BP可作为堆栈区中的一个基地址以便访问 堆栈中的其他信息

第2讲 80x86微处理器

第2讲 80x86微处理器

E4 19
512K × 8 D7~D0
512K × 8 D7~D0
D15~D8 D7~D0
F8 27
物理地址的形成

存储器的段结构 物理地址的形成

存储器的段结构


物理地址 逻辑地址
段基址 存放在段寄存器 DS 或 CS 或 SS 或 ES 中 偏移地址 存放在 IP 或 SP 中

存储器的段结构
专用寄存器

堆栈指针寄存器 SP (stack pointer)


基址指针寄存器 BP(base pointer)
源变址寄存器 SI (source index)

目的变址寄存器 DI (destination ind
ex)
段寄存器



代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加段寄存器 ES
指令指针寄存器


16位的指令指针寄存器 IP 用于存放下一 条执行指令的偏移地址。 CS为段基址,IP为段内偏移地址。 用户不能直接访问 IP 寄存器。
标志寄存器FLAGS

标志寄存器共有16位,其中7位未用,所用的 各位含义如下:
11 10
OF DF
15 14 13 12
9
IF
8
TF
7
SF
内存存放规则
字数据: 19E4H 27F8H 分别存放在: 20020H 20023H
20019H 20020H 20021H 20022H
E4 19
20023H
20024H
F8 27
20019H
A19~A1 A0
20020H

第二章 80x86计算机组织(modify)

第二章  80x86计算机组织(modify)

③、数据段(Data Segment) : 数据段存放运行程序所用的数据
数据段寄存器DS存放数据段的段地址 各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移 地址 处理器利用DS:EA存取数据段中的数据
④、附加段(Extra Segment) : 附加段是附加的数据段,也用于数据的保存:
------------------ --------------------- ---------------------------------------------
HLT
停机
指令执行过程见下页图
指令执行过程(取指/译码/执行)
输出指 置初值 令地址


时序控制信号(控制命令)
③ +1
输出
时序逻辑电路
;数据段超越,使用数据段的数据
;附加段超越,使用附加段的数据
段超越的示例
• 没有段超越的指令实例:
MOV AX,[2000H] ;AX←DS:[2000H] ;从默认的DS数据段取出数据
• 采用段超越前缀的指令实例:
MOV AX,ES:[2000H] ;AX←ES:[2000H] ;从指定的ES附加段取出数据
– – – – CS(代码段)指明代码段的起始地址 SS(堆栈段)指明堆栈段的起始地址 DS(数据段)指明数据段的起始地址 ES(附加段)指明附加段的起始地址
• 每个段寄存器用来确定一个逻辑段的起始地 址,每种逻辑段均有各自的用途
①、代码段(Code Segment): 代码段用来存放程序的指令序列
• 若运算结果为0,则ZF = 1; 否则ZF = 0 注意:ZF为1表示的结果是0 3AH + 7CH=B6H,结果不是零:ZF = 0

CH2 80x86计算机组织

CH2 80x86计算机组织
首地址:PA=2100H×16+2A10H=23A10H 末地址:PA=23A10H+(8-1) ×2=23A1EH
习题: 习题:
4.内存34120地址H,依次存放3个数,分别是 字数据27H,字节数据0F1H和字数据9145H, 画图表示内存存放情况。 ···
27H 00H F1H 45H 91H ··· 34120H 34121H 34122H 34123H 34124H
2.2.3 8086/8088寄存器组 寄存器组
3.指针寄存器
BP(基址指针寄存器)
用法同通用寄存器 与SS段寄存器联用
SP(堆栈指针寄存器) IP(指令指针寄存器)
存放偏移指令 用户程序不能使用
2.2.3 8086/8088寄存器组 寄存器组
4.段寄存器
CS、DS、ES、SS
例题:程序执行之前(CS)=0A7F0H, (IP)=2B40H,试确定该程序第一个字的物理 地址。
运算结果非零正数:ZF=0,SF=0 最高位有进位:CF=1 1010+1000,次高位无进位 异或为1:OF=1,结果无效 低4位向高4位无进位:AF=0 低8位FDH中1的个数为7:PF=0
A 9 5 B + 8 C A 2 1 3 5 F D
习题: 习题:
1.写物理地址PA。
2314H:0035H 1FD0H:000AH
双字
一个双字占据相邻四个存储单元 低位字节存入低地址处,高位字节存入可存放于内存中任一单元,在进行读操作时内存单元 不发生变化,进行写操作时覆盖内存单元内容
例题1:将8162H存入0003H和0004H两个相 邻存储单元。
- - 0000H 0001H 0002H 0003H 0004H 0005H

第二章 80x86计算机组织

第二章 80x86计算机组织
例: MOV CX , 200H
AGAIN: ……
…… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN
DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时,
把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位;
对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。
AX——(Accumulator)作为累加器。 它是算术运算的主要寄存器, 所有I/O指令都使用这一寄存器与外部设备交换数据。 例: IN OUT AL , 20H 30H , AX
BX——Base用作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。
例:
MOV
AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。
微处理器内部主要由四部分组成:
(1) 内部寄存器陈列 用来寄存参与运算的数据(8位), 经常可以连成寄存器对(16位)用来存放操作数地址。 16位专用寄存器
如: 程序计数器PC,堆栈指针SP
(2) 累加器和算术逻辑单元 对数据进行算术运算、逻辑运算场所, 运算结果 标志触发器记忆 或送某个寄存器等等。
8088
内部操作均按16位设计,
内部寄存器、运算部件及
除对外数据线为8根外,其余与8086基本相同。
为与当时已有的8 位外设接口芯片兼容。
IBM PC、IBP PC/XT 采用8088CPU
8
8088CPU结构特点小结:
(1) 内部结构 是16位的
(内部寄存器,内部运算部件,内部操作按 16位设计); (2)外部数据总线8条,能处理16位数据,也能处理8位数据; (具有16位运算指令,包括*、/指令) (3) 汇编语言与8080/8085兼容,即能执行整套8080/8085的指令.

汇编_第2章 80X86计算机组织

汇编_第2章 80X86计算机组织

例1:(DS) = 2100H, (BX) = 0500H
物理地址 = 21000H + 0500H = 21500H
例2:(CS) = 3000H, (IP) = 1000H
物理地址 = 30000H + 1000H = 31000H
例3:(SS) = 1000H, (SP) = 0010H 物理地址 = 10000H + 0010H = 10010H 例4:(DS) = 3100H, (SI) = 1000H 物理地址 = 31000H + 1000H = 32000H
优点: 允许程序在存储器内重定位;
允许实模式程序在保护模式下运行;
有利于程序和数据的分离。
物理地址的形成
物理地址:每一个存储单元有一个唯一的20位地址 表示范围:00000H~FFFFFH 。 物理地址形成:段地址左移4位再加上偏移地址值
15 0 16位段地址 15 + 19 0 0 16位偏移地址 0000
≈ 1234H
4号字节单元存放的信息为 34H,表示:(0004)=34H
1EH 2FH
4号字单元的内容为1234H,表 示为:(0004)=1234H
1235H 1236H 1237H
字单元由两个字节单元组成,其地址采用它的低地 址来表示;且低位字节存入低地址单元,高位字节存入 高地址单元。
例:存储单元的地址 已知: (0004H)= 5678H
编译后的目标文 件达到3.59KB
}
用汇编语言实现同样的功能
data segment a db ? b db ? c db ? string db 'c=$' 汇编后的目 data ends 标文件只有 code segment 208字节 main proc far assume cs:code, ds:data, es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax main mov es,ax code mov a,1 mov b,2 mov al,a add al,b mov c,al lea dx,string mov ah,09 int 21h add c,30h mov dl,c mov ah,2 int 21h mov dl,0ah int 21h mov dl,0dh int 21h ret endp ends end start

第二章 80x86计算机组织

第二章  80x86计算机组织

80x86汇编语言程序设计
1. 状态标志取值的一般规则
ZF(Zero Flag):零标志。若运算结果为0,则ZF = 1,否则 ZF = 0。
SF(Sign Flag):符号标志。若运算结果为负数,则SF = 1, 否则SF = 0。 CF(Carry Flag):进位标志。若加法时结果最高位向前有进 位或减法时最高位向前有借位,则CF = 1,否则CF = 0。 OF(Overflow Flag):溢出标志。若带符号数的运算结果超 出了补码表示的范围,则OF = 1,否则OF = 0。 AF(Auxiliary Carry Flag):辅助进位标志。若加法时结果 低4位向前有进位或减法时结果低4位向前有借位,则AF = 1,否 则AF = 0。 PF(Parity Flag):奇偶标志。若结果最低字节中1的个数为 偶数,则PF = 1,否则PF = 0。
80x86程序可以存取的最小数据单位是字节。例如,若要读取的位 数不足8位,则只能先读出一个完整字节,再屏蔽掉其它位。
字的存储采取“低字节在低地址,高字节在高地址,字的地址由低 地址表示”的小端方式,双字也类似。
要正确理解内存单元的地址和值,地址表示位置,值是相应位置处 的内容。同一地址既可以看作字节单元地址,也可以看作字甚至双字 单元地址,取决于具体的使用方式。
2013-1-20
80x86汇编语言程序设计
80x86 CPU有3种工作模式:实模式、保护模式和虚拟8086模 式。 在实模式下,段地址和偏移地址均为16位。20位物理地址由 16位段地址左移4位加16位偏移地址得到,只能寻址1MB的内存 空间,且每段≤64KB。 在实模式下,32位CPU下的程序可以使用32位寄存器和32位操 作数,但采用32位寄存器表示偏移地址时,只使用低16位,高 16位为0。CS:IP总是指向下一条要执行的指令,EIP的高16位为 0。SS:SP指向堆栈段的栈顶,ESP的高16位为0。 状态标志是CPU进行条件判断和控制程序执行流程的依据,最 常用的是4个:CF、OF、SF和ZF。其中,CF表示无符号溢出,OF 表示带符号溢出。

第二章 80X86计算机组织

第二章 80X86计算机组织

本科程以80X86微处理器为例讲解汇编语言程序设计基本概念、原理、方法
6/73
Intel公司处理器系列
1971年,设计了第 年,设计了第一片 片4位微处理器Intel 4004, 随之又设 计生产了8位微处理器8008 1973年推出了8080;1974年基于8080的个人计算机 (PC)问世 1977 19 年Intel推出了8085 808 自此之后,又陆续推出了8086、80286、80386、80486、 Pentium、XEON、EMT’64、Itanium2、多核等80X86 系列微处理器
2/73
计算机结构
• 以存储器为中心的计算机结构
控制器
计算机系统主要由存 储器、运算器+控制 器、输入设备和输出 设备构成
数据 输入设备 程序 运算器 算 存储器 输出设备
计算 结果

现代计算机硬件组成
主机
运算器
CPU
ALU CU 主存 辅存
主 存
控制器
CPU 主机 硬件 I/O
3/73
ALU CU

由80X86微处理器芯片构成的微机称为X86微机 另外还有AMD公司微处理器系列、IBM公司POWERPC、SUN公司SPARC等 各种CPU系列有自己的机器指令系列,互不兼容

C,PASCAL,FORTRAN,JAVA等高级语言,兼容,因为通过编译转换为对应的机器指令 , , 汇编语言,不兼容,但汇编语言程序设计方法通用,助记符、程序结构大体相同
18/73
(3)虚拟86模式
虚拟86模式以任务形式在保护模式下执行 在CPU上可以同时支持由多个真正的CPU任务和 多个虚拟86任务 在虚拟86模式下,CPU支持任务切换和内存分页

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织

• 80386是1985年研制出的一个32位微处理器, 内部及外部数据总线均为32位,地址线也为32 位,因此它可处理4G(232)字节的物理存储 空间。
• 1989年Intel公司又研制出新一代的微处理器 80486,80486芯片内除了有一个与80386相同 结构的主处理器外,还集成了一个浮点处理部 件FPU以及一个8K字节的高速缓冲存储器 (cache),使80486的计算速度和总体性能比 80386有了明显的提高。
• Intel公司在1982年推出了80286微处理器,它仍 然是16位结构。80286的内部及外部数据总线都 是16位的,但它的地址线是24位的,可寻址16M 字节的存储空间。
80286有两种工作方式,即实模式和保护模式: 实模式与8086工作方式相同,但速度比8086快。
保护模式除了仍具有16M字节的存储器物理地址空 间外,她还能为每个任务提供1G字节的虚拟存储 器地址空间。保护方式把操作系统及各任务所分配 到的地址空间隔离开,避免程序之间的相互干扰, 保证系统在多任务环境下正常工作。
• 8086是1978年Intel公司推出的16位微处理器。
(1)8086有16位数据总线,处理器与外部传送数据 时,一次可传送16位二进制数。
(2)8086有20位地址总线,寻址空间提高到1M字节。
(3)8086采用了流水线技术,可以实现处理器的内 部操作与存储器或I/O接口之间的数据传送操作重叠 进行,从而提高了处理器的性能。
2.2 基于微处理器的 计算机系统的构成
硬件:
中央处理机 CPU
总线控制 逻辑 系 统 总 线
存储器
接口
...
接口
大容量 存储器
...
I/O设备
I/O子系统

组织设计-第2章 80x86 计算机组织 精品

组织设计-第2章 80x86 计算机组织 精品

第2章80x86 计算机组织1.教学目的:掌握INTEL80X86微处理器的结构及内存单元地址与内容的含义和关系,了解计算机接口的构成,为汇编语言编程奠定基础。

2.教学要求:①熟练掌握INTEL80X86微处理器的结构②掌握内存单元地址与内容的含义和关系③了解计算机接口的构成3.教学重点:①微处理器的功能结构②微存储器组织4.掌握难点:①微处理器的寄存器组②存储器寻址5.教学进程安排:P19~326.教学方法:①重点讲授微处理器的功能结构和微存储器组织②一般叙述计算机接口的构成7.教学内容摘要:2.1 80x86微处理器80x86微处理器是美国Intel公司生产的微处理器系列。

该公司成立于1968年,1969设计了4位的4004芯片,1973年开发了8位的8080芯片,1978推出了16位的8086芯片,由此开始了Intel公司80x86微处理器系列的历史。

2.1.1 微处理器概况➢晶体管数:芯片中包含的晶体管数目,说明器件的集成度;➢主频:芯片中所用的主时钟频率,反映计算机的运算速度;➢数据总线:负责计算机中数据在各组成部分之间的传送;➢数据总线宽度:芯片内部数据传送的宽度;➢外部数据总线宽度:芯片内和芯片外数据交换的宽度;➢地址总线宽度:传送地址的总线宽度,根据这一数值可以确定处理机可以访问的存储器的最大范围。

例:20位地址总线可以访问220=1048576个存储单元。

存储容量的换算:1K=210B=1024B; 1M=210K=1024K; 1G=210M=1024M;➢高速缓存:存储速度比较快的存储器,现在有很多都做在芯片中2.2 基于微处理器的计算机系统构成微型计算机系统包括硬件和软件两部分。

2.2.1 硬件系统图2.1给出了微型计算机组成框图。

图2.1 微型计算机硬件系统组成把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。

计算机硬件的五大部件是通过总线连接起来的,构成了计算机的基本硬件系统。

第2章 80x86硬件结构

第2章 80x86硬件结构

16位 寄存器可表示的最大地址=?
存储单元的内容 :
一个存储单元中存放的信息称为该存储单元的内容。 例: 2300H单元中存放的是56H, 56H则为其内容,表示为(2300H)=56H
若( 1200H ) =2300H,则(( 1200H))= ?
存储器特点:内容取之不尽,重新存入丢失。
第2章 微型计算机的内部结构
返回本节
第2章 微型计算机的内部结构
(2) 标志寄存器(程序状态寄存器) 8086CPU中有一个很重要的16位标志寄存器,它 包含9个标志位,主要用于保存一条指令执行后, CPU所处状态信息及运算结果的特征。 1.结果标志(条件码) 2.控制标志
第2章 微型计算机的内部结构
1.结果标志 (1)进位标志CF (2)零标志ZF
第2章 微型计算机的内部结构
【例2.1】各段相互重叠情况示例。
设CS=0200H、DS=0400H、SS=0480H,这样代码段、 数据段和堆栈段的物理首地址分别为02000H、04000H和 04800H。其中代码段占8KB地址空间,数据段占2KB, 堆栈段占256B,SP=0100H。如下图所示。
返回本节
第2章 微型计算机的内部结构
2.4.1
存储器单元的地址和内容
存储单元地址 :80X86系统中,为了标识和存取每一个存储单
元,给每个存储单元规定一个编号,这就是存储单元地址。用无 符号整数表示,常用16进制数书写。 例:2300H 编址的最小单位 =? 该如何编址 ?(号) 8086 可访问的 最大地址=?
如程序例子
第2章 微型计算机的内部结构
作业: P25----2.1①--⑤,2.3①②③
Thank you very much !
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

由80X86微处理器芯片构成的微机称为X86微机 另外还有AMD公司微处理器系列、IBM公司POWERPC、SUN公司SPARC等 各种CPU系列有自己的机器指令系列,互不兼容

C,PASCAL,FORTRAN,JAVA等高级语言,兼容,因为通过编译转换为对应的机器指令 汇编语言,不兼容,但汇编语言程序设计方法通用,助记符、程序结构大体相同
24/73
8088/8086CPU的内部结构框图
内 存
20位
地址总线
16位
数据总线
IO 设 备
X=X+Y
MOV MOV ADD MOV AX, DS:[X] DX, DS:[Y] AX, DX DS:[X], AX
控制总线
25/73
基本概念--寄存器 (Register)
相当于运算器中的一个存储单元 访问速度比内存快 存放运算过程中所需要的或所得到的信息 (地址、数据、中间结果)
中断 仲裁
低位 高位


运算器
X=X+Y
MOV A, MOV B, ADD A, MOV X,
X Y B A
译码 选择 电路

IO接口m
IO设备m
FF
22/73
2.2.2 软件
软件是为了运行、管理和维护计算机而编制的各种程序的总和。 软件可分为系统软件和用户软件两大类 系统软件:由计算机生产厂家提供给用户的一组程序,包括:操作系 统、系统程序(编译、汇编、连接等)
CPU复位(Reset)或加电(Power On)时,处理器 以实模式工作 在实模式下,内存寻址方式和8086相同,由16位段 寄存器和16位偏移地址形成20位的物理地址 在实模式下,所有的段都是可以读、写和可执行的
13/73
(2)保护模式
在保护模式下,CPU提供了多任务、内存分段分页 管理和特权级保护等功能
存储器 输入设备 输出设备
面向总线的体系结构
计算机五大部件互连方式


分散连接:各部件之间使用单独的连线 总线连接:各部件连接到一组公共信息传输 线 从分散连接总线连接 (I/O设备与主机之 间灵活连接)
内存写操作
系统总线

数据总线(Data Bus)

各部件之间数据传输 内数据总线宽度:CPU芯片内部数据传送的宽 度(位数) 外数据总线宽度:CPU与外部交换数据时的数 据宽度 传输地址 (Which memory location or I/O devices?) 内存读操作 4/73 控制CUP和其他部件的通信方式 (Is sending or receiving?)
本科程以80X86微处理器为例讲解汇编语言程序设计基本概念、原理、方法
6/73
Intel公司处理器系列
1971年,设计了第一片4位微处理器Intel 4004,随之又设 计生产了8位微处理器8008 1973年推出了8080;1974年基于8080的个人计算机 (PC)问世 1977年Intel推出了8085 自此之后,又陆续推出了8086、80286、80386、80486、 Pentium、XEON、EMT’64、Itanium2、多核等80X86 系列微处理器
存储器 中央处理机 CPU 总线控制 逻辑 . . . 接 口 系统总线 大容量 存储器 . . . I/O设备 I/O子系统
21/73
接 口
邮政编号:710049

71:西安市,0049:西安交通大学 存储器
读/写控制
CB AB DB
20 16
存储芯片1
ROM
00000 00001
………….
复位等

地址总线(Address Bus)


控制总线(Control Bus)

5/73
2.1 80X86微处理器
20世纪70年代初期,由于大规模集成电路技术的发展 ,已经开始把 运算器和控制器集成在一块芯片上,构成中央处理器CPU(Central Processing Unit),80X86就是由Intel公司开发的微处理器系列
13 12
AF AF AF AF AF
5 4 3
PF PF PF PF PF
2 1
CF CF CF CF CF
0
8086/8088 80286 80386 80486 80586
OF DF IF TF SF ZF OF DF IF TF SF ZF OF DF IF TF SF ZF OF DF IF TF SF ZF

实模式下不支持硬件上的多任务切换,所有的指令都在同一 个环境下执行
15/73
Pentium的存储保护包括特权级保护和存储区域保护。
应用程序 OS扩充 OS系统服务 OS内核 级0 级1 级2 级3
16/73
保护模式下提供的主要功能有:

段的大小可以设置为4GB,段内的偏移量为 32位 特权级保护 支持内存分页机制,支持虚拟内存。 支持多任务

2. 专用寄存器
SP、IP、FLAGS
80386以上CPU ESP、EIP
3. 段寄存器
CS、DS、ES、SS、FS、 GS
(深色区域对于 8086/8088/80286 是不可用的)
SS DS ES FS GS
以8086/8088的标志为主 介绍
27/73
标志寄存器FLAGS
OF DF IF TF SF ZF NT IOPL IOPL IOPL IOPL
16 16 16 32 32 32 32
4.77 4.77 6~20 12.5~33 25~100 60~166 150~200
20 20 24 32 32 32 36
1M 1M 16M 4G 4G 4G 64G
PII
1997
32
233~333
36
64G
无 无 无 有 8KB 8KB数 8KB指令 8KB数据 8KB指令 256KB二级Cache 32KB 512JB二级Cache, 有独立封装和独立总线

这些功能是Windows/Linux等现代操作系统的基石 如果没有CPU的支持,操作系统的许多功能根本无法实现

例如,在实模式下,应用程序可以执行任何的CPU指令,读写所 有的内存,DOS操作系统就不能控制应用程序的行为,应用程序 可以做任何事情,没有任何限制。 而在保护模式下,通过设 置特权级和内存的分段分页,应用程序只能读写属于它自己的 内存空间,而不能破坏其他应用程序和操作系统

17/73
Intel 陆续推出的80x86系列处理器的性能和功能越来越强。但是, 从汇编语言程序设计人员面对这些CPU的体系结构角度来看,8086建 立的实模式和80386建立的保护模式模型到目前为止一直适用。因此, 本课程介绍的实模式编程以8086为例说明,保护模式编程以80386为 例说明
11 10 9 8 7 6
……… ……… ……… ID
RF VM AC RF VM
NT NT NT
VIP VIF AC RF VM
31… 22 21 20 19 18 17 16 15 14
PSW (Program Status Word): 条件码标志 – 记录程序运行结果的状态信息,用作后续转移控制条件 控制标志 用以控制程序的执行
80X86 程序可见寄存器组:
31 16 15 (AH) AX (BH) (DH) BX DX SP BP SI DI IP FLAGS CS (CH) CX
程序可见寄存器组包括多 个8位、16位和32位寄存 器,如图所示。深色部分 只对80386(含80386)以 上CPU有效。 1.通用寄存器
AX、BX、CX、DX、BP、SI、DI 80386以上CPU EAX、EBX、ECX、EDX、ESP、EBP、 ESI、EDI
26/73
2.3.2
位 EAX EBX ECX EDX ESP EBP ESI EDI EIP EFLAGS
AH AH AH AL AL AL CH CL
80X86的寄存器组
87 0 (AL) 累加器 (BL) 基址变址 (CL) 计数 (DL) 数据 堆栈指针 基址指针 源变址 目的变址 指令指针 标志 代码段寄存器 堆栈段寄存器 数据段寄存器 附加段寄存器 段寄存器 变址寄存器 控制寄存器 指针寄存器 数据寄存器 数据有关寄存器
14/73

实模式下没有特权级的概念,相当于所有的指令都工作在特 权级0,即最高的特权级。它可以执行所有特权指令,包括读 写控制寄存器CR0等。Windows/Linux操作系统就是通过在实 模式下初始化控制寄存器、GDTR、LDTR、IDTR、TR等寄存器 以及页表,然后再通过置CR0的保护模式位(PE位)为1而进 入保护模式的

核心是操作系统OS C等编译器 汇编语言工具软件

MASM.EXE LINK.EXE DEBUG.EXE
TASM.EXE TLINK.EXE
用户软件:用户自行编制的各种程序,包括:用户程序、用户程序库
23/73
2.3
中央处理机
2.3.1 中央处理机(CPU)的组成 CPU的任务是执行存放在存储器里的指 令序列,完成用户指定的功能 CPU组成: 1.算术逻辑部件ALU 2.控制逻辑EU 3.工作寄存器(☆)
18/73
(3)虚拟86模式
虚拟86模式以任务形式在保护模式下执行 在CPU上可以同时支持由多个真正的CPU任务和 多个虚拟86任务 在虚拟86模式下,CPU支持任务切换和内存分页
19/73
2.2 基于微处理器的计算机系统构成
20/73
2.2.1 硬件
硬件包括:电路、插件板、机柜等。 典型的计算机结构硬件包括:微处理器、存储器、I/O接口电路及输入输出设备。
相关文档
最新文档