微机原理与接口技术(课堂笔记) 第一章 微型计算机的一般工作过程、8080CPU 主要引线以及机构

目录

1.2 微型计算机系统

1.3 微型计算机的一般工作过程

2.1 8088 微处理器

2.2 8088 CPU 主要引线及机构

8088的内部结构:

#执行单元

#总线接口单元 BIU

#8088 的内部寄存器

## 段寄存器


1.2 微型计算机系统

外部设备:可以与CPU进行信息交换,但是不能直接与CPU进行信息交换

即必须通过输入输出接口 同计算机进行信息交换

脱机外存:离开计算机后还可以存储数据的设备 ,例如U盘

 为什么需要IO接口?

这是因为CPU是一个高速设备,外设是一个低速设备。高速设备和低速设备之间

直接相联速度不匹配。 因为往往一个外设配备一个IO接口,所以IO接口 和 外设

之间传输多长时间没关系,当IO接口接收完数据后,通知下CPU将数据取走即可。

当CPU需要向外设写入数据时,CPU一个周期将数据写入接口中,之后IO接口和

外设之间传输数据画多长时间CPU可以不管了,转身做自己的加减乘除了。

1.3 微型计算机的一般工作过程

2.1 8088 微处理器

8088/8086 CPU相对于早期CPU的特点:

1.可以实现指令并行流水线工作方式:通过设置指令预取队列

2.对内存空间进行分段管理:将内存分为4个段并设置地址寄存器,以实现对1MB空间

的寻址(实模式存储器寻址)

3.支持协处理器:协处理器主要用于浮点运算,是否支持协处理器取决于 CPU的工作模式

8088/8086 的两种工作模式:

最小模式:单处理器工作模式,所有控制信号 由微处理器自己来产生

最大模式:主处理器 和 协处理器 协同工作模式,由 总线控制器 将 主处理器的 一部分控制

信号分解 来控制协处理器。

ALE 地址锁存信号 ,当ALE 有效的时候,CPU 发出的 内存地址 就进入了 地址锁存器中,被锁

进去的内存地址 就会呈现 在 地址锁存器的输出端,这个输出端就连接着 外部总线的 地址总线

为什么需要 地址锁存?

一般使用地址锁存都是因为 发出地址信息 的通道 和 发出数据信息 的 通道 其实 是同一个通道

(多路复用)

所以为了 数据信息 不会覆盖掉 之前传输的地址信息 ,将地址信息锁存到了地址锁存器中

最大模式下 添加了总线控制器:

两种工作模式的选择:

注意:MN/MX 是一个引脚,MX上横杠 表示低电平有效 ,也就是说 MN/MX 这个引脚为 低电平

的时候工作 在最大模式下。

2.2 8088 CPU 主要引线及机构

最小模式下,地址总线 一共有20位

其中低八位 称为 AD0-AD7(A:adress,D:data),这些八位 地址信号 和数据信号 是分时复用的,一般

先传送地址信号  后 传送数据信号。这八根线既是地址总线 又是 数据总线。

其中高四位,地址信号 和  状态信号 是分时复用的

注意:8088CPU 的机器字长是16位,也就是说 CPU内部是可以16位数据同时处理的。

但是8088的数据总线只有8位,也就是说16位的数据需要分两次才能从CPU内部传输出去

#号 表示 上横线的意思,即低电平有效。

8088CPU 读和写 可能 针对的是内存 也可能针对的是 IO接口

所以除了读信号 和 写信号,还必须得有一个信号 指明 访问内存 还是 访问 IO接口

10/#M (是一个引脚)M表示Memory #表示当 该引脚为低电平时,CPU访问的是内存

当该引脚 加 高电平的时候,CPU读写的是 IO接口

8088CPU 并不是直接将数据发送给了 数据总线 ,而是先发给了数据收发器

#DEN 是数据收发器的工作信号,低电平时数据收发器开始工作

DT/#R 是 方向控制信号, DT:Direction R:Read

当该引脚为低电平时,数据读入 数据收发器 ,高电平时, 数据收发器 发出数据

READY信号:外部同步控制信号,

正常情况下,CPU访问一次内存 或者IO 接口 需要4个时钟周期(8088一个时钟周期大约0.2个微秒)

这四个时钟周期称为一个总线周期。

因为内存 和IO接口的速度 比 CPU慢很多,所以4个时钟周期内不一定能完成一次 内存 或者接口访问

当不能完成的时候,就需要 向4个时钟周期中增加 时钟周期。

当CPU访问内存或者接口时,CPU就会发出一个访问信号,当达到4个时钟周期中的第三个时钟周期时

CPU就会检查自己的Ready端引脚,如果发现Ready端是高电平,那么它就会送上第四个时钟周期,一次

访存结束。

如果发现Ready端是低电平,CPU就会在第三个时钟周期后面插入若干个时钟周期,让CPU等待

P18

8088的内部结构:

#执行单元

FLAGS 标志寄存器,保存运算结果特征

ALU:指令执行

8个通用寄存器:暂存中间运算结果

#总线接口单元 BIU

主要功能:总而言之,就是访问接口 或者内存用的

1.总线接口单元负责从内存中取指令 到 指令预取队列 队列中,直到指令与取队列填满。

这是BIU 就处于空闲状态了

而执行单元EU 则是不断从 指令预取队列中 取指令进行译码

指令预取队列实现了 EU 和 BIU 的并行流水线

但是因为我们只是预取了指令 而没有 预取数据,所以可能导致 并行流水线断流

2.负责访问内存 或者 访问IO接口

3.如果我们执行的指令是一个跳转指令,很有可能导致指令预取队列中取的指令白取了

进而导致流水线断流。

所以在执行转义程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给

EU执行

#8088 的内部寄存器

一共14个16位的寄存器,可以分为三类:

8个通用寄存器

4个段寄存器

2个控制器寄存器

## 8个通用寄存器:

通用寄存器不论叫什么名字, 不论有什么特殊用法,这些通用寄存器的一级作用都是暂存中间运算结果

  1. 数据寄存器(AX BX CX DX):一个数据寄存器可以分为两个8位寄存器
  2. 地址指针寄存器 (SP BP)
  3. 变址寄存器(SI DI)

### 数据寄存器

数据寄存器的特殊用法:

AX:累加器

所有IO指令 都通过AX 与接口 传送信息;

中间运算结果也多放在AX中

BX:基址寄存器

BX 使用时是非常灵活的,其中可能存放数据 也可能 存放数据在内存中 的地址

CX:计数寄存器

循环次数 一定要 放在CX中;

串操作指令的 计数值 也必须放在CX中

DX:数据寄存器

在输入输出指令(IO指令)中,DX的值一定代表的是IO端口地址

### 地址指针寄存器

SP:

栈指针寄存器,存栈顶的偏移地址

BP:

基址指针寄存器,常用于存 栈中内存单元的偏移地址

BP 和 BX 的区别:

1.作为通用寄存器,两者都可以存数据

2.作为基址寄存器,BX 表示所寻找的数据一定在 数据段 ,而BP则表示所寻找的数据一定在 栈段

### 变址寄存器

SI: 源变址寄存器

DI: 目标变址寄存器

变址寄存器常用来存放数据在内存中的地址

## 控制寄存器

IP 指令指针寄存器 ,其内容为下一条要取的指令的偏移地址

Flags 标志寄存器 ,存放运算结果的特征

6个状态标志位,3个控制标志位

### 状态标志位

注意 最低位为第0位

例题:

### 控制标志位

## 段寄存器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值