64位和128位CPU的那些事兒
时间:2009-10-12
来源:互联网
這幾天論壇上討論這個問題,引發了一些爭議。其中一大疑問,是像PS2這樣遊戲機所用的CPU的位寬問題——由於分析其內部規格的時候,寄存器的位寬各不相同,所以難以判定。
類似情形,在用於PC的CPU上也時有發生。例如以前的Pentium Pro,含有36位地址總線,但是只支持32位指令集,而地址操作可通過PAE擴展來實現,所以仍然是32位CPU。
所以,要判斷CPU的位寬,更簡便有效的方法是查看它的架構和指令集,因為兩者都規定了它能操作數據的位寬。支持多個指令集的CPU,其架構取決於能完成通用數據操作的主指令集;而那些用來操作特定數據的指令集,並不能作為判斷的依據。此外,由多個不對等單元構成的CPU,其位寬應由主控單元決定。
下面我來簡單分析一下,望高手莫笑。
下面是按架構分類的當前常見64位CPU。
----------------------------------------------------------------------------------------------------------------------------------------------
在分析的過程中,也看了下中文和日文的維基,相對來講,無論是質還是量都比英文維基要差了很多。英文維基不僅有詳盡的描述,還給出了充分的引用和外部鏈接,所以權威性更強。但是,學習的過程中,也不能完全依賴維基——畢竟維基是人寫的,不免有疏漏。至於其它一般的中文資源,常常是錯誤百出。
行文倉促,如有疏漏,請不吝賜教。
------------------------
原文鏈接:
位於 coderoar.wordpress.com
類似情形,在用於PC的CPU上也時有發生。例如以前的Pentium Pro,含有36位地址總線,但是只支持32位指令集,而地址操作可通過PAE擴展來實現,所以仍然是32位CPU。
所以,要判斷CPU的位寬,更簡便有效的方法是查看它的架構和指令集,因為兩者都規定了它能操作數據的位寬。支持多個指令集的CPU,其架構取決於能完成通用數據操作的主指令集;而那些用來操作特定數據的指令集,並不能作為判斷的依據。此外,由多個不對等單元構成的CPU,其位寬應由主控單元決定。
下面我來簡單分析一下,望高手莫笑。
- Emotion Engine
PS2採用的Emotion Engine處理器,由八個單獨的單元構成:一個CPU核心(雙路超標量順序RISC處理器)、兩個Vector Processing Units (VPU)、一個Graphics interface(GIF,圖形接口)、一個十通道DMA單元、一個內存控制器、一個Image Processing Unit (IPU,圖像處理單元)和一個Input Output Interface(輸入輸出接口)。
上述中的CPU核心支持MIPS-III和大量MIPS-IV指令以及一個索尼定製的128位SIMD指令集:前兩個都是64位通用指令集;後者還可操作特定128位數據。
它包含了128位的整數寄存器來支持其定製指令集,因此在廣告中被稱為128位處理器。但是由於只能使用64位內存地址,從傳統意義上講僅僅是一款64位處理器。
- Cell
PS3採用的Cell處理器,由一個”Power Processing Element”(PPE,基於Power架構的雙路多線程處理器,含有64位的通用寄存器,64位浮點寄存器和128位的Altivec寄存器,作為SPEs的控制器)和七個Synergistic Processing Elements(SPEs,帶128位SIMD結構的RISC處理器,僅含128位寄存器)構成。
PPE於上面Emotion Engine的CPU核心類似,支持一種可操作128位浮點和整數的SIMD指令集——AltiVec指令集。
由於PPE作為控制器與SPE和外界打交道,所以Cell的位寬由PPE決定。由於Power架構是64位架構,因此PPE是64位的處理器,Cell處理器也就是64位。
- Xenon
Xbox 360上的Xenon處理器,由三個稍作修改的PPE核心(就是上面為PS3設計的Cell處理器中的那個)構成,是64位。
- Broadway
Wii上的Broadway處理器,沒有其核心數量方面的資料,但是可知其核心是基於Power架構的,所以是64位。
下面是按架構分類的當前常見64位CPU。
- Intel Itanium architecture (先前稱為IA-64)
- Itanium
- MIPS64 architecture
- Emotion Engine (用於PS2)
- Power architecture
- Broadway (用於Wii)
- Cell Broadband Engine (用於PS3)
- Xenon (用於Xbox 360)
- x86-64 (又稱x64,AMD稱之為AMD64,Intel先前稱之為EM64T,現稱之為Intel 64)
- AMD K8 及後繼核心構成的CPU
- Intel Atom (N和Z系列除外)
- Intel Celeron (2005年中的Prescott-256及以後核心)
- Intel Core (2 · i5 · i7)
- Intel Pentium Dual-Core (Yonah核心的除外)
- Intel Xeon (Nocona及以後核心)
- VIA Nano
----------------------------------------------------------------------------------------------------------------------------------------------
在分析的過程中,也看了下中文和日文的維基,相對來講,無論是質還是量都比英文維基要差了很多。英文維基不僅有詳盡的描述,還給出了充分的引用和外部鏈接,所以權威性更強。但是,學習的過程中,也不能完全依賴維基——畢竟維基是人寫的,不免有疏漏。至於其它一般的中文資源,常常是錯誤百出。
行文倉促,如有疏漏,請不吝賜教。
------------------------
原文鏈接:
位於 coderoar.wordpress.com
作者: coderoar 发布时间: 2009-10-12
楼主用心了,顶
作者: allisfree 发布时间: 2009-10-12
这事, 看wiki还是不靠谱, 谁有EE的datasheet能给看一眼就好了.
128位的SIMD指令并不能说明CPU就是128位的.
但是假如真如英文wiki所说, EE能把两个64位ALU聚合起来变成128位ALU来使用, 并且配合上128位通用寄存器和128位LOAD/STORE指令(这意味着EE可以处理128位地址, 而不是你说的64位), 那他是128位CPU就没啥争议了, custom instruction set应该不是全是SIMD指令吧.
不知道哪儿有更权威点儿的资料.
128位的SIMD指令并不能说明CPU就是128位的.
但是假如真如英文wiki所说, EE能把两个64位ALU聚合起来变成128位ALU来使用, 并且配合上128位通用寄存器和128位LOAD/STORE指令(这意味着EE可以处理128位地址, 而不是你说的64位), 那他是128位CPU就没啥争议了, custom instruction set应该不是全是SIMD指令吧.
不知道哪儿有更权威点儿的资料.
作者: kevinlei 发布时间: 2009-10-12
佩服这样的仔细,学习了。。
作者: jarryson 发布时间: 2009-10-12
引用:
作者: kevinlei
这事, 看wiki还是不靠谱, 谁有EE的datasheet能给看一眼就好了.
128位的SIMD指令并不能说明CPU就是128位的. 但是假如真如英文wiki所说, EE能把两个64位ALU聚合起来变成128位ALU来使用, 并且配合上128位通用寄存器和128位LOAD/STORE指令(这意味着EE可以处理128位地址, 而不是你说的64位), 那他是128位CPU就没啥争议了, custom instruction set应该不是全是SIMD指令吧. 不知道哪儿有更权威点儿的资料. |
看着個PDF,來自維基里的引用部分,裡面講的很詳細。
Diefendorff, Keith. "Sony's Emotionally Charged Chip", Microprocessor Report, Volume 13, Number 5, 19 April 1999. Microdesign Resources.
作者: coderoar 发布时间: 2009-10-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28