第2章 微型计算机结构
1.教学目的:掌握INTEL80X86微处理器概况以及基于微处理器的计算机系统构成,为汇编语言编程奠定基础。
2.教学要求:
①了解INTEL80X86微处理器概况
②理解基于微处理器的计算机系统构成
③熟练掌握汇编语言编程所需的CPU功能结构、微机存储器(MEM)组织和微机接口组织等基础知识
3.教学重点:
①微处理器的功能结构
②微存储器组织
4.掌握难点:
①微处理器的寄存器组
②存储器寻址
5.教学进程安排:P20~40
6.教学方法:
①一般叙述INTEL80X86微处理器概况以及基于微处理器的计算机系统构成
②重点讲授微处理器的功能结构和微存储器组织
7.教学内容摘要:
2.1 80X86微处理器概述
2.1.1 微处理器发展简介
1.Intel 8086微处理器
2.Intel 80386微处理器
3.Intel 80486微处理器
4.Intel 奔腾(Pentium)处理器
5.Intel 奔腾Ⅱ处理器
6.Intel 奔腾Ⅲ处理器
7.Intel 奔腾Ⅳ处理器
2.1.2 与微处理器相关的概念
1,芯片集成度
2,微处理器主频
3,系统总线,系统总线一般分三类:
(1)数据总线(DATA BUS,DB)
(2)地址总线(ADDRESS BUS,AB)
(3)控制总线(CONTROL BUS,CB)
4,程序存储及存储器组织
5,处理器运算速度
2.2 基于微处理器的计算机系统构成微型计算机系统包括硬件和软件两部分。
2.2.1 硬件系统图2.1给出了微型计算机组成框图。
1.运算器
2.控制器
3.存储器,
(1)“读操作”:是指CPU将存储器中存储的某一部分信息取出来进行处理的操作。
(2)“写操作”:是指CPU用新的信息刷新存储器原来存储的某一部分内容的操作。
(3)注意:存储器的读/写操作是以字节为单位按存储器存储单元地址进行的。
4.输入/输出设备
图2.1 微型计算机硬件系统组成把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。计算机硬件的五大部件是通过总线连接起来的,构成了计算机的基本硬件系统。
2.2.2 软件系统计算机软件是计算机系统的重要组成部分,它可以分成系统软件和应用软件两大类。图2.2表示了计算机软件的层次。
图2.2 软件系统的层次
2.3 微处理器
2.3.1 微处理器的结构
1,微处理器的概念
⑴算术逻辑部件(ARITHMETIC LOGIC UNIT,ALU)
⑵控制逻辑
⑶工作寄存器
2,INTEL 8086/8088微处理器结构
8086 CPU内部结构如图2.3所示。按功能可分为两部分:总线接口单元BIU(BUS INTERFACE UNIT)和执行单元EU(EXECUTION UNIT)。

图2.3 8086CPU内部结构
⑴总线接口单元BIU
①地址加法器和段寄存器
②16位指令指针IP(INSTRUCTION POINTER)
③指令队列缓冲器
④总线控制逻辑电路
⑵执行单元EU
①算术逻辑运算单元(ALU)
②标志寄存器(FLAGS)
③数据暂存寄存器
④通用寄存器组
⑤EU控制电路
⑶8086与8088 CPU的主要区别
①8086CPU的指令预取队列为6个字节,而8088 CPU只有4个字节。
②8086CPU的AD15~AD0为地址、数据双向分时复用的;而8088 CPU只有AD7~AD0为地址、数据双向分时复用的,A15~A8仅用于输出地址信号。在进行16位数据操作时,8086只需一个总线周期就可完成,而8088则需要两个总线周期来完成,因此8088的速度较8086要慢些。
③8086CPU上的信号在8088CPU上变为。
④8086的引脚28为M/,即CPU访问内存时该引脚输出高电平,访问接口时则输出低电平。对于8088而言,该引脚的状态正好相反,变为IO/。
8086/8088后继机型也包括有准32位和标准32位机,如80836的SX和DX类型。
2.3.2 80X86寄存器组
图2.4 80X86的程序寄存器组
1,通用寄存器
2,专用寄存器
3,段寄存器

图2.5 80X86的标志寄存器
表2-2 标志位的符号表示标 志 名
标志为1
标志为0
OF 溢出(是/否)
DF 方向(减量/增量
IF 中断(允许/关闭)
SF 符号(负/正)
ZF 零(是/否)
AF 辅助进位(是/否)
PF 奇偶(偶/奇)
CF 进位(是/否)
OV
DN
EI
NG
ZR
AC
PE
CY
NV
UP
DI
PL
NZ
NA
PO
NC

2.4 存储器
2.4.1 存储单元的地址和内容
图2.6 数据类型在存储器里以字节为单位存储信息。为了正确地存放或取得信息,每一个字节单元给以一个惟一的存储器地址,称为物理地址。地址从0开始编号,顺序地每次加1,因此存储器的物理地址空间是呈线性增长的。在机器里,地址也是用二进制数来表示的,当然它是无符号整数,书写格式使用十六进制数形式。
存储器有这样的特性:它的内容是取之不尽的。也就是说,从某个单元取出其内容后,该单元仍然保存着原来的内容不变,可以重复取出,只有存入新的信息后,原来保存的内容就自动丢失了。
2.4.2 实模式存储器寻址
1,存储器地址的分段
(1)实模式下允许的最大寻址空间为1MB。
(2)要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法是采用存储器地址分段的方法。
(3)物理地址的形成物理地址=段地址×16D+偏移地址
(4)实模式存储器寻址
物理地址形成过程 (B) 物理地址计算方法
图2.8 实模式存储器寻址时物理地址的形成与计算过程
图2.9 实模式存储器寻址
2,段寄存器
(1)代码段CS:存放当前正在运行的程序;、
(2)数据段DS、数据段存放当前运行程序所用的数据,如果程序中使用了串处理指令,则其源操作数也存放在数据段中
(3)堆栈段SS堆栈段定义了堆栈的所在区域
(4)附加段ES附加段是附加的数据段,它是一个辅助的数据区,也是串处理指令的目的操作数存放区在80386及其后继的80X86中新增段寄存器
(1)FS
(2)GS,
在80X86中,段寄存器和与其对应存放偏移地址的寄存器之间有一种默认组合关系,如表2-3和表2-4所示:
有时候程序需要改变段寄存器和偏移地址的缺省组合,具体改变方法在指令中说明。
在这种默认组合下,程序中不必专门指定其组合关系,但程序如用到非默认的组合关系,则必须用段跨越前缀加以说明。这一点将在第3章中说明。
表2-3 8086/8088,80286缺省16位段地址和寄存器偏移地址寻址默认组合段
偏移
主要用途
CS
SS
DS
ES
IP
SP或BP
BX、DI,SI或一个1 6位数
DI(用于串指令)
指令寻址堆栈寻址数据寻址串寻址
表2-4 80386及其后继机型缺省32位段地址和寄存器偏移地址寻址默认组合段
偏移
主要用途
CS
SS
DS
ES
FS
GS
EIP
ESP或EBP
EAX、EBX、ECX、EDX、EDI
ESI一个8位数或一个32位数
EDI(用于串指令)
无默认无默认
指令寻址堆栈寻址数据寻址
串指令寻址一般寻址一般寻址
【例2-2】寻址示例。
MOV AX,ES:[BX] ;ES作段寄存器,BX做间址寄存器寻址的单元内容送入AX寄存器中
MOV BX,ES:[SI] ;ES作段寄存器,SI做间址寄存器寻址的单元内容送入BX寄存器中
MOV EAX,DS:[BP] ;DS作段寄存器,BP做间址寄存器寻址的单元内容送入EAX寄存器中
2.4.3 保护模式存储器寻址
1,逻辑地址
(1)选择器和
(2)偏移地址
2,描述符
(1)基地址(BASE)部分用来指定段的起始地址;
(2)界限(LIMIT)部分存放着该段的段长度;
(3)访问权(ACCESS RIGHTS)部分用来说明该段在系统中的功能,并给出访问该段的一些控制信息;
(4)附加字段部分在386及其后继机型中存在,它用来表示该段的一些属性。
系统按选择器的内容,根据指定的途径可以找到所选段对应的描述符,从而可以根据其给出的基地址和界限值,确定所要找的存储单元所在的段,再加上逻辑地址中指定的偏移地址,就可以找到相应的存储单元。
图2.12 保护模式存储器寻址示意图
8.参考资料:《IBM-PC汇编语言程序设计》沈美明
9.作业,P40 习题2
10.课后总结:
本部分位汇编语言的基础,必须理解和熟悉,这样才可以编出高质量的汇编程序