8086的存储组织简介

8086的存储组织简介

在高档32位微机时代,再仔细讨论8086的存储器组织意义已不大,但是对有助于理解32位微型计算机存储器系统的内容做一些介绍还是必要的。

8086是标准的16位CPU,数据总线宽度为16位,从发挥CPU工作效率的角度考虑,和存储器的数据交换应是16位的。但是,出于程序设计的需要,8086的指令系统中还设有对存储器进行字节访问的指令,而指令本身也有单字节的(单字节指令),因此,在进行存储器设计时,要求既能进行16位的访问,又能进行

8位的访问。实际上,Intel公司在设计8086时已经做了基础安排,用作为高8位数据的选通信号,用A0兼作低8位数据的选通信号。在存储器中,一个存储单元只能和cPu的一组数据线(低8位或高8位)相连,和低8位相连的用AO选通,所以这些存储单元的地址都是偶地址(AO为0,选通低8位数据线);和高8位相连的用选通,所以这些存储单元的地址都是奇地址(这时A0 不能为0,否则低8位数据线也被选通)。也就是说,存储器中所有偶地址的字节都应该用A0选通,所有奇地址的字节都应该用选

通。由此可见,在物理结构上,8086的1 MB寻址空间应分成两个

https://www.360docs.net/doc/ff19267428.html,

独立的512 KB的存储体,如图3.33所示。它们分别称为低位存储体和高位存储体。地址线A19~Al同时接到两个存储体,作为体内寻址。两个体的选择由A0和控制。

按这种结构组织的存储器,对字节的访问是显然的。下面看对16位字的访问。在存储器中,一个16位字总是放在地址相邻的两个存储单元中,根据刚才所讲,这两个存储单元分别位于两个存储体。对偶地址字(字

的低位字节的地址为字地址)的访问只需一个总线周期,该周期内AO、均为低电平,共同选通16位数据线。而对奇地址字的访问则需两个总线周期,第一个总线周期传送该字的奇地址字节,第二个总线周期传送偶地址字节。当然,这种操作是机器自动进行的,对用户透明。不过,了解这一点,有助于更好地编写程序。

https://www.360docs.net/doc/ff19267428.html,

需要指出,如果既要进行字访问,又要进行字节访问,那么不管8086实际所配的存储容量多少,都必须分成两个物理存储体,并且对存储系统中不同类型(指SRAM、DRAM和ROM。)部分,也必须各自分成两个物理存储体。图3.34所示是8086最大模式时存储器构成的一个例子。图中的6264是8 K×8位SRAM芯片,它有两个极性相反的片选信号;2732是4 K×8位EPROM芯片,它和2716用法一样,只是存储容量扩大了一倍,多了一根地址线。

DRAM与CPU的连接

比起SRAM,DRAM与CPU相连时需要多考虑两点,一是刷新,二是行、列地址分时传送。图3.32所示是一个用16片2164(64 K×l位)构成128 KB DRAM的示例。

2164是“×l位”结构,每8片可组成64 KB的存储空间。一组中每片的数据输入线和数据输出线应连在一起,再分别和CPI.7的相应的一根数据线相连;8片的RAS、CAS、WE分别连在一起,用来同时对8片进行操作。

因为2164内部的行地址和列地址是分别锁存的,所以应将行地址和列地址分时送出,图中的行/列多路器用来完成此功能。又由于2164是DRAM,需要刷新,所以用刷新多路器对CPU正常读/写的行地址和刷新用的行地址进行选择。刷新行地址是由刷新时钟对刷新计数器计数产生。

这里突出了行、列地址分时送出及刷新行地址的产生。至于RAS和CAS的产生,和sRAM有相同之处,即除了进行片内寻址的低位地址线(A15~A0)外,由高位地址进行译码产生,但要考虑RAS和CAS的时序配合问题。

上面分析了和动态RAM相连从原理上需要外加的电路。实际上,这些电路早已被包括在集成化的动态RAM 控制器中。例如,Intel 8203就是用来支持8086/8088 CPU和2164、2118(16 K×1位)等DRAM相连的控制器。在现代微型计算机中,动态RAM控制器被集成在称为控制芯片组的逻辑中。 https://www.360docs.net/doc/ff19267428.html,

https://www.360docs.net/doc/ff19267428.html,

主存与Cache的地址映像

与主存容量相比,Cache的容量很小,它所保存的信息仅是主存信息的一个子集,且cache与主存的信息交换是以块为单位。为了把信息放到Cache中,必须事先规定好主存与cache之间的地址映像方式,即某一个Cache块可以作为哪些主存块的副本(即映像)。映像方式一旦确定,就决定了访问Cache时对主存地址的理解,因而也就决定了Cache的组织结

构。目前有三种地址映像方式:直接映像、全相联映像和组相联映像。

1.直接映像(Direct Mapping)

采用直接映像时,Cache的某一块只能和固定的一些主存块建立映像关系,主存的某一

块只能对应一个Cache块(如图3.37所示)。图3.39实际表示了采用这种映像方式的访存

过程。直接映像的优点是硬件简单、成本低;缺点是不够灵活,主存的若干块只能对应惟一

的Cache块,即使Cache中还有空位,也不能利用。

2.全相联映像(Associative Mapping)

采用全相联映像时,Cache的某一块可以和任一主存块建立映像关系,而主存中

某一块也可以映像到(2ache中任一块位置上。图3.40

是全相联的映像关系示意图。图3.41表示了

采用这种映像方式的访存过程。由于Cache的

某一块可以和任一主存块建立映像关系,所以

Cache的标记部分必须记录主存块块地址的全

部信息。例如,主存分为2n块,块的地址为n

位,标记也应为n位。

采用全相联映像方式时,主存地址被理解

为由两部分组成:标记(主存块号)和块内地址。

cPU在访问存储器时,为了判断是否命中,主存地址的标记部分需要和Cache的所有块的标记进行比较。为了缩短比较的时间,将主存地址的标记部分和Cache的所有块的标记同时进行比较。如果命中,则按块内地址访问Cache中的命中块(其标记与主存地址给出的标记相同);如果未命中,则访问主存。

全相联映像的优点是灵活,Cache利用率高。缺点有两个:一是标记位数增加了(需要记

录主存块块地址的全部信息),使得Cache的电路规模变大,成本变高;二是比较器难于设计https://www.360docs.net/doc/ff19267428.html, 和实现(通常采用“按内容寻址的”相联存储器)。因此,只有小容量Cache才采用这种映像

方式。

3.组相联映像(Set Associative Mapping)

组相联映像方式是介于直接映像和全相联映像之间的一种折中方案。设Cache中共有

m个块,在采用组相联映像方式时,将m个Cache块分成u组(set),每组k个块(即m=u

×k),组间直接映像,而组内全相联映像(如图3.42所示)。所谓组间直接映像,是指某组中

的Cache块只能与固定的一些主存块建立映像关系。这种映像关系可用下式表示:

i=j mod n

其中i为Cache组的编号,j为主存块的编号,u为Cache的组数。例如,Cache第0组只能和

满足i mod u=0的主存块(即第0块、第u块、第2u块……)建立映像关系,Cache第1组只

能和满足i mod u=1的主存块(即第l块、第u 1块、第2u l块……)建立映像关系。所

谓组内全相联映像,是指和某Cache组相对应的主存块可以和该组内的任意一个Cache块建

立映像关系。

Cache的工作原理

1.Cache的引入

请注意下面两种情况:

①大容量主存一般采用DRAM,相对SRAM速度慢,而SRAM速度快,但价格高。

②程序和数据具有局限性,即在一个较短的时间内,程序或数据往往集中在很小的存储器地址范围内。

因此,在主存和CPU之间可设置一个速度很快而容量相对较小的存储器,如图3.35所示。在其中存放CPU 当前正在使用以及一个较短的时间内将要使用的程序和数据,这样,可大大加快CPU访问存储器的速度,提高机器的运行效率。

2.Cache的基本原理

Cache与主存都分成块(常常将Cache块说成Cache行),每块由多个字节组成,大小相等。在一个时间段

内,Cache的某块中放着主存某块的全部信息,即Cache的某一块是主存某块的副本(或叫映像),如图3.36所示。

Cache除数据部分外,还应记录放在某块中的信息是主存中哪一块的副本。因此,还应有第二个组成部分,即标记(tag)——记录主存块的块地址信息。

采用Cache后,进行访问存储器操作时,不是先访问主存,而是先访问Cache。所以存在访问Cache时对主存地址的理解问题(指物理地址)。由于Cache数据块和主存块大小相同,因此主存地址的低地址部分(块内地址)可作为Cache数据块的块内地址。

对主存地址的高地址部分(主存块号)的理解与主存块和Cache块之间的映像关系

https://www.360docs.net/doc/ff19267428.html,

(mapping)有关。这里考虑一种最简单的情况——直接映像,例如(见图3.37),将主存空间分成4 096块,块编号应是地址码的高12位,写成十六进制为000H~FFFH。按同样大小,将Cache分成16块,块编号为OH~FH。映像关系约定见表3.7。这就是说块编号十六进制的第三位相同的主存块(共256块)只能和该位数码所指定的Cache块建立映像关系。根据这种约定,某一主存块和Cache建立起映像关系时,该Cache 块的标记部分只需记住主存块的高2位十六进制数。例如,第010H号主存块当前和Cache第0块建立起映像关系,则Cache第0块的标记部分只需记住01H。由此可见,当用主存地址访问Cache时,主存的块号可分解成Cache标记和Cache块号两部分。因此,主存地址被理解成图3.38所示的形式。

下面结合该映像关系的例子和图3.39来说明Cache的工作原理。设当前010号主存块在Cache中,即它和Cache的第0块建立起映像关系。现要对两个主存地址单元进行读操作,第一个地址的高3位(十六进制)为0lOH,第二个地址的高3位(十六进制)为020H。

CPU进行读操作时,首先用主存地址的中间部分——Cache块号找到Cache中的一块(对此例,为第0块),读出此块的标记(对此例,现在为01H),然后拿它与主存地址的高位部分——标记进行比较。对于第一个主存地址,比较的结果是相等的。这表明主存地址规定的块在Cache中(有副本),这种情况称为命中。此时用主存地址的低位部分——块内地址从Cache块号所选择的块中读取所需的数据。对于第二个主存地址,

比较的结果不相等。

这表明主存地址所规定的块不在Cache中,称为未命中,这时需要访问主存,并且将含有该地址单元的主存块的信息全部装入Cache的第0块,并修改第0块Cache标记,使其值为02H。

通过上面的例子,可以这样来描述(2ache最基本的工作原理:在存储系统中设置了Cache的情况下,CPU 进行存储器访问时,首先访问Cache标记,判是否命中,如果命中,就访问Cache(数据部分),否则访问主存。

将访问的数据在Cache中的次数(即命中的次数)与总的访问次数之比称为命中率。影响命中率的因素主要有三个:Cache的容量、Cache块的划分以及Cache块与主存块之间的映像关系。一般来说,Cache的容量大一些,会提高命中率,但达到一定程度时,命中率的提高并不明显。目前,一般为256 KB或512 KB,命中率可达98%左右。

下面还是通过例子来说明引入Cache块的好处。已知Cache的存取周期为50 ns,主存的存取周期为250 ns。设命中率为98%,即100次访问存储器的操作有98次在Cache中,只有2次需要访问主存,则这100次访问存储器操作的平均存取周期为(50 ns×98 250 ns×2)÷100=54 ns。由此可见,由于引入了Cache,使得CPU访问存储器的平均存取周期由不采用Cache时的250 ns降到了54 ns。也就是说,以较小的硬件代价使Cache/主存储器系统的平均访问时间大大缩短,从而大大提高了整个微机系统的性能。https://www.360docs.net/doc/ff19267428.html,

需要指出,Cache的功能全部由硬件实现,涉及Cache的所有操作对程序员都是透明的。

3.Cache的读/写操作

CPU进行存储器读操作时,根据主存地址可分成命中和未命中两种情况。对于前者,从Cache中可直接读到所需的数据;对于后者,需访问主存,并将访问单元所在的整个块从内存中全部调入Cache,接着要修改Cache标记。若Cache已满,需按一定的替换算法,替换掉一个旧块。

CPU进行存储器写操作时,也可分成两种情况。一是所要写入的存储单元根本不在Cache中,这时写操作直接对主存进行操作(与Cache无关);二是所要写入的存储单元在Cache中。对于第二种情况需做一些讨

论。Cache中的块是主存相应块的副本,程序执行过程中如果遇到对某块的单元进行写操作时,显然应保证相应的Cache块与主存块的一致。

这里有两种处理方式。一是暂时只向Cache写入,并用标志注明,直到这个块被从Cache,中替换出来时,才一次写入主存,称之为回写式;二是每次写入Cache的同时也写入主存,称之为通写式。两种方式各有优缺点。回写式占用总线时间少,写速度快,但不能随时保证Cache与主存保持一致,如果此期间发生DMA 操作,则可能出错(DMA操作将在第四章介绍,暂时可将其理解为在输入/输出设备与存储器之间直接进行数据传送,这种操作不需要CPU参与。所以,可能出现CPU和DMA控制器同时访问同一主存块的情况);通写式可使Cache块和主存块始终保持一致,但占用总线时间长,总线冲突较多。

替换算法

当新的主存块需要调入Cache,而此刻Cache可用的位置已占满时,就需要替换掉原先

的某一主存块。硬件实现的替换算法主要有以下三种:

1)最不经常使用(LFu)算法

LFU(Least Frequently Used)算法是将一段时间内被访问次数最少的那块数据替换出去。为此,每块设置一个计数器。计数器从0开始计数,每访问一次,被访问块的计数器加1。

当需要替换时,比较一组内所有块的计数器的值,将计数值最小的块替换掉,同时将该组内

所有块的计数器都清0。这种算法将计数周期限定在一组内的两次替换之间,因而不能真

实反映近期访问情况。

2)近期最少使用(LRU)算法

LRU(Least Recentlv Used)算法是将一组中近期最少使用的块替换出去。为此,每块也设

置一个计数器,但每命中一次,命中块的计数器清0,而组内其他块的计数器加1。当需要替

换时,比较一组内所有块的计数器的值,将计数值最大的块替换掉。这种算法保护了刚拷贝

到cache中的新数据块,符合Cache的工作原理,因而使Cache具有较高的命中率。

对两路组相联的Cache来说,LRU算法的硬件实现可以简化。因为一个主存块只能在

一个特定组的两块中进行存放选择,2选l不必用计数器,用一个二进制位(称为LRU位)即

可。例如,规定一组中的A块拷贝了新数据时将LRU位置1,B块拷贝了新数据时将LRU位

置0。当需要替换时,只需检查LRU位:为0替换A块,为1替换B块。实现了保护新块的

原则。

3)随机替换

这种算法不考虑使用情况,在组内随机选择一个块作为替换对象。这种算法在硬件上

容易实现,且速度比前两种算法快;缺点是随意换出的数据很有可能马上又要使用,从而降

低了命中率和Cache的工作效率。

微机原理知识点总结

何谓计算机? 计算机是一种能够自动进行算术和逻辑运算的电子装置。 关键词:电子装置、运算、自动计算机特点:二进制、高速 计算机的编码系统。 运算是计算机的核心功能。它所有的扩展功能都和编码有关。 计算机中只能存储和处理二进制数码,一些数据、字符、汉字、图像声音等信息在计算机中都是用规定好的二进制组合代码来表示的,称为计算机的编码系统。 计算机硬件由运算器、控制器、存储器、输入设备、输出设备五大基本部件组成: 计算机分类: 超级计算机、大型计算机、小型计算机、微型计算机或个人计算机 嵌入式计算机 是目前发展最快, 应用最普及的计算机。 微型计算机或个人计算机 CPU是电脑的核心,即中央处理器。 微型计算机的应用:1、科学计算2、信息处理3、计算机辅助技术4、过程控制 5、人工智能 6、网络通信 总线是计算机系统模块化的产物。分时和共享是总线的两个基本特性。 系统总线包括:地址总线、数据总线、控制总线。

微型计算机的性能指标:1. 运算速度2. 字长(目前常用的微型机都是32位或64 位。) 3. 存储器的容量 常见的寄存器有:缓冲寄存器、移位寄存器、计数器、累加器。 微型计算机的软件系统: 计算机软件是指支持计算机运行的各种程序,以及开发、使用和维护这些程序的各种技术资料的总称。计算机的硬件和软件二者缺一不可,否则不能正常工作 系统软件的主要功能是简化计算机操作,充分发挥硬件功能,支持应用软件的运行并提供服务。 应用软件处于软件系统的最外层,直接面向用户,为用户服务。应用软件是为了解决各类应用问题而编写的程序,包括用户编写的特定程序,以及商品化的应用软件和套装软件。 程序设计语言,是人机交流信息的一种特定语言。在编写程序时用指定的符号来表达语义。 8086 微处理器的内部结构 1.构成:8086 由执行部件(EU)和总线接口部件(BIU)组成。 2.功能:执行部件(EU)负责指令的执行,总线接口部件(BIU)负责对总线的操作,进行与存储器或I/O 接口的数据交互。

8086结构组成

8086结构组成 8086是一款16位微处理器,它的结构组成非常复杂。本文将从以下几个方面来详细介绍8086的结构组成。 一、总体结构 8086由三个主要部分组成:执行单元(EU)、总线接口单元(BIU)和寄存器组。 1.执行单元:负责执行指令并进行算术和逻辑运算。 2.总线接口单元:负责与外部设备通信并控制数据传输。 3.寄存器组:包括通用寄存器、段寄存器和指令指针寄存器等。 二、执行单元 1.指令队列 指令队列是执行单元中的一个重要部分,它可以存储多条指令,以便快速地进行取指令操作。当EU需要执行一条新的指令时,它会从队列

中取出下一条指令并开始执行。 2.算术逻辑单元 算术逻辑单元(ALU)是执行单元中的核心部分,它可以进行各种算术和逻辑运算,如加、减、乘、除、与、或等操作。ALU还可以处理条件跳转和无条件跳转等控制操作。 3.状态标志寄存器 状态标志寄存器(FLAGS)用于记录ALU运算的结果,以便EU进行下一步操作。FLAGS寄存器包括零标志位、进位标志位、溢出标志位等。 三、总线接口单元 1.地址加法器 地址加法器(AFA)是BIU的核心部分,它可以将内部地址转换为外部地址,并控制数据传输。 2.指令缓存器

指令缓存器(IC)用于存储从内存中读取的指令。当EU需要执行一条新的指令时,BIU会从IC中取出相应的指令并传输给EU。 3.数据缓存器 数据缓存器(DC)用于暂时存储从内存中读取或写入的数据。当EU 需要访问内存时,BIU会将相应的数据传输到DC中,EU再从DC中读取或写入数据。 四、寄存器组 1.通用寄存器 8086有8个16位通用寄存器,分别命名为AX、BX、CX、DX、SI、DI、BP和SP。这些寄存器可以用于保存临时数据和计算结果等。 2.段寄存器 8086有4个16位段寄存器,分别命名为CS、DS、ES和SS。这些寄存器用于保存程序和数据在内存中的位置信息。 3.指令指针寄存器

8086简介

第二章8086微处理器 【回顾】微型计算机及微机系统的组成、结构与工作过程,CPU的基本概念与一般结构。本讲重点8086微处理器的一般性能特点,内部编程结构的两大组成部分及在信息处理中的相互协调关系,处理器状态字PSW及各个标志位,8086微机系统的存储器组织。一、8086微处理器 1.引言 8086微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,两种处理器都封装在相同的40脚双列直插组件(DIP)中。 2.8086微处理器的一般性能特点: 16位的内部结构,16位双向数据信号线; 20位地址信号线,可寻址1M字节存储单元; 较强的指令系统; 利用第16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口; 中断功能强,可处理内部软件中断和外部中断,中断源可达256个; 单一的+5V电源,单相时钟5MHz。 另外,Intel公司同期推出的Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8088微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。 3.8086CPU的编程结构 编程结构:是指从程序员和使用者的角度看到的结构,亦可称为功能结构。 如图2-1所示是8086CPU的内部功能结构。 从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。 (1) 执行部件(EU) 功能:负责指令的执行。 组成:包括①ALU(算术逻辑单元)、②通用寄存器组和③标志寄存器等,主要进行8位及16位的各种运算。

简述8086内部寄存器结构

简述8086内部寄存器结构 8086内部寄存器结构是指8086微处理器中用于存储和处理数据的寄存器的组织方式。8086处理器是Intel公司于1978年推出的一款16位微处理器,是后来x86系列处理器的祖先。它的内部寄存器结构包括通用寄存器、指针寄存器、索引寄存器、段寄存器和标志寄存器。 首先是通用寄存器,8086处理器有四个16位的通用寄存器,分别是AX、BX、CX和DX。其中AX寄存器是累加器,用于存储算术运算的结果;BX寄存器是基址寄存器,常用于存储偏移地址;CX 寄存器是计数器,用于循环和计数操作;DX寄存器是数据寄存器,用于存储数据。 其次是指针寄存器,8086处理器有两个16位的指针寄存器,分别是SP和BP。SP寄存器是堆栈指针寄存器,用于指向堆栈的栈顶;BP寄存器是基址指针寄存器,常用于指向栈帧的基址。 再次是索引寄存器,8086处理器有两个16位的索引寄存器,分别是SI和DI。SI寄存器是源索引寄存器,常用于指向源操作数;DI 寄存器是目的索引寄存器,常用于指向目的操作数。 然后是段寄存器,8086处理器有四个16位的段寄存器,分别是CS、DS、ES和SS。CS寄存器是代码段寄存器,用于存储代码段的段地址;DS寄存器是数据段寄存器,用于存储数据段的段地址;

ES寄存器是附加段寄存器,常用于存储附加数据段的段地址;SS 寄存器是堆栈段寄存器,用于存储堆栈段的段地址。 最后是标志寄存器,8086处理器有一个16位的标志寄存器,用于存储处理器的状态信息。标志寄存器中的各位表示不同的状态,如进位标志、零标志、符号标志等。这些标志位可以被程序读取和设置,用于控制程序的执行。 这些寄存器之间可以相互传递数据,实现数据的存储和处理。通用寄存器可以进行算术和逻辑运算,指针寄存器和索引寄存器常用于存储和访问内存中的数据,段寄存器用于访问不同的内存段,标志寄存器用于控制程序的执行。 8086内部寄存器结构的合理设计,使得处理器具有较强的数据处理和运算能力,并且能够有效地访问内存中的数据。这为后来x86系列处理器的发展奠定了基础,也为计算机系统的性能提升做出了贡献。

微机原理

第一、二章 运算器和控制器称为中央处理器 中央处理器的功能: (1)指令执行顺序的控制 (2)指令操作的控制(对指令进行译码并执行规定的动作) (3)操作时间的控制(提供系统的定时和控制) (4)数据的加工处理(能和存储器、外设交换数据进行算术和逻辑运算) (5)可以响应其他部件发来的中断请求 微型计算机是以微处理器为核心,配上存储器、输入/输出接口电路及系统总线所组成。 微型计算机系统的三个层次;以微型计算机为主体,配上输入/输出设备及软件系统就构成了微型计算机系统 8086微处理器:一个大规模集成电路芯片;内含控制器、运算器和寄存器等;微机中的核心芯片 8086CPU编程结构:由两部分即指令执行部件EU和总线接口部件BIU组成 8086 系统存储器组织结构: 1)分段技术 2)内存可以分为16个逻辑段,每个逻辑段为64KB 3)物理地址计算段地址×16 + 偏移地址 逻辑地址由段基地址和偏移地址两部分组成,表示形式为: 段基地址:偏移地址 物理地址= 段基址×16 + 偏移地址 如: 逻辑地址: 1000H:0020H 物理地址: PA=10000H + 0020H=10020H CPU访问内存单元时使用物理地址,编制程序时使用的是逻辑地址。 8086CPU在执行复位信号后,将从FFFF0H开始执行程序。 微型计算机的性能指标: 字长:字长就是计算机一次能处理的二进制数的位数;字长标志着计算机的计算精度。 存储器容量:存储容量是衡量存储器存放二进制信息大小的一个重要指标,通常用该内存储器所能存储的字数及其字长的乘积来表示, 即 : 存储容量=字数×字长 存储容量一般是以字节为单位来表示的 运算速度:运算速度是微型计算机结构性能的综合表现,它是指微处理器执行指令的速率。外设扩展能力 软件配置 总线概念:总线是一组规定信号线的集合。 第四章 例:建立一个 0~9 的平方表,求 5 的平方。 DATA SEGMENT TAB DB 00,01,……,81 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA

8086微处理器的功能与结构

8086微处理器的功能与结构 四、80x86微处理器的结构和功能 (一)80x86微处理器 1.8086/8088主要特征 (1)16位数据总线(8088外部数据总线为8位)。 (2)20位地址总线,其中低16位与数据总线复用。可直接寻址1MB存储器空间。 (3)24位操作数寻址方式。 (4)16位端口地址线可寻址64K个I/O端口。 (5)7种基本寻址方式。有99条基本指令。具有对字节、字和字块进行操作的能力。 (6)可处理内部软件和外部硬件中断。中断源多达256个。(7)支持单处理器、多处理器系统工作。 2.8086微处理器内部结构 8086微处理器的内部结构由两大部分组成,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。和一般的计算机中央处理器相比较,8086的EU相当于运算器,而BIU则类拟于控制器。 3.8086最小模式与最大模式及其系统配置 最小模式在结构上的特点表现为:系统中的全部控制信号直接来自8086CPU。 与最小模式相比,最明显的不同是系统中的全部控制信息号不再由8086直接提供,而是由一个专用的总线控制器8288输出的。 4.8087与8089处理机简述 (1)8087协处理机 8087协处理机与8086组合在一起工作,以弥补8086在数值运算能力方面的不足,所以它又称为协处理机。 (2)8089I/O处理机 8089是一个带智能的I/O接口电路,相当于大型机中的通道,它

将CPU的处理能力与DMA控制器结合在一起。它具有52条基本指令,1MB的寻址能力,包含两个DMA通道。 8089也可以与8086联合在一起工作,执行自己的指令,进行I/O 操作,只在必需时才与8086进行联系。在8089的控制下,可以进行外设与存储器之间、存储器与存储器之间以及外设与外设之间的数据传输。同时,8089还可以设定多种终止数据传输的方式。 5.总线时序 一个基本的总线周期包括4个时钟周期,即4个时钟状态T 1 、T 2 、T 3 和T 4 。 (二)80286\80386\80486微处理器 1.80286微处理器 (1)80286的特征 80286是一种高性能的16位微处理器,向上兼容8086/8088,可以有效地利用8086系列软件。80286引入虚拟地址空间的概念,具有存储器管理功能,能为每一个任务分配多达1G字节的虚拟地址空间并映射到16M字节的物理地址中去。80286具有保护功能,可对段的边界、属性和访问权等进行自动检查,通过四级环结构和任务之间相互隔离,可建立可靠性高的系统软件。80286具有高效率的任务转换功能,适用于多用户、多任务系统。80286工作时钟为8~12MHz,工作时钟多样化,便于组成高性能价格比的系统。 (2)80286的结构 80286内部结构中,除了EU执行单元外,总线接口部件BIU又细分成地址部件AU、指令部件IU和总线部件BU。(3)80286的工作方式 80286微处理器有两种工作方式:实地址方式和保护虚拟地址方式。 2.80386微处理器 (1)80386的特征 80386是一种灵活的32位微处理器,可以处理8位、16位、32位等多种类型的数据,有8个32位通用寄存器。80386可直接输出32位的物理地址,最大可支持4GB字节的物理内存空间。

第2章 学习指导习题解答

第2章微处理器及其结构 本章介绍了8086、80486和Pentium微处理器的内部结构、寄存器结构、存储器组织及输入/输出结构、工作模式及总线操作时序。 重点与难点 本章的重点是80486微处理器的内部结构、寄存器结构、存储器组织、输入/输出结构和微处理器的工作模式,难点是实地址工作模式下存储器的寻址。具体内容如下:1.8086微处理器 总线接口部件和执行部件的功能,通用数据寄存器、指针及变址寄存器、段寄存器和指令指针的名称及用途,标志寄存器中各个标志位的意义,存储器的分段及物理地址的形成。8086 CPU存储器的名称及功能见表。 表8086寄存器及其功能 \ 2.80486微处理器 80486微处理器的内部结构、新增寄存器名称及用途、存储器组织以及输入/输出结构。实地址模式、保护模式和虚拟8086模式的特点及其相互转换,时钟周期、总线周期和指令周期的概念以及总线操作时序。80486 CPU存储器的名称及功能见表。 3.Pentium微处理器 Pentium微处理器的超标量流水线、独立指令Cache和数据Cache、浮点部件和分支转移动态预测等部件的特点,存储器组织以及输入/输出结构。

【 表80486寄存器及其功能

习题解答 简述8086和80486CPU内部结构由那些部件组成,并阐明它们结构上的异同。 ] 答:(1)参见P26~28,2.1.1 Intel 8086微处理器内部结构; (2)参见P38~41,2.2.1 Intel 80486微处理器内部结构。 8086微处理器和80486微处理器中的寄存器是如何分类的,它们的主要功能是什么答:(1)参见P28~29,2.1.2 Intel 8086微处理器寄存器结构; (2)参见P41~47,2.2.2 Intel 80486微处理器寄存器结构。 EFR寄存器包含哪些标志位说明各主要标志位的作用。 答:参见P42~43,(3)标志寄存器EFR 说明80486微处理器中控制寄存器、系统地址寄存器的作用和各自的功能。 答:参见P44~46,2.系统寄存器。 存储器为什么要分段在实地址方式下存储器如何分段 @

第二章 8086微机系统体系结构

第二章:8086微机系统体系结构 通过本章的学习,应该掌握以下内容: •8086 CPU的结构 •8086 CPU引脚功能 •8086系统的结构和配置 •8086 CPU的操作时序 •80x86典型微机简介 2、1 8086/8088微处理器 2、1、1 8086/8088微处理器的结构及执行程序的操作过程 8086:Intel系列的16位微处理器,16条数据线、20条地址线,可寻址地址范围220=1MB,8086工作时,只要一个+5V 电源和一个时钟,时钟频率为5MHz 。 8088:内部与8086兼容,也是一个16位微处理器,只是外部数据总线为8位,所以称为准16位微处理器。它具有包括乘法和除法的16位运算指令,所以能处理16位数据,还能处理8位数据。8088有20根地址线,所以可寻址的地址空间达1MB。 1、总线接口部件(BIU) 功能:负责与外部存储器及I/O口通信 (1)、从取指令送到指令队列。 (2)、CPU执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。 总线接口部件的组成: (1)、四个段地址寄存器:均为16位 代码段寄存器CS:存放当前程序段的段基址 数据段寄存器DS:存放当前数据段的段基址 附加段寄存器ES:存放当前附加段的段基址 堆栈段寄存器SS:存放当前堆栈段的段基址 (2)、16位指令指针寄存器IP(PC)。 (3)、20位的地址加法器。 (4)、六字节的指令队列缓冲器。 说明: (1)、指令队列缓冲器:在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。CPU执行完一条指令后,可以取出下一条指令(流水线技术)。提高CPU效率。 (2)、地址加法器:产生20位地址。CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。 2、执行部件(EU) 作用:负责执行指令 (1)、从指令队列中取出指令。 (2)、对指令进行译码,发出相应相应的控制信号。 (3)、接收由总线送来的数据或发送数据。 (4)、进行算术、逻辑运算。 执行部件的组成: (1)、四个通用寄存器AX(累加器)、BX(基址寄存器)、CX(计数器)、DX(数据寄存器)。 这四个通用寄存器都是16位或作两个8位来使用。 (2)、专用寄存器(4个) SP------堆栈指针寄存器 BP------基址指针寄存器

昆明理工大学微机原理重点难点核心笔记(根据付老师课件整理,适用于昆工期末考和考研!!)

第三代微处理器(1978-1982):16位微处理器,如Intel公司的8086、80286、Motorola的68000和Zilog的Z8000。集成度达29000万只晶体管,平均指令执行时间0.5us(200ns),。 从大型计算机到微型计算机,其基本结构属于冯.诺依曼结构,即包括运算器、控制器、存储器、输入设备和输出设备5个组成部分。 8位带符号数能表示的数据范围为+127~-128。 二进制负数的反码就是机器数符号位保持不变,其余各位按位取反。 8086CPU是16位微处理器,内部对外有16位数据总线。8086CPU有20位地址总线,直接寻址空间为1MB。8086有一个初级流水线结构,内部操作与对外操作具有并行性。 8088CPU是准16位微处理器,因为它的内部有16位数据总线,但对外只有8位数据总线。 Bus Interface Unit, BIU总线接口部件由段寄存器、指令指针寄存器、总线控制逻辑、地址加法器、指令队列等单元组成。BIU功能:地址形成、取指令、指令排队、读/写操作数、总线控制。 IP总是指向下一条将要执行的指令。 当指令队列有2个或2个以上字节空时,BIU会自动存取指令。 Execution Unit,EU执行部件EU的组成:算术逻辑单元ALU、寄存器组、标志寄存器、暂存器、EU控制电路。EU的主要任务:指令译码、执行指令。 指令顺序执行时,EU和BIU是并行工作方式;若遇到转移指令、调用指令和返回指令时,要将指令队列中的指令作废,由BIU重新取转移目标地址中的新指令,EU才能继续执行指令,并行操作将受到影响。

8086CPU的BIU和EU并行工作的过程:EU的功能是执行指令。EU从指令队列中取出指令编码,将其译码,发出相应的控制信息。控制数据在ALU中进行运算,运算结果的特征保留在标志寄存器PSW中。BIU的功能是负责与存储器、I/O端口传送信息。当EU从指令队列中取走指令,指令队列出现空字节(8086指令队列为6个字节中空出2个字节,8088指令队列为4个字节空出1个字节)时,BIU即从内存中取出后续的指令代码放入队列中;当EU需要数据时,BIU根据EU给出的逻辑地址,在地址加法器中完成20位物理地址的计算,从指定的内存单元或外设中取出数据供EU使用;当运算结束时,BIU将运算结果送入指定的内存单元和外设。当队列空时,EU就等待直到有指令为止。 CPU内部可用来提供地址信息的寄存器都是16位的,8086/8088采用了段结构的内存管理的方法:20位物理地址=段地址*16+偏移地址。 AX,AL(隐含):在乘法指令中,存放乘数或乘积,在除法指令中存放除数或商。 AH(隐含): 在LAHF指令中,做目标寄存器。 AL(隐含): 在十进制运算指令中做累加器;在XLAT指令中作累加器用。 BX(隐含):在XLAT指令中作基址寄存器。 CX(隐含): 在LOOP指令和串操作指令中作计数器,可使程序指令简化,有利于提高程序的运行速度。 DX(隐含):在做字乘/除法运算时,DX存放乘积高位或被除数高位或余数。 SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。 当CPU取出指令代码的一个字节后,IP自动加1,指向指令代码的下一个字节。用户程序不能直接访问IP。指令的物理地址=CS*16+IP。 若最高位发生进位(或借位)则CF=1,否则CF=0。 当运算结果低8位中含有偶数个1时,PF=1,否则PF=0。 结果的低4位向高4位有进位(或借位),则AF=1,否则AF=0。 若将TF置1,8086/8088CPU处于单步工作方式,CPU每执行完一条指令,就会自动产生一次内部中断,使用户能逐条跟踪程序。否则,将正常执行程序。 DF=1 (STD指令),地址指针自动减量,即由高地址向低地址进行串操作。 8086/8088芯片:双列直插式封装。40条引脚,部分引脚分时复用。 最小模式:单机系统,所有控制信号由8086提供。最大模式:多处理机系统,系统所需的控制信号由8288提供。在最小模式系统配置中,除了8086CPU、存储器、I/O接口芯片外,还要加入:1片8284A作为8086/8088系统的时钟发生器:3片Intel 8282/8283或74LS373/74LS273作为地址锁存器,用以锁存当前的地址信号;2片Intel 8286/8287或74LS245作为数据收发器(总线收发器)。 最大工作模式:系统中有两个或多个微处理器,其中有一个是主处理器8086,其它的处理器称为协处理器,它们协助主处理器工作。 DEN (Data Enable) 数据允许信号,三态,输出。 ALE (Address Latch Enable) 地址锁存允许信号,输出。 DT/R (Data Transmit/Receive) 数据发送/接收控制信号。 RESET (Reset)复位信号,高电平有效,输入,此信号至少保持4个时钟周期以上的高电平,当RESET变低电平时,CPU执行重启过程,8086/8088重启后,从地址FFFF0H开始执行指令,通常此地址放一条无条件转移指令,将入口转到引导和装配程序。 HOLD (Hold Request ) 总线保持请求信号,输入,高电平有效,在最小模式系统中,HOLD有效,表示其他共享总线的部件向CPU请求使用总线。要求直接与存储器传送数据。 HLDA (Hold Acknowledge) 总线保持响应信号,输出,高电平有效,表示CPU允许让出总线使用权,并将三条总线置成高阻状态。总线请求部件获得总线使用权后,可进行总线操作(DMA数据传送),总线使用完毕后使HOLD 无效,CPU将HLDA置成低电平,收回总线使用权。 8086与8088的区别:8086为16位微处理器,而8088是准16位微处理器,其内部运算为16位,但外部数据总线

8086的存储组织简介

8086的存储组织简介 在高档32位微机时代,再仔细讨论8086的存储器组织意义已不大,但是对有助于理解32位微型计算机存储器系统的内容做一些介绍还是必要的。 8086是标准的16位CPU,数据总线宽度为16位,从发挥CPU工作效率的角度考虑,和存储器的数据交换应是16位的。但是,出于程序设计的需要,8086的指令系统中还设有对存储器进行字节访问的指令,而指令本身也有单字节的(单字节指令),因此,在进行存储器设计时,要求既能进行16位的访问,又能进行 8位的访问。实际上,Intel公司在设计8086时已经做了基础安排,用作为高8位数据的选通信号,用A0兼作低8位数据的选通信号。在存储器中,一个存储单元只能和cPu的一组数据线(低8位或高8位)相连,和低8位相连的用AO选通,所以这些存储单元的地址都是偶地址(AO为0,选通低8位数据线);和高8位相连的用选通,所以这些存储单元的地址都是奇地址(这时A0 不能为0,否则低8位数据线也被选通)。也就是说,存储器中所有偶地址的字节都应该用A0选通,所有奇地址的字节都应该用选 通。由此可见,在物理结构上,8086的1 MB寻址空间应分成两个 https://www.360docs.net/doc/ff19267428.html, 独立的512 KB的存储体,如图3.33所示。它们分别称为低位存储体和高位存储体。地址线A19~Al同时接到两个存储体,作为体内寻址。两个体的选择由A0和控制。 按这种结构组织的存储器,对字节的访问是显然的。下面看对16位字的访问。在存储器中,一个16位字总是放在地址相邻的两个存储单元中,根据刚才所讲,这两个存储单元分别位于两个存储体。对偶地址字(字

的低位字节的地址为字地址)的访问只需一个总线周期,该周期内AO、均为低电平,共同选通16位数据线。而对奇地址字的访问则需两个总线周期,第一个总线周期传送该字的奇地址字节,第二个总线周期传送偶地址字节。当然,这种操作是机器自动进行的,对用户透明。不过,了解这一点,有助于更好地编写程序。 https://www.360docs.net/doc/ff19267428.html, 需要指出,如果既要进行字访问,又要进行字节访问,那么不管8086实际所配的存储容量多少,都必须分成两个物理存储体,并且对存储系统中不同类型(指SRAM、DRAM和ROM。)部分,也必须各自分成两个物理存储体。图3.34所示是8086最大模式时存储器构成的一个例子。图中的6264是8 K×8位SRAM芯片,它有两个极性相反的片选信号;2732是4 K×8位EPROM芯片,它和2716用法一样,只是存储容量扩大了一倍,多了一根地址线。 DRAM与CPU的连接 比起SRAM,DRAM与CPU相连时需要多考虑两点,一是刷新,二是行、列地址分时传送。图3.32所示是一个用16片2164(64 K×l位)构成128 KB DRAM的示例。 2164是“×l位”结构,每8片可组成64 KB的存储空间。一组中每片的数据输入线和数据输出线应连在一起,再分别和CPI.7的相应的一根数据线相连;8片的RAS、CAS、WE分别连在一起,用来同时对8片进行操作。 因为2164内部的行地址和列地址是分别锁存的,所以应将行地址和列地址分时送出,图中的行/列多路器用来完成此功能。又由于2164是DRAM,需要刷新,所以用刷新多路器对CPU正常读/写的行地址和刷新用的行地址进行选择。刷新行地址是由刷新时钟对刷新计数器计数产生。 这里突出了行、列地址分时送出及刷新行地址的产生。至于RAS和CAS的产生,和sRAM有相同之处,即除了进行片内寻址的低位地址线(A15~A0)外,由高位地址进行译码产生,但要考虑RAS和CAS的时序配合问题。 上面分析了和动态RAM相连从原理上需要外加的电路。实际上,这些电路早已被包括在集成化的动态RAM 控制器中。例如,Intel 8203就是用来支持8086/8088 CPU和2164、2118(16 K×1位)等DRAM相连的控制器。在现代微型计算机中,动态RAM控制器被集成在称为控制芯片组的逻辑中。 https://www.360docs.net/doc/ff19267428.html,

8086结构组成

8086结构组成 一、简介 8086是英特尔(Intel)公司于1978年推出的16位微处理器,是第一款具有高度通用性的微处理器。8086结构包括各种功能部件,如寄存器组、运算单元、控制单元等。本文将详细介绍8086的结构组成和各个组成部分的功能。 二、8086结构组成 1. 寄存器组 8086包含了多个寄存器,用于存储各种数据和地址信息。寄存器组包括通用寄存器、指令指针寄存器、段寄存器等。 1.1 通用寄存器 8086拥有四个16位的通用寄存器:AX、BX、CX、DX。这些寄存器可以用于存储数据、地址以及进行运算。 1.2 指令指针寄存器 指令指针寄存器IP存储当前执行指令的地址,可以进行程序的跳转和控制。 1.3 段寄存器 8086采用段寄存器和偏移地址的方式来定位内存中的数据。段寄存器包括代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。 2. 运算单元 8086拥有一个功能强大的运算单元,可以执行各种运算和逻辑操作。运算单元包括算术逻辑单元ALU、标志寄存器FLAGS等部件。

2.1 算术逻辑单元(ALU) ALU是8086中重要的组成部分,负责执行各种算术和逻辑运算,如加法、减法、与、或等。 2.2 标志寄存器(FLAGS) FLAGS寄存器用于存储运算结果的状态信息,包括进位标志、零标志、溢出标志等。这些标志位可以帮助程序进行条件分支和判断。 3. 控制单元 控制单元是8086中负责控制和协调各个部件工作的组成部分。主要包括指令译码器、时钟发生器等。 3.1 指令译码器 指令译码器用于解析指令,将指令转化为相应的控制信号,控制其他部件的工作。 3.2 时钟发生器 时钟发生器为8086提供稳定的时钟信号,用于同步各个部件的工作,确保指令能 够按序执行。 4. 外部接口 8086能够与外部设备进行通信,包括输入输出接口和存储器接口。 4.1 输入输出接口 输入输出接口负责将内部数据和外部设备进行数据交换,通过输入输出指令控制。 4.2 存储器接口 存储器接口用于访问外部存储器,包括读取和写入数据。

80888086的功能结构

8088/8086的功能结构 一、8088/8086的结构 8086与8088在结构上都是由和两大部份组成。以下是8088/8086的内部结构框图。 执行单元EU负责执行指令。EU在工作时不断地从指令队列掏出指令代码,并完成指令所要求的操作。它由算术逻辑单元ALU、通用寄放器REGs、标志寄放器FLAGS和EU操纵部件组成。各部件的功能如下: ALU:即运算器,进行算术、逻辑、移位、偏移地址计算等各类运算。 FLAGS:寄存运算结果的特点,如进借位、是不是为零、奇偶性、溢出等。 REGs:临时寄存操作数、运算结果和操作数地址等。

EU操纵部件:接收指令队列中的指令,进行指令译码、分析,形成各类操纵信号,实现EU 各个部件完成规定动作的操纵。 总线接口单元BIU负责CPU与存储器、I/O接口之间的信息(包括数据、地址、操纵命令等)传送。包括生成访问存储器所需的20位的物理地址、不断从内存中取指令并送到指令队列、和配合EU对指定的内存单元或外设端口进行数据存取操作。BIU由段寄放器、指令指针寄放器IP、指令队列、地址加法器和总线操纵逻辑组成。各部件的功能如下: 总线操纵逻辑:CPU与外总线之间的接口,实现指令、数据和其他外部信息的存取。 段寄放器:寄存存储器段的段基地址。 指令指针寄放器:寄存当前要读取的指令的地址。它相当于前面介绍过的。 指令队列:8088和8086的指令队列长度别离为4字节和6字节,为FIFO(先进先出)结构。当EU从指令队列中取走指令,指令队列显现空字节时,BIU就自动执行一次取指令周期,从内存中掏出后续的指令代码放入队列中。当EU需要数据时,BIU依照EU给出的地址,从指定的内存单元或外设中掏出数据供EU利用。当运算终止时,BIU将运算结果送入指定的内存单元或外设。当指令队列空时,EU就等待,直到有指令为止。假设BIU正在取指令,EU发出访问总线的请求,那么必需等BIU取指令完毕后,该请求才能取得响应。一样情形下,程序顺序执行,当碰到跳转指令时,BIU就使指令队列复位,从头地址掏出指令,并当即传给EU去执行。指令队列在EU和BIU之间起到了“桥梁”的作用(或说是一个指令“传送带”,源源不断地把指令从BIU送到EU),使BIU和EU能够并行工作。 地址加法器:用来产生20位的物理地址。8086/8088的寄放器都是16位的,无法装载20位的物理地址。为了解决那个问题,8088/8086采纳了将地址空间分段的方式,即将220(1MB)的地址空间分为假设干个64KB的段,然后用段基址加上段内偏移来访问物理存储器。 8088/8086规定,分段老是从以16字节为单位的边界处开始,因此段的起始地址最低四位老

微机原理笔记

微机原理笔记 微机原理笔记(一)--绪论 第一章为绪论 1-2计算机的结构 总线:信息传输通道AB、DB、CB通用术语: 位(bit):信息处理和传送的最小单位 字节:8是组成字符的二进制数;16位二进制数组成一个字,两个字节(int)是信息存储的最小单位 双字:32位二进制数构成一个字,两个字(long)指令:让cpu执行基本操作的命令 指令组成:操作数、操作码。CPU执行指令的过程:获取指令代码->解码->执行指令系统:CPU可以执行的所有指令的集合 程序:指令的有机结合1-3进位计数制 计算符号:D10、B2、H16权重:D10幂、B2幂、H16幂基:D10、B2、H16任意基 整数部分,除以基取余,逆序排列 小数部分乘以基数并四舍五入,符号数的表示按顺序排列: 正数的反码表示:与该数原码相同 负数的反码表示:反补是在正数的反码表示的基础上按位计算的:正数的部门与原始代码相同 负数的部门在正数的补码表示,按位求反,在最低位加1注:1、补码不等于负数 2.补码不等于补码。补码是二进制代码1和BCD代码查找相反数字的运算 压缩的bcd码:一个字节表示2位bcd码非压缩的bcd码:一个自己表示1位bcd码 2.ASC II代码:七位二进制数表示符号的高阶为0 0~9=30h~39ha~z=41h~5aha~z=61h~7ah“空格”=20h“回车”=0dh“换行”=0ah 微机原理说明(二)——8086结构一、8086 CPU的内部结构 段寄存器:cs、ds、ss、es、ip(指令指针,存放下一条直线指令在存储单元内的地址,每取一个字节的指令代码会自动加1)

二、 8086寄存器结构 ax:16位寄存器,分为2个8位ah、al作用:1、通用寄存器,数据的存取 2.以DX作为低位16位形成一个双字,并在乘法和除法指令中使用3和作为累加器 bx:16位寄存器,分为2个8位bh、bl作用:1、通用寄存器 2.作为访问内存的地址指针 cx:16位寄存器,分为2个8位ch、cl 功能:1。普通登记册2。在循环指令中用作循环计数器和循环指令。计数器以字符串操作指令的形式传输。DX:16位寄存器,分为两个8位DH和DL函数:1。通用寄存器 2、与ax一起构成双字作为高16位,在乘法、除法指令中使用 3、作为输入、输出地址,不可有作为存储器地址bp:16位寄存器 功能:1。普通登记册2。用于访问内存的地址指针 sp:16位堆栈指针,只想堆栈的栈顶,可作为访问存储器地址si、di:16位寄存器作用:1、通用寄存器 2.它可以用作访问内存的地址。 3.在索引寻址期间,它可用作索引寄存器 4、在串操作时,si作为源指针,di作为目的指针 标志(PSW):程序状态字,16位寄存器,也称为FL,FR III,8086 CPU引脚引入(P28) 四、8086存储器的组织结构(p31)偏移地址ea(有效地址)16位bx、bp、si、di、sp、ip直接地址限制:段起手地址的低四位必须为0物理地址=段基址×16+ea(有效地址)物理地址存储单元 0300h:0100h pa=0300h*16+0100h=03000h+0100h=03100h微机原理笔记(三)--寻址方式寻址方式 一种获取操作数或操作数地址的方法 源操作数寻址,1-7,7种;目的操作数寻址,2-7,6种1、立即寻址 该指令直接给出操作数movax,3680(80英寸Al,36英寸ah) addbl,30h BL的内容加上30小时的结果被发送到BL2和寄存器寻址

存储器组织

存储器组织 1. 存储容量 8086有20根地址总线,因此,它可以直接寻址的存储器单元数为220=1Mbyte 2. 物理地址 8086可直接寻址1Mbyte的存储空间,其地址区域为00000H—FFFFFH,与存储单元一一对应的20位地址,我们称之为存储单元的物理地址。 3. 存储器的分段及段地址 由于CPU内部的寄存器都是16位的,为了能够提供20位的物理地址,系统中采用了存储器分段的方法。规定存储器的一个段为64KB,由段寄存器来确定存储单元的段地址,由指令提供该单元相对于相应段起始地址的16位偏移量。 这样,系统的整个存储空间可分为16个互不重叠的逻辑段,如图1-9所示。 存储器的每个段的容量为64KB,并允许在整个存储空间内浮动,即段与段之间可以部分重叠、完全重叠、连续排列,非常灵活,如图1-10所示(P14)。 图1-9 存储空间段结构图1-10 分段逻辑结构 4. 偏移地址 偏移地址是某存储单元相对其所在段起始位置的偏移字节数,或简称偏移量。它是一个16位的地址,根据指令的不同,它可以来自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX等)。 5. 物理地址的形成

物理地址是由段地址与偏移地址共同决定的,段地址来自于段寄存器(CS、DS、ES、SS),是十六位地址,由段地址及偏移地址计算物理地址的表达式如下: 物理地址=段地址×16+偏移地址 例如:系统启动后,指令的物理地址由CS的内容与IP的内容共同决定,由于系统启动的CS=0FFFFH,IP=0000H,所以初始指令的物理地址为0FFFF0H,我们可以在0FFFF0H单元开始的几个单元中,固化一条无条件转移指令的代码,即转移到系统初始化程序部分。 6. 存储器分段组织带来存储器管理的新特点 首先,在程序代码量、数据量不是太大的情况下,可使它们处于同一段内,即使它们在64Kbyte的范围内,这样可以减少指令的长度,提高指令运行的速度; 其次,内存分段为程序的浮动分配创造了条件; 第三,物理地址与形式地址并不是一一对应的,举例:6832H:1280H,物理地址为695A0H。 第四,各个分段之间可以重叠 7. 特殊的内存区域 8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如:中断矢量区:00000H—003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共256×4=1024=1K 显示缓冲区:B0000H—B0F9FH约4000(25×80×2)字节,是单色显示器的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码;B8000H—BBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏幕显示象素的代码。 启动区:FFFF0H—FFFFFH共16个单元,用以存放一条无条件转移指令的代码,转移到系统的初始化部分。

存储器知识点小结

CPU 工作的实质即为不断从内存中取指令并执行指令的过程。 一、8086CPU构成 CPU 的工作:取指令和执行指令 1.CPU 内部两大功能部件:总线接口部件BIU 和执行部件EU(2 部件并行工作提高了CPU 的工作效率) 重点:理解2 个独立功能部件的分工和协同配合关系。 理解BIU 内地址加法器的作用,理解指令队列的作用。 2.掌握CPU 内部寄存器的作用 包括:通用寄存器AX,BX,CX,DX ,BP,SP,SI,DI 段寄存器CS,DS,SS,ES 指令指针寄存器IP 标志寄存器FLAG 二、存储器的基础知识 1.物理地址 8086的存储器是以字节(即每个单元存放8位二进制数)为单位组织的。8086CPU具有20条地址总线,所以可访问的存储器地址空间容量为220即1M字节(表示为1MB)。每个单元对应一个唯一的20位地址,对于1MB存储器,其地址范围用16进制表示为00000H〜0FFFFFH,如图1所示。

卜六进制地址二进制地址存储器 000000000 0000 0000 0000 0000 00001 0000 0000 0000 0000 0001 00002 00003 0000 0000 0000 0000 0010 0000 OOOU UOOO 0000 0011 地址低端 FFFFE ini mi ini mi mo FFEJ F mi mi mi nil mi 地址咼端 图1 1MB存储器地址表示 物理地址:存储器的每个单元都有一个唯一的20位地址,将其称为物理地址。 2.字节地址与字地址 存储器内两个连续的字节,定义为一个字,一个字中的每个字节,都有一个字节地址, 每个字的低字节(低8位)存放在低地址中,高字节(高8位)存放在高地址中。字的地址指低字节的地址。各位的编号方法是最低位为位0, —个字节中,最高位编号为位7; —个字中最咼位的编号为位15。 字数据在存储器中存放的格式如图2所示。 地址低端D15D8D7DO 字单元的地址 —个字单元 高字节低字节 地址高端 图2字数据在存储器中的存放

8086微处理器与存储器的编程结构教案

第3章 8086微处理器与存储器的编程结构 1.教学目的:掌握INTEL80X86微处理器概况以及基于微处理器的计算机系统构成,

为汇编语言编程奠定基础。 2.教学要求: ①了解INTEL80X86微处理器概况 ②理解基于微处理器的计算机系统构成 ③熟练掌握汇编语言编程所需的CPU功能结构、微机存储器(MEM)组织和微机接口组织等基础知识 3.教学重点: ①微处理器的功能结构 ②微存储器组织 4.掌握难点: ①微处理器的寄存器组 ②存储器寻址 5.教学进程安排:P20~40 6.教学方法: ①一般叙述INTEL80X86微处理器概况以及基于微处理器的计算机系统构成 ②重点讲授微处理器的功能结构和微存储器组织 7.教学内容摘要: 3.1 80X86微处理器概述 3.1.1 微处理器发展简介 1.Intel 8086微处理器 2.Intel 80386微处理器 3.Intel 80486微处理器 4.Intel 奔腾(Pentium)处理器 5.Intel 奔腾Ⅱ处理器 6.Intel 奔腾Ⅲ处理器 7.Intel 奔腾Ⅳ处理器 3.1.2 与微处理器相关的概念 1. 芯片集成度 2. 微处理器主频 3. 系统总线, 系统总线一般分三类: (1)数据总线(DATA BUS,DB) (2)地址总线(ADDRESS BUS,AB) (3)控制总线(CONTROL BUS,CB) 4. 程序存储及存储器组织 5. 处理器运算速度

3.2 基于微处理器的计算机系统构成 微型计算机系统包括硬件和软件两部分。 3.2.1 硬件系统 图3.1给出了微型计算机组成框图。 1.运算器 2.控制器 3.存储器, (1)“读操作”:是指CPU将存储器中存储的某一部分信息取出来进行处理的操作。 (2)“写操作”:是指CPU用新的信息刷新存储器原来存储的某一部分内容的操作。 (3)注意:存储器的读/写操作是以字节为单位按存储器存储单元地址进行的。 4.输入/输出设备 图3.1 微型计算机硬件系统组成 把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。计算机硬件的五大部件是通过总线连接起来的,构成了计算机的基本硬件系统。 3.2.2 软件系统 计算机软件是计算机系统的重要组成部分,它可以分成系统软件和应用软件两大类。图2.2表示了计算机软件的层次。

相关文档
最新文档