-
3 -
1Kingfeng ,我们作为一个协会誓要治愈这个世界及其居民
Kingfeng 赞同要理解这个问题需要几个比较基本的常识,
位数不代表技术水平,和指令集也完全没有关系
位数实际上的意义是【处理器一次处理的数据量】。
而处理器也并不是常规意义上一小颗处理器,而是更里面的逻辑处理单元。首先从指令集说起,
如果按照指令集的标准,16位最多65536个指令,64位最多有二十位数这么多的指令,显然这太多了,我们根本用不到这么多的指令
曾经有一段时间,人们依靠吧软件指令设计成硬件指令来提高运算速度,但这会造成大量的又臭又长的垃圾指令,只为数亿次操作中的某一次而存在。但之后,人们逐渐的靠着算法的优化和功能的分立,吧这些复杂的设计分解开来。然后就是技术水平
我们现在有声卡、显卡、网卡、计算卡,等等。
这些专有的卡拥有其专有的功能,一个16位的计算卡就可以存储六万多个常用公式,这些卡的存在极大的让趋向于全能的CPU拜托了许多负担,如果一个用户需要专业的数字运算,那么他只需要购买一张计算卡,就可以享受超多的专用指令集提高计算速度,而不需要这种服务的用户也不必为了这些额外的指令出价,也自此,人们不需要追求更高的位数,也能拥有足够强大的运算能力。那么位数究竟是什么,之前答案贴出的一个讨论贴已经有人提到过这个原因了,但是还夹杂着一大堆错误讯息
现在电脑追求的位数,本质上是一种宽度,就像是一个人,他的嘴更大,就能一口吃下更多东西。
就像人们常说的,如果你想用超过4G内存,你就需要64位CPU
那么到底为什么是这样
首先,CPU与内存不是简单的连接起来,而是通过总线连接,CPU会踢一脚内存,并把一个地址放在内存的桌子上,内存会去那个地址找到对应的数据,然后会吧数据放在同一张桌子等待CPU拿走,那么显然,桌子的大小会同时限制单个数据大小,和可以找到数据的范围。
而我们真正需要吧32位变成64位的原因,就是要吧这个桌子变大。接下来,为什么我们现在停在了64位
也很简单,因为这个64位的桌子太大了,到现在我们还没有什么运算可以放满他,单纯的扩大带宽真的没有意义,而且,相对于扩大位数,不断增加更多的CPU反而容易提高计算速度,而吧一个超级无敌大数字的操作,分拆成多个适合CPU带宽的操作并不需要很复杂的变换,这也是为什么超级电脑太湖之光也只是用了四万个64位CPU,而不是选择研发更高位数的数字操作。
在家用领域,同样也是这个道理,相对于一个诸葛亮,用户更希望八核臭皮匠。
就像之前的例子,如果想要快速吃掉更多的东西,相比于一个嘴超级大的人,选择多个嘴比较大的人同时吃或许会更好 -
1Coelanthe ,Löser
none 赞同楼上的链接其实并没有回答我最开始的疑问,不过也跟我问题表述不清有关。
其实我查了一番,这个问题,至少我个人看起来,是个非常有意思的,甚至有点都市传说的东西,参考下面几个讨论。(早先的厂商是怎么吹嘘(宣传)bit位数的?我们都知道N64的来历?)
Can PS2 be considered a pure 128 bit machine??
我好奇的是,很多人在说起PS2配置的时候,往往会说起它的128bit处理器,但是我们都知道,64位指令集的普及才是最近几年的事情。
那么“我想知道為何電玩主機在好幾年前已經是128位元,但是電腦到現在卻還是只進展到64這是為啥呢?”
这学期刚好做了一个利用ARM上NEON SIMD协处理器优化的汇编project,想起了这个问题,思考了一下,这里面是不是就是把SIMD的位数和通用处理器的位数混淆了?之后去查了一下相关的维基百科。Emotion_Engine
The CPU core is a two-way superscalar in-order RISC processor. Based on the MIPS R5900, it implements the MIPS-III instruction set architecture (ISA) and much of MIPS-IV, in addition to a custom instruction set developed by Sony which operated on 128-bit wide groups of either 32-bit, 16-bit, or 8-bit integers in single instruction multiple data (SIMD) fashion (i.e. four 32-bit integers could be added to four others using a single instruction). Instructions defined include: add, subtract, multiply, divide, min/max, shift, logical, leading-zero count, 128-bit load/store and 256-bit to 128-bit funnel shift in addition to some not described by Sony for competitive reasons. Contrary to some misconceptions, these SIMD capabilities did not amount to the processor being "128-bit", as neither the memory addresses nor the integers themselves were 128-bit, only the shared SIMD/integer registers. For comparison, 128-bit wide registers and SIMD instructions had been present in the 32-bit x86 architecture since 1999, with the introduction of SSE. However the internal data paths were 128bit wide, and its processors were capable of operating on 4x32bit quantities in parallel in single registers.
PS2是Sony在2000年推出的,也是Sony非常成功的PlayStation主机的后续产品。这款主机硬件上采用了东芝的300MHz Emotion Engine(EE),Sony自己的150MHz图像合成器。其中Emotion Engine除了具有CPU的功能之外,还可以执行电脑上GPU负责的矢量处理以及顶点渲染,其核心为MIPS R5900,这是一款顺序执行的超标量处理器,可以执行MIPS IV指令集。处理器中包含1个16KB的2路集成指令缓存以及1个8KB的2路集成数据缓存,同时还有一个16KB的数据暂存RAM。这款处理器同时具有浮点处理单元,并具有一个128位的多媒体指令集,类似于X86平台上的MMX。
然后我重新看了一下问题描述里面的帖子,
另外PS2的CPU Emotion Engine設計特別,不能單純以128>64來比,PS2的CPU是內含兩個64位元的整數處理器,和128位元的SIMD(負責多媒體),其實有點像內建SSE的PC CPU了,PS2主要是拿來看影片或打電動,所以才會這樣設計,個人電腦大多是處理一般運算,是不是有必要這麼快就拉到64位元整數運算精度以上呢?(4GB RAM支援是定址問題,先不考慮,浮點運算的話PC CPU早就超過64位元,不在話下...)。
参考:Different Types of Processors
所以
因为这里面涉及到一些计算机架构以及不同指令集的专业知识(我现在缺乏的)问题,所以后面的部分我暂时就先不打了。
-
登录奶牛关账号即可参与讨论
{{question['follower_count']}} 个玩家关注
相关元素
相关问题
为主机做独占游戏值不值?3人关注 2个回答
你更倾向于用主机而不是 PC 玩游戏的原因是?8人关注 16个回答
作为N64的幻之配件,64DD的格式有何特殊之处?1人关注 0个回答

主机上面的位数(bit)和PC上面的位数有什么区别,为什么主机会领先一些?
0 条评论