8086CPU内部结构以及与内存和磁盘的关系

Posted Mr song song

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8086CPU内部结构以及与内存和磁盘的关系相关的知识,希望对你有一定的参考价值。

这是自己学习汇编过程中的笔记,重点是把以前没有弄懂,以前不知道的知识记录下来!

笔记中还是有些参考其他的论坛知识或者书本知识,如有侵权,请告知,马上删除!

1.8086CPU内部结构

8086CPU由两个独立的功能部件组成:

总线接口部件BIU(Bus Interface Unit)

指令执行部件EU (Execution Unit)

如下图所示

指令执行部件(EU)

由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。

主要功能是执行指令:

一般顺序执行,EU不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。

需要访问存储器取操作数时,EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作;

遇到转移类指令时,要将指令队列中的后续指令作废,等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后,EU才能继续执行指令。

1.算术逻辑单元(ALU)

完成16位或8位的二进制运算;

16位暂存寄存器用来暂存参加运算的操作数。

运算结果通过内部总线送到通用寄存器组或BIU的内部寄存器中等待写入存储器。

经ALU运算后的结果特征置入标志寄存器中保存。

2.EU控制器

负责从BIU的指令队列中取指令,并对指令译码;

根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。

3.标志寄存器、通用寄存器组

具体的功能和用法参考我上一篇博客汇编基础

总线接口部件(BIU)

由地址加法器、专用寄存器组、指令队列缓冲器和总线控制电路等部件组成;

主要功能是形成访问存储器的物理地址,负责与外部(存储器或I/O接口)打交道。

正常情况下,BIU通过地址加法器形成指令的物理地址,从给定存储器地址中取出指令代码送指令队列缓冲器中等待执行(指令队列缓冲器中出现一个空字节,BIU将自动进行读指令的操作填满队列)

收到EU送来的操作数地址,BIU将立即形成操作数的物理地址,完成读/写操作数或运算结果功能。遇到转移类指令,BIU将指令队列缓冲器中的尚存指令作废,重新从存储器目标地址中取指令送指令缓冲器中。

1.指令队列

可存放6字节的指令代码。一般情况下指令队列中总是填满指令,使EU可不断地得到执行的指令。

2.16位地址加法器

专门用来完成由逻辑地址变换成物理地址的功能。实际上是进行一次地址加法,将两个16位的逻辑地址转换为20位的物理地址,以达到可寻址1M字节的存储空间。

3.总线控制电路

将8086CPU的内部总线与外部总线相连,是8086CPU与外部交换数据的必经之路。包括16条数据总线、20条地址总线和若干条控制总线。

由于EU和BIU可相互独立工作,大部分的取指令和执行指令操作可以重叠进行,故大大减少了等待取指令的时间,提高了微处理器的利用率和整个系统的执行速度。

2.内存

一台PC机中,装有多个存储器芯片,这些存储器芯片从物理连接上看是独立的、不同的器件。从读写属性上看分为两类:

随机存储器(RAM) 随机存储器可读可写,但必须带点存储,关机后存储的内容丢失;

只读存储器(ROM) 只读存储器只能读取不能写入,关机后其中的内容不丢失。

这些存储器从功能和连接上又可分为以下几类:

随机存储器

用于存放供CPU使用的绝大部分程序和数据,主随机存储器一般由两个位置上的RAM组成,装在主板上RAM和扩展槽上的RAM。

装有Bios(Basic Input/Output System,基本输入/输出系统)的ROM

BIOS是由主板和各类接口卡(如显卡、网卡等)厂商提供的系统软件,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口上插有存储相应BIOS的ROM。例如,主板上的ROM中存储着主板的BIOS(通常称为系统BIOS);显卡上的ROM中存储着显卡的BIOS;如果网卡上装有ROM,那其中就可以存储网卡的BIOS。

接口卡上的RAM

某些接口卡需要对大批量输入、输出数据进行暂时存储,在其中装有RAM。最典型的是显示卡上的RAM,一般称为显存。显示卡随时就将显示中的数据向显示器上输出。换句话说,我们将需要显示的内容写入显存,就会出现在显示器上。

如图所示,PC系统中各类存储器的逻辑连接情况

上述的那些存储器,在物理上是独立的器件,但是在以下两点上相同。

都和CPU的总线相连

CPU对它们进行读写的时候都通过控制总线发出内存读写命令

这也是说,CPU在操纵它们的时候,把它们都当作内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。

如图所示,CPU将系统中各类存储器看作一个逻辑存储器;

所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。

3.磁盘(外存)

外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等。

这些存储器和CPU的运行没有直接关系!

以上是关于8086CPU内部结构以及与内存和磁盘的关系的主要内容,如果未能解决你的问题,请参考以下文章

计算机内部存储关系理解

8086汇编 CPU内存交互

CPU,内存,磁盘,指令以及它们之间的关系

8080、8088、80286、80386CPU的数据总线分别为16跟,20根,24根,32根,为

计算机原始语言——汇编

计算机原始语言——汇编