leo*_*eon 21 memory operating-system cpu-architecture
有人能解释一下有什么不同Word和Byte可寻址的吗?它与内存大小等有什么关系?
Kaw*_*iKx 30
内存单元是可寻址的.这是我们使用内存的唯一方法.
实际上,内存只能是字节可寻址的.它的意思是:
a single 字节而已.a group of 字节 - ,,2 取决于数据总线的CPU.48size of要了解内存操作完全,你必须熟悉各种寄存器中的CPU和内存端口中的RAM.我猜你知道它们的含义:
RAM有two各种内存端口:
32-bits用于数据/地址8-bit用于OPCODE.假设CPU想要从地址开始读取a 字(比如4 字节).CPU会把地址上的MAR,发送存储器读出信号到存储器控制器芯片.在接收到地址和读取信号时,存储器控制器将数据总线连接到端口,并且从地址开始将流出端口到MDR. xyz32-bit 4 bytes xyz
如果CPU要读取下一指令,它会把地址到PC寄存器并发送获取的信号到存储控制器.在接收到地址和取信号,存储器控制器将连接数据总线到8比特端口和a single字节长的 操作码位于所述地址接收的将流出的RAM到CPU的MDR.
这就是当我们说某个寄存器是存储器可寻址或字节可寻址时的含义.现在会发生什么,当你把,说decimal 2在binary在MAR有意向读字 2,而不是(字节没有2)?
Word中没有2表示字节 4,5,6,7为32-bit机.在实际物理内存中只能进行字节寻址.所以有一个处理字寻址的技巧.
当MAR放置在地址总线上时,其32-bits不会映射到32 地址线(0-31分别).相反,MAR bit 0连接到地址总线 line 2,MAR bit 1连接到地址总线 line 3等等.上2 bits的MAR被丢弃,因为他们只需要字地址上面2^32没有一个是合法的我们的32 bit机器.
使用这种映射,当MAR是1,address 4被放在总线上,当MAR是2,address 8被放在总线上等等.
一开始理解起来有点困难.我是从Andrew Tanenbaums的结构化计算机组织中学到的.
小智 5
该图像应易于理解:http : //i.stack.imgur.com/rpB7N.png
简单的说,
•在字节寻址方案中,第一个字从地址0开始,第二个字从地址4开始。
•在字寻址方案中,第一个字的所有字节位于地址0中,而第二个字的所有字节位于地址1中。
当我们考虑一次处理一个字节的数据的应用程序时,字节寻址能力的优势显而易见。在可字节寻址的系统中访问单个字节仅需要发布单个地址。在16位字可寻址系统中,必须首先计算包含字节的字的地址,获取该字,然后从两字节字中提取字节。尽管已经很好地理解了字节提取的过程,但是它们的效率比直接访问字节要低。因此,许多现代机器都是字节可寻址的。
| 归档时间: |
|
| 查看次数: |
51029 次 |
| 最近记录: |