当前课程知识点:微机原理与接口技术 >  第2周 8088微处理器 >  第9讲 8088 CPU主要引线及机构 >  8088 CPU内部结构

返回《微机原理与接口技术》慕课在线视频课程列表

8088 CPU内部结构在线视频

8088 CPU内部结构

下一节:8088 CPU内部寄存器

返回《微机原理与接口技术》慕课在线视频列表

8088 CPU内部结构课程教案、知识点、字幕

好 我们第二步来第二部分我们来介绍一下

8088CPU的内部结构

我们都知道

微处理器呢

不论是哪一种型号的处理器

它的内部都是由三个部分来组成的

就是控制器 运算器和内部的寄存器组

我们在这里给大家看一个

Pentium 4微处理器内部的结构

Pentium 4也是Inter公司的产品 对吧

8088也好 8086也好
也是Inter公司的产品

8088是和8086是

典型的第三代微处理器的代表

就是Inter公司的代表

当然同期还有其他公司的一些代表

那么Pentium 4呢

它属于第五代微处理器的典型代表

那么大家看一下这个图会发现它巨复杂

如果我们用这样子的一个

奔4 奔4还不是今天
离今天的CPU还有一些很大的距离

那么如果用这个来介绍

大家可能就觉得有点眼晕

但是不管怎么样

它实际上是8088的

在8088肩膀上成长起来的一个CPU

所以 它实际上有很多东西

是跟8088里头 长大了

慢慢复杂 在这个基础上一步步复杂出来的

我们来看一下这里头
这个东西就是我们刚才说的

8088在支持协处理器的时候

协处理器主要的工作就是做浮点运算

当然今天它已经不是个独立芯片了
已经在这个芯片里头了

这就是有关浮点运算的部件

其他呢我们后边马上讲到结构里头
我们会看到的

比如总线接口单元 比如指令译码

比如运算器 比如寄存器

在这里头都能看到影子

只不过它都是在8088的基础上慢慢的

复杂起来 扩大起来

就像一个人刚生下来的时候

他是小孩子 但是长大了以后

他个子会变得很高 力量会变的很大

但是他还是两个眼睛一鼻子

他并没有更多的变化 对吧
没有本质上的区别

这个也一样

好 所以下边我们来看一下8088的内部结构

我们说了 不论是哪一种型号的CPU

它在总的功能上都是包含了那三个部分

控制器 运算器和内部寄存器组

但是Inter公司的CPU呢

它在逻辑上

他们把它的内部又做了一些逻辑上的
功能上的划分

8088这个时代呢

它的功能上 它分成了

执行单元和总线接口单元

我们现在屏幕上左边的这个就是执行单元

右边的那个叫总线接口单元

执行单元的含义

显而易见 就是执行程序用的

那么总线接口是什么意思呢?

和总线打交道的

为什么要和总线打交道呢?

我们说总线是CPU外边
主要指的是CPU 总线就是通道对吧

所以一旦要跟总线打交道

意味着就要出去了

所以CPU出去能够直接出到哪呢?

无非是内存和接口

所以总线接口单元

其实就是为用于访问内存和访问接口的

就是名字就是这样子得出来的

我们来看一下这个图

这个图里头

左边这个执行单元 我们看最上面的这些

一个个的小格格

这些小格格我们都叫它

我们看到一个AX BX CX等等

旁边有一行字 叫通用寄存器

我们前面讲

讲寄存器的时候 我们大概说过

寄存寄存就是暂时存放数据的

我们也说为什么要有寄存器?
实际上我们举的那个例子就是

暂存中间运算结果

那么通用寄存器的主要功能

就是暂存中间运算结果来用的

那么在执行单元的下边有一个

像一个马蹄形的东西

这个叫ALU

其实我们前面也提到过

这叫算术逻辑单元的一个缩写

这个就是

主要用来运算

或者执行指令的

也就是说运算器的核心部件就在这里了

其他的还有一些寄存器

因为它不对程序员开放

所以我们比如这个暂存寄存器
它是它内部的 我们就不讲了

底下还有一个叫FLAGS

这个是什么?这个是

标志寄存器 它用来

保留运算结果的特征

也就是说两个数相加 比如有没有进位
结果是不是零 有没有溢出等等

这些特征都保留在FLAGS里头

还有一些就是它的

执行单元的一些控制逻辑

它负责指令的译码这些功能

这个右边的这个总线接口单元
我们看到它最上边

有一个叫地址加法器

这个地址加法器画的非常的形象

这个是人家Inter公司给出来的图

它好像这个倒过来的一个马蹄

相当于像有两条腿

一条腿进去的是个地址
另外一条腿又进去的是个地址

那么这左边这条腿进去从哪里来?
从底下的这些寄存器

大家看 CS SS DS等等

这些也是寄存器

这些寄存器是专用的寄存器 我们称为

段寄存器

我们后边讲寄存器的时候也会给大家介绍

底下还有一个叫IP

这个IP

就是我们前面已经看到过

好几次的那个程序计数器的一个

换了一个名字 它叫指令指针

我们等会后边也会给大家介绍

总之
整个这样一个内部结构里头分了这样两大部分

中间的这些实颜色实的这些线

就是它的片内的总线
也就是CPU内部的通道

声明一下 这个图

是一个示意图 并不是严格的原理图

所以下边我们

在这个图介绍了这么多的基础上
我们总结一下这两个部分

它的主要的功能

作为执行单元 它的主要功能就是

执行的指令 所以它里边包含了运算器

包含了8个通用寄存器

包含了标志寄存器

以及 执行单元这一部分的控制电路

所以它的主要的功能 就是指令译码

指令执行

暂存中间运算结果
以及保留运算结果的特征

这个就是执行单元 它的主要功能

它的 执行肯定是在

运算器里 也就是ALU里来完成的

它的中间运算结果的暂存
是在8个通用寄存器里做的

它的运算结果的特征

是在FLAGS里头做的

那么总线接口单元的功能什么呢?

我们从它的名字我们已经看出来

它就是和总线进行打交道

那么总线是一个通道

那么CPU要通过通道到哪里去?

无非就是要对外边进行访问

CPU能够访问的外边就是内存和接口

所以总线接口单元主要的功能

就是负责

访问内存或者访问接口的

访问内存和访问接口

我们比如访问内存 它可能干的工作

就是去读取指令

读取操作的对象

传送运算结果

访问接口 那么就是读取数据
或者是写入数据出去

对于这样的一个功能模块

它的 读取指令

它有一项特殊的一个部件

在帮助它完成这么一个工作

这个部件是什么呢? 叫指令预取队列

也就是说它的工作 首先它读取指令的时候

它通过对从外边把指令读过来

它并不是把指令直接经过译码

之后送给CPU去执行

送给运算器去执行

而是把指令读过来以后 先放到了这样一个

我们现在这个红线

所括起来的这样一个预取队列里

这个预取队列的作用是什么?

预取队列的作用

就是用来展示存放指令

我们说队列的作用就是排队 对吧

先进去的先出来

那么现在这里
我们假设现在我们读取的是第一条指令

咱们读取之前这个队列是空的

现在这个队列有四道

每一道代表着一个字节
也就是说每一道里面

可以放一条指令吧

那么好 我们读取的第一条指令进来

因为队列是空的 所以它就从最后

咵咵咵的一直走到最前头 然后就出去

出去到哪里呢?进入到运算器

去指令译码 然后指令执行

然后呢

指令译码或者指令执行的时候

那么这个队列一直是空的了

BIU也就空闲了

它就立刻又去读了第二条指令

第二条指令如果读过来

像我们前面讲指令的执行几个步骤
的时候我们说过

如果它读过来指令译码部件
正好译码结束

那么它就接着就送去译码了

那么如果这个时候译码部件没有译码结束

那么它就把它放在了现在

这个队列的最排头这个位置等着

然后呢 因为后边队列还有空闲

它就又去读第三条指令

这样子一直读 如果假设它四条指令

都读过来 队列都已经满了

你前面那条指令的译码还没结束

那大家就只好等着了

那一般情况下不会这样 对吧

所以它就 如果译码结束以后

开始执行那条指令的时候

第二条指令就直接从队列里取

因为有了个这样一个队列的存在

所以呢

我们就实现了

执行指令 指令译码和读取指令

并行工作的这样一个可能

这就是我们今天 实现流水线技术

或者说流水线工作方式

它的一个早期的阶段

当然这个早期

我们想象一下 如果每一次

读取的指令过来

指令译码正好结束

然后它就去译码 译码完了以后

那条指令的前面的那一条指令
的执行正好完成

那就接着去完成了

那么这样子过去
好像像一个水管里的水一直就不断流

但是实际上是不太可能的

这种 仅仅靠这样的指令预取队列

无法做到指令的不断流

因为我们预取了指令

但是没有预取数据

所以如果

这条指令执行 取过来的这条指令

经过译码 发现它要执行的对象

不是对外的数据 它就自己去执行了

然后下面一条指令也是它内部去处理的
也不需要对外访问

好像这个指令就可以每一次都从队列里去取

它就每一次都不断流

看上去很好

但是如果

它指令译码 发现这条指令是做加法运算

加法运算 就有加数和被加数

那么这个时候它就需要到内存再去取数据

那么因为数据并没有预取
所以这个时候大家就只好停下来了

所以 这样的一个并行流水线方式

仅仅靠这样的

指令预取队列是没有办法实现的

但是毕竟它开拓了这样一种思路

也就是说为今天的流水线的技术打下了基础

今天的CPU里头 不仅仅能够指令预取

还能够实现数据的预取

而且呢 我们现在还有一个问题
需要请大家考虑

如果我们每一次预取

大家我们说 第一条指预取过来 好被执行

接着第二条指令预取 第三条指令预取

当队列里只要出现两个空

它就可以去预取

这样的话

BIU和EU两个部分就可以并行的工作

但是呢

如果我们

BIU辛辛苦苦的预取过来的指令

好 结果它的前一条指令

去经过译码 发现它是转移类指令

那就是说转移到别的地方去了

那么你刚刚预取过来这条指令就不是
要被执行的指令

那么这个时候就等于白取了

所以这个时候也需要再去重新取

也就是说流水线也断流了

那么对于这样子的方式

我们今天的CPU里也采用了

软件硬件相结合的方式来处理

比如刚才我们看到那个Pentium 4内部的结构里头

有一些分支预测这样的技术

也就是说它可以预测

下一条指令是不是有转移或者是

循环等等这样子的一些指令

当然这个要借助编译器里边的功能来实现

总而言之 今天的CPU

通过软件的方式 软硬件的结合的方式

以及硬件的方式

能够基本上做到这个流水线

不再断流的这样的可能

但是在8088这个时代

流水线是肯定会断流的

但是它毕竟有了这样一个先河

也就是说有了指令并行处理

的这样一个可能性

这个是它非常重要的一个贡献

所以BIU这一部分

通过地址加法器

它能够实现将两个16位地址合成

大家关注一下那个图会发现

它的输出端是20位的地址

也就是我们的A0到A19

也就是说它能够把

利用16位的体系结构产生出20位的地址来

这是它的第一大

那么总线接口单元的下边

通过设置指令预取队列

能够实现

指令的并行执行

这样子的一个模式

这就是BIU这一部分它的主要功能

总而言之简单的一句话
它就是用来访问接口或者访问内存用的

好了 我们对它的内部结构做一个总结

说了这么多 对吧

首先 通过指令预取队列的存在

能够使得BIU跟EU

能够并行进行工作

也就是说 BIU去取指令的时候

EU能够同时进行指令译码和指令执行

这也就是 因为它们两者都属于CPU内部

所以 也就实现了CPU内部主要三大部件

就是指令译码 指令执行和取指令这三大部件

能够并行工作 这样的成为一种可能

这也就是今天实现指令并行执行的基础

就是因为有了指令预取队列

因为有了这样子指令预取队列的存在

或者说因为有了这样

指令并行执行的可能性

所以 它提高了CPU的整个的效率

这是毫无问题的

第二 它降低了对存储器存取速度的要求

这一点怎么解释呢?

我们说

因为如果我们希望我们现要到内存去过来
这边等着计算

那么我们当然希望内存的速度越高越好
我们总线的效率越高越好

这样我们就快速的拿过来 这边就执行

但是因为我们有了预取

所以我们可以事先把它拿过来放在这里

因为队列到ALU

这都是在CPU内部的 它们之间去取

那个时间是可以忽略不计的

所以这样的话 我们就可以把

让内存的速度不要一定有那么高

因为不一定有那么高

也就是说因为降低了内存的要求

所以我们内存的成本就会便宜一点

我们整个买计算机要的花销也就小一点

好了这就是8088CPU最小模式下

它的主要引线的功能

以及它的内部的结构给大家简单地介绍到这里

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

8088 CPU内部结构笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。