微机学习笔记 第二章 80x86/Pentium系列微处理器

参考教材见博客中第一章内容。本课程知识点多,遇到生涩的不要害怕,先跳过去,回头就能看懂。需要整合才能体系化进行更好的复习。部分字可能打错,多多包涵。

2.1 16位微处理器编程结构

        2.1.1 微型计算机基本结构

        2.1.2 8086/8088 CPU的编程结构

2.3 8086/8088 CPU引脚功能

        2.3.1 引脚信号和功能

        2.3.2 8086/8088 构成的最大/最小系统

        2.3.3 俩的主要功能

2.1 16位微处理器编程结构

2.1.1微型计算机基本结构

1.五大部件:运算器、控制器、存储器、I/O设备和系统总线

2.微处理器(CPU):芯片包含运算器、控制器与内部寄存器

3.程序:具有一定功能的指令的有序集合

4.指令:人向计算机发出、能为计算机识别的命令

5.指令执行

一般过程:取指令--指令译码--读取操作数--执行指令--存放结果

需要部件:取指部件、分析部件、执行部件

6.操作数:规定指令中数字运算的量(指出所需数据的来源)

7.顺序执行方式

部件交替工作,顺序完成指令

只在取指令时BUS,可见执行与访问存储器分割

8.并行流水线方式

部件并行工作(我们发现串行中是BUS,而没有BIU的概念;即BIU是为并行流水线而存在的

执行、分析、取并行进行

或者说指令1、2、3…并行进行

2.1.2 8086/8088 CPU的编程结构

9.8086/8088 CPU特点

8088,准16位(内部总线16,外部8,一个总线周期吞吐1 Byte),指令队列4字节

8086,真16(内外16,一总线周期1 Word),指令队列6字节

并行流水线工作 -- 指令预取队列(CPU中BIU中的结构)

内存空间分段管理 -- 地址段存储器(存储器寻址,参考14个寄存器篇)-- 20条地址总线 -- 1MB寻址空间

支持多处理器系统(工作模式,并行产物之一)

10.BIUEU

指令流水线结构 -- 访问存储器(取指令)与执行指令分开 -- 对应为BIU(总线接口单元)&EU(执行单元)

BIU:CPU与I/O设备的接口,负责与存储器、IO接口进行数据传输(执行所有外部总线周期)

11.BIU取指令、预取指令(逻辑地址、物理地址)

取指令:逻辑地址CS:IP -- 20位物理地址(CS*16+IP)--  对应存储单元取指令 -- 存储于指令队列

预取指令: 指令队列有2/1个空字节 -- BIU自动取指令

12.BIU配合EU执行指令、存取操作数和运算结果

EU --提供地址和数据-- BIU --进入外部总线周期-- 访问存储器、IO端口 -- 存取data

13.BIU空闲

指令队列满 and EU无总线访问请求 -- 空闲状态

14.BIU清除队列

EU执行转移 or 子程序调用 or 中断 -- 预取指令失去作用 -- BIU清除队列 -- 得新地址 -- 取与预取指令

15.BIU组成

如图段寄存器、地址指针寄存器、20位地址加法器、指令队列(8088 4Byte 8086 6Byte)、输入输出控制电路

EU:执行全部指令;为BIU提供数据和地址信息,管理部分寄存器(通用、标志),不与外部直接接触。

16.EU组成

ALU(算术逻辑单元)、

数据暂存寄存器(协助ALU,暂存参加运算的数据)、

标志寄存器(FR、FLAG)、

寄存器组(8个)、

执行控制部件(指令队列取指令并执行,向各部件发出控制指令,完成执行指令功能,中枢

17.14个寄存器(4+4+4+1+1

具体功能推荐到实验中探究

SI、DI:一般与DS联用,确定数据段中一存储单元地址

SP:栈顶偏移地址

BP:堆栈中基地址

SP、BP:均可与SS联用,……

在串操作指令中,原串操作数必须用SI提供偏移量,目的串操作数必须用DI提供偏移量。???

特殊用途

18.段寄存器(数据寄存器与指针和变址寄存器省略不讲)

8088 -- 存储器分段 -- 1MB分为 -- 若干逻辑段

段寄存器 -- 段基址 -- 偏移量(存储单元地址与段基址间距离)

代码段 CS : IP

数据段 DS:SI

堆栈段 SS:SP

附加段 ES:DI

19.源串???

当前源串所在段的基地址 -- DS,ES -- 目标串所在段的基地址

20.段寄存器使用约定

21.物理地址/逻辑地址(具体含义参考实际操作)

物理地址:段地址*16+偏移量(取指令时,CS*16 + IP)

逻辑地址:段地址:偏移量   (CS:IP)

22.标志寄存器(FLAGS REGISTER)(P21

又称程序状态字(PSW)寄存器

9个标志位 -- 状态标志(CF、PF、AF、ZF、SF、OF)-- 控制标志(TF、IF、DF)

具体标志位含义参考书上内容,标志位的1/0有其符号表达

OF需注意:产生溢出只可能在同号数+ or 异号数- 情况发生

且判断OF是否为1,最好用十进制进行计算(二进制补码计算复杂)

23.存储器组成

存储器容量:二级制信息容量 = 字数*字长

1存储单元 -- 1Byte -- 存储器字节编址

8086/8088 CPU 20根地址线 -- 1MB寻址能力 -- 00000H~0FFFFFH

字(Word) -- 低8位低地址(高8高地址) -- 低地址做字单元的地址

24.存储器分段结构

原因 -- 内部数据通路、ALU、Registers均为16位,不能直接寻址1M字节地址

逻辑段 -- 最大容量64KB(16位偏移量)

段 -- 物理存储器 -- 段基址 -- 16的整数倍

逻辑段间 -- 允许 -- 邻接、间隔、部分重叠、完全重叠 -- 自由

程序运行时,只允许4个当前段 -- 代码、数据、堆栈、附加段 -- 64KB代码、64KB堆栈和128KB数据

25.I/O

8086系统 -- I/O接口电路 -- 外设

I/O接口 -- 几个端口 -- 端口地址

端口 -- I/O接口电路内容的一个或一组寄存器???

8086CPU -- 地址总线低16位 -- 8位I/O端口寻址线(可访问64K个(65535个)8I/O端口

(寻址 -- 20根地址总线,且I/O端口可扩展到64KB个地址端口)

26.堆栈

定义 -- 端固定的数据存储区

先进后出 -- 栈底、栈顶、入栈、出栈  -- 栈顶元 -- 存取字数据

作用 -- 暂存数据、现场保护 -- 适用过程调用和中断处理场景

对应指令PUSH、POP

2.3 8086/8088 CPU引脚功能
引脚详细解释省略,自己查询,懒得查点下面

8086引脚图及功能 - 8086CPU引脚图及功能_8086CPU组成部分 - 电子发烧友网

1.最小模式/最大模式

最小模式:系统中只有一个8086/8088 MCU,所有总线控制信号都直接由8086/8088产生

最大模式:两个或多个MCU,主处理器、协处理器

协处理器 -- 一般两个 -- 8087(数值运算协处理器) and 8089(输入/输出协处理器)

8087 -- 数值运算

8089 -- 带有一套专用于输入/输出操作的指令系统

2.总线周期

启动一个总线周期 -- 8086/8088 CPU 与 存储器或I/O端口交换数据

数据传送方向 -- “读”/“写”总线周期

基本总线周期 -由组成- 4个时钟周期 -- T1、T2、T3、T4

时钟周期 -- CPU的基本时间计量单位 -- 由CPU主频决定(8086 5MHz主频 -- 1个时钟周期200ns) -- 一个T状态

T1状态 -- CPU给出RW的存储单元地址 or I/O端口地址 -- 地址总线

“读”总线周期 -- T2 浮空(CPU输出地址的写方式 -转变- 输入数据的读方式 -- 缓冲) -- T3、T4CPU从总线接收数据

“写”总线周期 -- T2~T4 CPU把数据送到总线上 -- 写入存储单元 or I/O端口

3.空闲状态的总线周期(空闲周期

一个总线周期后不立即执行下一个(CPU不需访问存储器 or I/O端口 ; 指令队列满,不需到内存中读指令)

此时的总线:

高4位CPU仍驱动前一个总线周期的状态信息;

低16位:若前一个周期为写周期,继续驱动数据信息;读周期,浮空

空闲状态,CPU对总线继续空操作,CPU内部仍进行有效操作

3.等待状态的总线周期

T3结束前,CPU测试READY信号线 -- 若READY = H,数据准备好,可以进入T4

--若READY = L,数据没准备好,T3后插入1个或多个等待周期Tw

检测到READY,(脱离Tw)进入T4

设计目的:延长总线周期,允许系统使用低速的存储器芯片

 

4.引脚信号与功能:

8086:20地址线 16数据线

8088:20 , 8

控制线、状态线、电源线和地线

4.1 电源线和地线

Vcc(pin 40):输入,接+-10% +5V电源

GND(pin 1 ,20):均应接地

4.2 地址/数据(状态)引脚

AD15~AD0(pin2~16,39):时分复用,传输地址单向输出,传输数据输入或输出;时序细节此处略

 A19/S6 ~ A16/S3(Address/Status)(pin 35~38):书P35

4.3控制引脚:
NMI(pin 17)

INTR(pin 18)

CLK (pin19)

Reset(pin 21)

Ready(Pin22)

/TEST(Pin23)

/RD(pin32)

/BHE/S7(pin34)

MN//MX(pin33)

5.最小工作模式

MN//MX = +5V

外接15MHz晶振 -- 8284A时钟发生/驱动器三分频 -- CPU系统时钟

8284A也可产生 Ready与Reset

8282 -- 8位地址锁存器

8086 -- 20位总线 + /BHE信号??? -- 3片8282地址所存

8286三态输出的8位数据总线收发器 -- 增加驱动能力

8086 -- 2片;8088 -- 1片

5.1最小方式下,引脚功能

/INTA(pin24)

ALE(pin25)

/DEN(pin26)

DT//R(pin27)

M//IO(pin28)

/WR(Pin29)

HOLD(Pin31)

HLDA(Pin30)

6.最大工作方式

MN//MX为低电平

8288总线控制器 -- 协调主处理器和协处理器的工作

6.1引脚

QS1,QS0(pin24,25)

/S2、/S1、/S0(Pin26、27、28)

/LOCK(Pin29)

/RQ/GT1、/RQ/GT0(Pin30、31)

6.2 8288总线控制器

各命令信号与控制输入参考书P47

/AEN由总线仲裁器8289输入

MCE//PDEN?8259A

6.3 总线仲裁器8289

8089,8087(略,此处没看PPT)

8089配合8288确定每一时刻总线使用权

 

7.时序

时序 -- 信号高低电平(有效或无效)变化及相互间的时间关系

8.指令周期、总线周期与时钟周期

指令周期 -- 执行一条指令所需要的时间 -- 包括:取指令、分析指令、对操作数寻址、执行指令、保存操作结果

1个指令周期 -- 若干个总线周期

不同指令周期 -- 不同长度

总线周期 (机器周期) -- BIU通过总线与存储器或I/O接口进行一次数据传输所需时间

1个总线周期 -- 4个时钟周期

时钟周期(T状态) -- CPU处理动作的最小单位 -- 时间长度 = 主频倒数

9.8086总线时序

CPU操作 -- 指令译码输出的电位 -- 外面输入的时钟信号联合作用 -- 产生各个命令控制 下进行

包括:系统复位和启动、存储器读/写操作、IO设备输入输出周期、中断响应操作、空转周期

10.系统复位和启动

RESET引脚 -- 上升沿 -- 初始化状态 -- 直到RESET变低

内部引脚RESET -- 外部引脚RESET有效后的时钟上升沿有效

三态输出线(很多,记不下来),还有几条非三态线 -- 复位 -- 无效状态(不浮空)

8086/8088 -- RESET至少有4个时钟周期高电平(初次加电启动,至少50us高电平)

标志寄存器清0 -- 启动时需要指令设置有关标志

RESET高到低 --复位逻辑电路-- 7个时钟周期后 -- CPU启动,恢复正常工作 -- 0FFFF0H处执行程序

11.读总线周期(略)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值