小编Mar*_*ler的帖子

是什么让 CPU 架构成为“X 位”?

警告:我不确定此类问题属于哪里。如果您知道更好的地方,请留下链接。

背景:想象一下您听到这样的句子:“这台计算机/处理器具有 X 位架构”。现在,如果该计算机是标准的,您会获得很多信息,例如最大 RAM 容量、最大无符号/有符号整数值等等......但是如果计算机不是标准的怎么办?

谜底:回到70年代和80年代,那个时期被称为“8位时代”。等等,8 位?是的。因此,如果 CPU 架构是 8 位,则:

  • 计算机的最大 RAM 容量正好是 256 字节。
  • UInt 的最大范围是 0 到 256,有符号整数的最大范围是 -128 到 127。
  • 最大ROM容量也是256字节,因为你必须能够跳来跳去?

然而,显然不是这样的。看看当时游戏机的一些技术特征,你会发现它们超出了256的限制。

报价(http://www.8bitcomputers.co.uk/whatbasics.html):

Sharp PC1211 实际上是一台 4 位计算机,但巧妙地将两台计算机粘合在一起,看起来像 8 位(一台能够加起来达到 16 位的计算机不会很有用!)

那么如果是4位计算机,为什么可以操作8位整数呢?还有另一个...

Sinclair QL 是真正让专家们争论不休的计算机之一。在某些方面,它是一台 16 位计算机,在某些方面它甚至像一台 32 位计算机,但它的内存为 8 位。

什么?那么为什么 www 中会出现这样的混乱呢?8bitcomputers.co.uk

一般来说: X位计算机是如何定义的?

  • 它拥有的最大数据总线是 X 位长(那么 Sinclair QL 是一台 32 位计算机)?
  • 该计算机的 CU 函数有 X 位长?
  • 它以 8 位保存其内存(在寄存器、ROM、RAM 等中)?
  • 其他定义?

目的:我认为我正在设计的是一个4位CPU。我真的不知道它是否具有 4 …

cpu cpu-architecture bit

5
推荐指数
1
解决办法
1452
查看次数

计算机如何将寄存器设置为常量值?

警告1:我对现实生活中的CPU设计一无所知.

警告2:我不知道"CPU指令","CPU操作"和"CPU功能"等术语之间的区别.也许有一个,也许没有,但我使用这些就好像它们是同义词.如果我错了,请纠正我.

背景:想象一下,你有一个带有两个寄存器的4位CPU.现在你需要加载一个常量值来注册1!可能有几种方法可以做到这一点:

  • 像0SXX这样的指令,其中0表示它是"设置寄存器到X"类指令,S表示寄存器1的哪一侧应加载XX.
    • 优点:易于操作寄存器1.只需使用两个字节的程序存储器即可设置常量值.
    • 缺点:消耗可能的CPU指令的HALF.对于我的4位小设备来说,这是一个悲剧,但也许这对于= 8位计算机来说并不是什么大问题.
  • 纯粹的算术/逐位CPU系列功能(如AND,OR,NOT,XOR,RoR,RoL,INC等......)
    • 优点:没有额外的CPU实现.
    • 缺点:需要更多指令,常量加载速度较慢,当然,在装配中加载常量之前需要考虑更多.
  • 介于两者之间的东西?像清除寄存器,加载?? XX然后逻辑运算?
  • 还有别的我没有想过的东西?

通常:

  • 有没有办法让所有正常的现代CPU将寄存器设置为常量值?
    • 如果不是,最常见的方法是什么?
  • 旧的4/8位计算机有不同的方法吗?

我认为任何接触过大会的人都会知道asnwer.我非常感谢你的帮助!提前致谢.

cpu assembly cpu-architecture cpu-registers

2
推荐指数
1
解决办法
2281
查看次数

标签 统计

cpu ×2

cpu-architecture ×2

assembly ×1

bit ×1

cpu-registers ×1