版权归原作者所有,如有侵权,请联系我们

[科普中国]-有效地址寄存器

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

有效地址寄存器是指用于存放操作数的有效地址(实际地址)的寄存器,主要与寻址方式有关。例如间接寻址方式中,寄存器中的地址就是有效地址,而在变址寻址方式和基址寻址方式中,寄存器中的地址要加上一个偏移地址才能得到有效地址。

有效地址有效地址(effective address,EA)是一16位无符号数,表示操作数所在单元到段首的距离即逻辑地址的偏移地址。偏移地址就是计算机里的内存分段后,在段内某一地址相对于段首地址(段地址)的偏移量。如8086存储系统中 20位的物理地址(就是数据存储的实际地址)=16位的段基地址*16+16位的偏移量。

当操作数是存放在存储器中时,存储器的存储单元的物理地址有两部分组成。一部分是偏移地址;一部分是段地址。在8086/8088的各种寻址方式中,寻找存储单元所需的偏移地址可由各种成分组成,称为有效地址,用EA表示。可以通过存储器寻址方式获得有效地址。

有效地址可以由几部分组成:基址寄存器内容、变址寄存器内容、比例因子和位移量。

寄存器概述寄存器(Register),是中央处理器内的其中组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器。

在计算机架构里,处理器中的寄存器是少量且速度快的计算机内存,借由提供快速共同地访问数值来加速计算机程序的运行:典型地说就是在已知时间点所作的之计算中间的数值。

寄存器是内存层次结构中的最顶端,也是系统操作数据的最快速途径。寄存器通常都是以他们可以保存的比特数量来估量,举例来说,一个8位寄存器或32位寄存器。寄存器现在都以寄存器数组的方式来实现,但是他们也可能使用单独的触发器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实现出来。

地址寄存器地址寄存器(AR)是用来保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存和CPU之间存在着速度上的差别,所以必须使用地址寄存器来保存地址信息,直到内存读/写操作完成为止。数据寄存器DR用来暂存微处理器与存储器或输人/输出接口电路之间待传送的数据。地址寄存器AR和数据寄存器DR在微处理器的内部总线和外部总线之间,还起着隔离和缓冲的作用。

地址寄存器采用单纯的寄存器结构。在对主存或I/O端口进行访问时,地址寄存器存放当前访问的地址,数据缓冲器实现数据的缓冲。CPU通过修改地址寄存器中的值,就可访问不同的存储器单元及不同的I/O端口1。

地址寄存器可用LPM库中的元件lpm_latch锁存器来完成。图是地址寄存器的结构图。地址寄存器的数据宽度应当与程序计数器的数据宽度一致。data[7…0]是地址寄存器的数据输入端,q[7…0]是地址寄存器的数据输出端,gate是地址锁存器的控制端。gate的作用是当锁存控制脉冲到来时,高电平时数据进入锁存器,低电平时锁存数据,保持输出数据稳定不变。

寻址方式寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法2。在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。几乎所有的计算机,在内存中都采用地址指定方式。当采用地址指定方式时,形成操作数或指令地址的方式称为寻址方式。寻址方式分为两类,即指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。值得注意的是,在传统方式设计的计算机中,内存中指令的寻址与数据的寻址是交替进行的。