如何定义X is an N-bit CPU
来源:互联网 发布:俄罗斯方块c语言 编辑:程序博客网 时间:2024/06/11 02:10
As has been discussed here, and in that old BYTE article, there is a *long*
history in computing that the phrase "X is an N-bit CPU" meant that tha
architecturally-visible size of the integer (or general-purpose) registers
was N bits.
Bus width is an *implementation* issue, and members of the same family can,
and often do, have a wide range of bus widths, and different bus widths in
different places (such as L2 caches, system bus, etc) ...
Family Architecture Bus widths
S/360 32 8, 16, 32, 64 (at least)
PDP-11 16 16, 32, 64 (at least)
VAX 32 32, 64 (at least)
X86 (386->) 32 16, 32, 64
68K 32 8, 16, 32, 64
MIPS (32) 32 32
MIPS (64) 64 32, 64, 128, 256
(note R8000 cache-bus <-> memory
== 256, and various members' L2 cache:
128 bits)
Size of FP registers is also irrelevant to common nomenclature: nobody calls
an X86 an 80-bit chip; many 32-bit architectures have 64-bit FP registers.
This common practice:
- is not necessarily right.
- is sometimes disobeyed by marketing.
- but has been the common practice for a long time.
Traditionally, if a CPU was labeled N-bit:
- integer registers were N bits
- (convenient) addresses were N bits, or perhaps slightly less.
See BYTE, September 1991, page 136 for a big table of these for
various machines.
External bus widths, floating point widths, segmented addresses, etc,
have generally been irrelevant [for example, S/360s were 32-bit,
but had implementations of 8, 16, 32, and 64-bit busses, etc]
The MC68000 (ignoring high 8 bits) was a direct repeat of the S/360:
both 32-bit machines with 24-bit addresses, and no high-byte check,
and similar consequences.
Sometimes a CPU usefully supports 2 sizes of N, i.e.,
X86: 16 & 32
Alpha, MIPS R4K & later: 32- and 64-bit
at which point one may see both sizes used for operating systems,
i.e., using the smaller size of existing OSs, then converting to
the larger size over time.
User programs also vary, with several systems being willing to
mix user-level codes of different sizes.
Sometimes marketing diverges from engineering practice...
and these days, the tendency is to attempt to label something as 64-bit
if anything is 64-bit anywhere :-)
Despite the horror that this creates in various people, some people
use C with 64-bit "long long" and 32-bit pointers to get speedups on
32-bit code where big addresses are not relevant, but bigger
integer performance is, i.e., like on Nintendo N64s or various other
embedded applications.
- 如何定义X is an N-bit CPU
- Return 1 when x can be represented as an n-bit, 2's complment number; 0 otherwise
- 【CPU中微处理器如何定义】
- Given an 32-bit integer X, swap the i-th and j-th bit.
- 给定整数x,定义函数A(n)=1+x+x2+x3+…+xn(n为整数且n>=0).已知乘运算的时间远大于加运算,输入x,n;如何尽可能快的求出A(n)?
- UnsatisfiedLinkError X.so is 64-bit instead of 32-bit之Android 64 bit SO加载机制
- UnsatisfiedLinkError X.so is 64-bit instead of 32-bit之Android 64 bit SO 加载原理
- UnsatisfiedLinkError X.so is 64-bit instead of 32-bit之Android 64 bit SO加载机制
- ƒ(x)= ∑ n=0 ∞ an x (n-1 2 ) 公式对齐实例
- 解决 e.g. x.new A() where x is an instance of xxx.class
- 128-bit整数定义
- 解决NDK编译问题member at n is not an ELF object
- My 4-Bit TTL CPU
- Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missi
- 解决java.sql.SQLException: Parameter number X is not an OUT parameter
- 解决java.sql.SQLException: Parameter number X is not an OUT parameter
- No enclosing instance of type X is accessible. Must qualify the allocation with an enclosing
- java.sql.SQLException: Parameter number X is not an OUT parameter
- SQL*PLUS命令的使用大全
- Mysql转换或者升级以后出现乱码情况的说明
- 在eclipse下运行或调试Ofbiz的出现Can't find bundle for base name cache, locale zh_CN错误的解决方法
- VC使用CRT调试功能来检测内存泄漏
- mysql4.0升级到5.0,phpmyadmin乱码,网站程序正常
- 如何定义X is an N-bit CPU
- MySQL和phpMyAdmin工具與UTF8中文亂碼的終極研究
- 解决PHP存取MySQL 4.1乱码问题
- Windows Live Writer写CSDN BLOG
- MySql数据库升级乱码问题
- MySQL 升級後續 - 亂碼、編碼問題
- MySQL 4.1x 中文乱码问题
- 老大为什么的MySql数据在中的中文数据在phpmyadmin浏览为是乱码?
- 刘德华内地官方独家视频网