TIA。
答案 0 :(得分:2)
这里有一些关于11/70和11/84等硬件内存寻址的附加信息,它们允许任何PDP-11型号提供最大的物理内存。 (原谅不一致的格式化。我必须在Stackoverflow对Markdown语法的限制范围内工作。)
PDP-11/70使用22位来寻址物理内存。这个 代表总共2个 22 (超过400万)字节位置。
在22位地址可能超过400万字节的位置中, 前256K用于引用UNIBUS而不是物理 记忆。因此,最大主存储器为2 22 - 2 18 ,或总共3,932,160字节。
PDP-11/70使用三个独立的地址空间。主要 内存使用22位地址,UNIBUS使用18位地址, 并且计算机程序使用16位虚拟地址。该 信息摘要如下:
Bytes
16 bits program virtual space 2^16 = 64K
18 bits UNIBUS space 2^18 = 256K
22 bits physical memory space 4 million
(取自http://bitsavers.trailing-edge.com/pdf/dec/pdp11/handbooks/PDP11_Handbook1979.pdf)
就程序虚拟地址空间而言,一些PDP-11型号(如PDP-11 / 45,11 / 70和11/84)具有对两个独立的16位虚拟地址空间的硬件支持,一个用于程序指令,一个用于数据。这有效地使这些机器的虚拟地址空间加倍。在我编写PDP-11系统的那些日子里,通常将这两个地址空间称为 I-Space 和 D-Space 。
答案 1 :(得分:0)
PDP-11是一个字节寻址机器,但它有一个16位数据总线。如果发出一个读取到地址100的字,它将返回100和101处的两个字节.PDP-11是小端,因此100处的字节是低字节。
PDP-11具有操作字节和字的指令,字节读取只读取地址100处的字节到指定寄存器的低字节。我认为有一些特殊指令可以交换寄存器的低字节和高字节。
如果你发了一个单词读到奇数地址,例如mov 101,r1
我认为它产生了一个奇怪的地址异常。对于所有型号来说,这可能是不正确的或不正确的,但我清楚地记得在1989年左右,那些正在研究PDP-11系统的人解释了一个奇怪的地址陷阱。
答案 2 :(得分:0)
归功于这一点。
pdp11是一个基于字节的机器,一个字的定义是16位(对于重八角形机器来说非常奇怪)。
快速浏览一下DEC文件
16位字(两个8位字节)直接寻址32K字或64K 字节数(K = 1024)
以上来自PDP11 / 34文件,但由于你在谈论32K这应该足够了(不必深入研究每个pdp11 / lsi11文件)。
在模拟器上工作时,记住存在18位地址/总线,这对于如此重要的八进制时间段和/或公司/产品更有意义。
啊,是的,扩展寻址18位。
该文档继续使用单词作为内存的单位,理解这是一个约定,在这里了解你的历史,今天我们使用字节,但实际上如果你在内存世界中他们使用位,他们不使用字节来定义记忆的大小。它可能非常好,必须看看数据总线是16位并且地址是基于字的,这对于处理器可以做什么没有任何意义,你正在阅读它的处理器可能有32或64位宽数据总线是否意味着它是单字或双字(双或四字取决于架构及其通用术语)只能寻址?不。