我们经常会有拿一个地址找房间的经验吧,比如说302,那么,我们知道这房间在三楼,是从东边算过来的第二间,
这个地址其实就是两个地址组成 :3楼,2号房。
注意到没,每个地址是一位数,但是通过大家熟知的规律合成了一个三位数的地址。
把这个例子带到这个问题中,你可以这样理解,段地址相当于楼层地址,偏移地址相当于房间号,最后合成的就是物理地址。
8086的地址线20根,数据线16根,
物理地址的位数取决于8086地址线的数量,
16位的数据线决定了8086的寄存器只能有16位,这样一来不管是段寄存器还是通用寄存器都是16位的。
所以,段地址和偏移量也都是16位了。
当要合成20位的物理地址时,先把段地址左移4位(就是*16的原因),变成20位的,
然后再加16位的偏移地址,得到最后的20位物理地址。
比如一个地址是00100H(一个16位表示4个2进制位,5个就是20位)
再说下,一个16进制左移1位就是2进制左移4位(代数自己试)
你可以表示成(用16位表示),0010:0000(0010*16+0000=00100)
0000:0100(0000*16+0100=00100),结果是不唯一
物理地址就是数据在内存中实际存放的位置.因为8086或8088有20条地址线,寻址能力有2的20次方,1MBit.
而8086或8088内部寄存器是是16位的,无法用一个位完全表示出来.
所以采用段首地址+偏移量两个寄存器来表示的方式,俗称PC或CS:IP来表示一个实际的物理地址,这就是所谓的虚拟地址.
例如段首地址为0000H,而偏移量的范围就在0000H-FFFFH之间,
就表示00000H-0FFFFH的实际内存单元.就是说一个段的大小在64Kb.
分享到:
相关推荐
通用寄存器组是计算机中央处理器(CPU)的核心组成部分之一,它们在CPU内部存储数据和指令,提高了处理速度和效率。本实验旨在通过实践理解通用寄存器组的设计原理和实现方法,采用VHDL语言进行硬件描述,从而加深对...
通用寄存器组通常包含多个独立的寄存器,每个寄存器都有自己的数据输入、输出和控制信号,可以独立地读取或写入数据。 描述中提到的“VHDL quartus”是指使用Altera公司的Quartus II软件进行VHDL设计和实现。...
③通用寄存器组中有1个写入端口,当DRWr=1时,在时钟clk的上升沿将数据总线上的数据写入DR[1..0]指定的寄存器。 ④通用寄存器组中有两个读出端口,由控制信IDC控制,分别对应算术逻辑单元的A口和B口。IDC=0选择目的...
- **MASTER-SLAVE Control Register**和**MASTER-SLAVE Status Register**:在MII(Media Independent Interface)环境中,控制主从关系,确保数据传输的方向正确。 - **Extended Status Register**:提供更多的...
按照题目要求设计一个通用寄存器组的逻辑,决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。 1.16位寄存器 功能要求:同步并行置数,异步复位(清零...
通过这次试验,我完成了通用寄存器的数据写入和读出,能够利用存储器和总线传输数据,熟悉通用寄存器概念,熟悉了通用寄存器的组成原理和存储器、总线组成的硬件电路。使我对计算机的组成原理有了很好的认识。
1. 数据对齐:由于SIMD寄存器通常需要数据元素在内存中对齐,以最大化并行处理能力,因此在移动数据时需要确保目标通用寄存器文件中的数据也正确对齐。 2. 数据格式转换:SIMD寄存器可能支持特殊的数据格式,如...
在这个实验中,我们将专注于通用寄存器的设计与应用,它是计算机中存储和处理数据的关键组件。实验以线上形式进行,虽然缺乏线下操作,但依然能帮助学生理解通用寄存器的内部工作机制。 通用寄存器是计算机硬件中的...
通用寄存器文件(General Purpose Register File, GPRF)和单指令多数据(Single Instruction Multiple Data, SIMD)寄存器文件是两种常见的寄存器类型,各自服务于不同的计算需求。本文将深入探讨从通用寄存器文件...
在PowerPC架构中,通用寄存器是处理器核心的重要组成部分,它们用于存储中间计算结果、数据地址或控制信息。在32位PowerPC构架中,通常有32个通用寄存器,这些寄存器被命名为GPR0到GPR31。其中,GPR0通常用作零...
在计算机体系结构中,通用寄存器组是CPU的核心组成部分,它们在执行指令和处理数据时扮演着至关重要的角色。标题“通用寄存器组”指的是这样一组硬件资源,能够存储临时数据,供处理器快速访问。描述中提到的“由8个...
1. **通用寄存器**:通用寄存器是数字系统中的基本存储单元,用于临时存储数据。在VHDL中,可以使用进程(process)来实现寄存器,通常包括时钟边沿检测和数据保持功能。在电路中,通用寄存器可以作为数据缓冲、数据...
通用寄存器组是CPU中的一个重要组成部分,它存储临时数据和计算过程中的中间结果。这些寄存器比内存快得多,因为它们直接与CPU的内部电路相连。在实验CPU设计中,通用寄存器组的实现对于理解和优化计算流程至关重要...
此外,RAM与数据总线BUS相连,可以从通用寄存器获取写入数据,也可以将数据送到通用寄存器保存。 实验任务包括: 1. 连接电路并用8位数据开关向RF中的四个寄存器置入数据。 2. 将R0至R3中的数据读入DR2寄存器和BUS...
通用寄存器是用于各种通用计算和数据存储的,它们包括4个数据寄存器(AX, BX, CX, DX)和4个指针/变址寄存器(SP, BP, SI, DI)。数据寄存器可以进一步细分为8位的高位(AH, BH, CH, DH)和低位(AL, BL, CL, DL),...
通用寄存器组是计算机中央处理器(CPU)的核心组件之一,其主要作用在于提升计算效率。本实验报告详细探讨了通用寄存器组的设计、功能和实现方式,旨在加深理解其在CPU工作中的重要性。 实验目的主要有两点:一是...
本资料主要针对BCM PHY寄存器中的通用寄存器部分进行分析,对于理解和调试以太网接口的初学者具有很大的指导价值。 首先,我们要理解PHY寄存器的作用。每个PHY芯片都有多个寄存器,这些寄存器存储了关于网络连接...
在这个“数据通路组成实验”中,重点在于理解和实践计算机组成原理中的数据通路设计,特别是双端口通用寄存器组和双端口存储器模块的联机操作。 首先,实验目标是连接和操作双端口通用寄存器组和双端口存储器模块,...
这些寄存器可以分为几个大类:通用寄存器、控制寄存器、中断寄存器、定时器寄存器、GPIO(通用输入/输出)寄存器等。例如,GPIO端口配置寄存器用于设置端口的方向、输入模式、中断触发等;而系统控制寄存器则负责...