題:
為什麼沒有256位或512位微處理器?
Michael harris
2012-10-04 18:02:23 UTC
view on stackexchange narkive permalink

在8位微處理器中,其數據總線由8條數據線組成。在16位微處理器中,其數據總線由16條數據線組成,依此類推。

為什麼既沒有256位微處理器又沒有512位微處理器?他們為什麼不簡單地增加數據線的數量並創建256位微處理器或512位微處理器?

阻礙創建256位微處理器或512-bit的障礙是什麼?位微處理器?

即使是營銷,也不能永遠保持增長。
“……它的數據總線由……組成”這幾天不是那麼真實……
為什麼還沒有256刀片剃須刀?
@Rocket:再等幾年。我記得在1970年代吉列(Gillette)推出“ Track 2”時。它應該是一個巨大的新進展。 “週六夜現場”以口號“因為您會相信任何東西” *欺騙了“ Track 3”的廣告。現在,我們實際上有了Track 3(或他們實際稱呼的任何軌道)。顯然,您真的會相信任何事情。
@OlinLathrop檢查帶有5個刀片和一個電池的[Gillette Fusion Power](https://en.wikipedia.org/wiki/Gillette_%28brand%29#Newer_products)!
答案與此問題的答案相同:我們有1和2和3和4和5和6和8和12和16缸汽車。為什麼我們沒有32、64和128缸汽車?
我們為什麼要買車?
@Russell:因為那時全球範圍內沒有氣瓶。
-1
@jippie-我喜歡。但是它只有18個氣缸:-)。甚至沒有達到我列表中最低的32缸:-)。
有關128位微處理器的一些小知識,請訪問:http://en.wikipedia.org/wiki/128位(因為已設計了至少兩個,但實際上不存在)。
“ x位處理器具有x條數據線。”不。大約在1979年的Intel 8088是具有8條數據線的16位proc。大約在1988年的Intel 80386-SX是具有16條數據線的32位proc。摩托羅拉(Freescale)68000,約1979年,帶有16條數據線的32位proc。摩托羅拉68008,大約1982年,帶有8線數據總線的32位proc。我敢肯定還有其他人。 http://en.wikipedia.org/wiki/8088,http://en.wikipedia.org/wiki/80386SX#The_i386SX_variant,http://en.wikipedia.org/wiki/Motorola_68000,http://en。 wikipedia.org/wiki/Motorola_68008
Transmeta不久前推出了256位處理器。它模擬了x86,因此可以運行標準應用程序。不能說256位元的性能,但128位元的速度有點慢! http://en.wikipedia.org/wiki/Transmeta_Crusoe
因為市場還沒有為他們準備好。對於最好的產品,市場接受度是非常重要的。
@OlinLathrop-您不是在全球範圍內短缺_holes_嗎?那些大的閃亮洞很貴。
十 答案:
Olin Lathrop
2012-10-04 18:39:45 UTC
view on stackexchange narkive permalink

考慮一下。您究竟預想“ 256位”處理器是什麼?是什麼使處理器的位元首位?

我認為,如果沒有進一步的限定條件,處理器的位元就是它的ALU寬度。這是它可以在單個操作中本地處理的二進制數的寬度。因此,“ 32位”處理器可以在單個指令中直接對最大32位寬的值進行操作。因此,您的256位處理器將包含一個非常大的ALU,能夠在單個操作中進行256位數字的加,減,“或”,“與”等操作。你為什麼要那個?哪怕是處理器只計算一個循環的100次迭代之類的情況,大型且昂貴的ALU值得擁有並付錢嗎?

關鍵是,您必須為此付出代價。廣泛的ALU,無論您是大量使用還是僅使用其功能的一小部分。為了證明256位ALU的合理性,您必須找到一個足夠重要的問題,而這實際上可以從在單個指令中處理256位字而真正受益。儘管您可能會想到一些示例,但這些問題不足以使製造商感到他們將永遠無法獲得生產這種芯片所需的大量投資的回報。如果存在真正可以從廣泛的ALU中受益的利基但重要(資金充足)的問題,那麼我們將看到針對該應用的非常昂貴且高度針對性的處理器。但是,它們的價格會阻止在其設計的狹窄應用程序之外的廣泛使用。例如,如果256位使某些加密應用在軍事上成為可能,那麼可能會出現每個花費100至1000美元的專用256位處理器。但是,您不會將其中之一放入烤麵包機,電源甚至是汽車中。

我還應該清楚,寬泛的ALU不僅會使ALU變得更昂貴,而且還會使芯片的其他部分也變得昂貴。 256位寬的ALU也意味著必須有256位寬的數據路徑。僅此一項就需要大量的矽面積。數據必須從某個地方到另一個地方,因此必須有寄存器,緩存,其他內存等才能有效使用寬範圍的ALU。

另一點是,您可以執行任何操作任何寬度處理器上的寬度算術。您可以在8條指令中將32位存儲器字添加到PIC 18上的另一個32位存儲器字中,而您可以在只用2條指令擴展到32位的相同架構上進行操作。關鍵是,狹窄的ALU不會使您無法執行廣泛的計算,只是會使廣泛的計算花費更長的時間。因此,這是速度而不是能力的問題。如果查看需要使用特定寬度數字的應用程序範圍,您將看到很少需要256位字。用硬件加速僅對少數幾個應用程序提供幫助而無法幫助其他應用程序的開銷,這是不值得的,並且不能為產品開發做出良好的投資。

我討厭這樣說,但是在這裡我不同意。讓我想一個例子:視頻遊戲的圖形渲染。您可能聽說過這是一個價值數百億美元的小市場。
@Rocket:首先,OP問了一個*微處理器*,而不是圖形處理器。其次,圖形渲染不需要特別寬的文字。許多較小的操作可以並行完成,但是我不會將8個CPU內核並行地稱為“ 256位”處理器,每個內核處理32位數據。您是否將四核PC稱為“ 256位”處理器,只是因為每個核都可以本機處理64位數據?我認為這是對術語的濫用,甚至英特爾營銷似乎也沒有以這種方式推銷多個內核。
在那種情況下,仍然是錯誤的。我將帶有MMX的Intel Pentium稱為*微處理器*,並且具有SIMD。這不是*要與8個*內核混淆。 SIMD實際上是由廣泛的ALU實現的。每個內核包含其自己的具有SIMD功能的廣泛ALU。
@Rocket: SIMD是另一種並行性,但是我仍然不會稱其為寬泛的ALU,只是一堆小的ALU緊密並行運行。例如,在這樣的SIMD處理器上,您無法對所有進位進行256位加法。並行性與更廣泛的ALU不同。您似乎正相反。也許您可以爭論什麼是平行的還是更廣泛的,但是使用非常規的定義然後聲稱其他解釋“嚴重錯誤”只是在進行小便大賽。
例如,SIMD加法指令與非常寬的加法指令相同,除了進位在幾個點處被折斷。
+1但是,我要補充一點,如果您確實需要這樣的操作,並且運行使用這些值的算法,那麼“數字信號處理器”可能是一個更好的選擇,並且它們已經存在。對於這樣的計算,我發現具有SIMD功能的小型DSP(單指令多數據,對於矢量乘法等有用)比具有更寬ALU的簡單處理器要有用得多。
@Rocketmagnet是的,具有MMX的Intel Pentium不是“ 128位CPU”,而是32位。 :)
@hobbs-不,它只是SIMD的早期示例。但是,具有[AVX](http://en.wikipedia.org/wiki/Advanced_Vector_Extensions)的英特爾芯片能夠*針對每個內核*在每個指令上處理ALU中的256位數據。這使得它們實質上是256位CPU。這是一個明顯的例子,說明256位CPU很有意義,並且正在為需要它們的市場而製造。這就是奧林錯的原因。
@Rocket:僅通過並行執行一堆操作就可以一次在256位上工作CPU並不能使其成為“ 256位” CPU。這意味著它實際上可以直接在256位寬的數字上工作,而事實並非如此。就像您自己說的那樣,獨立的並行ALU單元之間沒有進位,因此它不是256位ALU。您似乎對CPU的位數有一個不尋常的定義。它不是一次可以處理的位數,而是一個整體可以處理的字寬。
@OlinLathrop-您的思維過於僵化。定義CPU位寬度的方法有很多,包括地址寬度,總線寬度,指令寬度,寄存器大小,ALU寬度。如果CPU可以從內存或寄存器中收集兩個256位數據包,通過256位寬的ALU處理它們,然後回寫256位,則調用256位CPU是相當合理的。
當我在學校時,我們被告知,軟件人員根據“邏輯”指令集寬度來測量位,而硬件人員則根據總線寬度來測量位。因此,8088對軟件人員來說是16位處理器,對硬件人員來說是8位處理器。 8086對每個人都是16位的。當然,營銷人員會找到他們所能找到的最大數量,因此,希望他們不要閱讀此註釋線程,而開始營銷512位CPU! :-)
@Rocketmagnet Olin在他的主要回答中涵蓋了諸如加密(2000位以上的數學運算,乘法,加法)和圖形之類的異常。 SIMD被廣泛用於圖形處理,它是並行執行這種類型的數學運算的一種方法,但是沒有通用的情況。手動編碼算法等。32-64位足以滿足我們所做的99%的工作,在充滿文字和圖像的網頁上進行瀏覽。向彼此發送消息並拖曳論壇。除了這些特殊用途外,通用計算機的成本實在是太高了,沒人會買。
我不確定所有256位組合是否有用,因為使用所有這些都需要能量... http://en.wikipedia.org/wiki/Brute-force_attack#Theoretical_limits
@woliveirajr:許多非對稱密鑰密碼算法要求具有計算`(n1 * n2)mod n3`的能力,其中n1,n2和n3都在1,000-4,000位的數量級上。具有較大乘法器的處理器可能對此有所幫助。另一方面,如果希望執行4096x4096位乘法,則將它們細分為每個4096x16 256個塊可能比每個256x256 256個塊更快和更便宜(前一種設計可以流水線化以產生每位16位最終結果週期,沒有超過32個階段的進位鏈)。
“必須有256位寬的數據路徑。僅此一項將佔用大量的矽面積”-不要忘記寄生電容。將256位寄存器從-1更改為0會花費很多時間。這意味著大量的廢熱。這意味著響亮的粉絲,笨重的粉絲和磨損更快的粉絲。你懂了。
stevenvh
2012-10-04 18:23:33 UTC
view on stackexchange narkive permalink

好吧,我不知道256位或512位,但是我聽說過1024位處理器(我現在找不到)。這個詞是 VLIW ,代表非常長的指令詞。這就是指令總線,而不是數據總線寬度。優點是您可以大規模實現指令級並行(ILP)

我與ILP的第一次接觸一定是20年前使用摩托羅拉DSP的情況,用於在將數據移入和移出內存時執行MAC(乘法和累加),以便您可以在下一條指令上執行新的MAC,而不會浪費兩個MAC之間的時間來移動數據。
今天,通用提供此選項的控制器。 VLIW在更大範圍內應用了此方法。

由於您的數據總線寬度不會那麼寬,因此您可以在一條指令中添加多個指令以及常量。數據總線不遵循趨勢的原因是,它非常無用。 64位數據寄存器可以代表20個十進制數字。您上次需要20位數的精度是什麼時候?對於大多數應用程序10 \ $ ^ {20} \ $ = \ $ \ infty \ $。

進一步閱讀
VLIW體系結構 >

大多數財務計算方法:(現在遇到了這個問題
我以為x86是VLIW CPU。 ;-)
@MarcusLindblom僅當通過VLIW表示可變長度指令字時。 ;-)
@MarcusLindblom:這可能是因為它具有可變長度指令。它仍然運行良好的原因之一;通用指令更短,這有利於代碼緩存。
@AK4749,您正在運行需要20個十進制數字的金融交易嗎?即使您的帳戶以印尼盾計價,我也會很樂意與您交換銀行帳戶。
@ThePhoton哈哈哈,是的,幾年前沒有人看到過,所以現在我們不得不使用動態舍入等技巧,以防止微小的FP錯誤在攤銷時在短短幾年內累積
@AK4749,會計標準的歷史可以追溯到每個銀行分行都可以使用計算機之前。我認為在美國,計算僅達到0.00001美分(1/100百萬)左右。如果您從事金融業務,則應使用固定點並使用您所在國家/地區常用的捨入標準,而不要使用浮點並嘗試使這些標準以外的精度最大化。
@ThePhoton啊,但是看到那是我們誤會的地方。我們與金融客戶及其*預測*打交道。在極少數情況下,涉及重播具有不同結果的舊事務時,小數點前的12位數字可能會使小數點後的值減少多達百分之一。一分錢​​的差額可以在短短十年內預測額外的1萬億美元。最新會計是一門簡單而精確的科學。我們不是。
-1
當然,他們永遠不會使用長達十年的預測作為當前決策的基礎,即使我作為程序員也不會如此愚蠢。但是,(很明顯,我們已經解決了發散錯誤的問題,因此不存在),實際上,最大的客戶確實出於不願向供應商透露的任何惡意目的而需要這些類型的功能。此外,在金融領域工作了兩年的人,我可以告訴您,金融公司實際上確實使用了更高的精度計算(1/2)
(2/2),如果有必要,則由於某種原因無法將數據移交給扇區/子公司時,如果需要,可以轉換回較低的精度。 *銀行*與*金融是一個單獨的空間,由於目標不同,其要求也有很大不同。
Ants Aasma
2012-10-04 18:48:57 UTC
view on stackexchange narkive permalink

微處理器的“位”通常根據通用寄存器的大小來定義。大小確定處理器可以本地處理多少個數字以及可以訪問多少內存。 64位數字幾乎可以滿足所有算法的需要,可尋址內存(1600萬兆字節)的容量在相當長的一段時間內就足夠了。增加通用寄存器的大小根本沒有任何優勢。在另一方面,用於在寄存器上執行操作的算術邏輯單元(ALU)的面積與位數的平方成比例。 256位的ALU會大16倍,並且速度會慢得多。實際上,英特爾的Sandy Bridge和Ivy Bridge處理器就是這樣做的,它們具有256位SIMD寄存器,並且每個週期可以對它們執行兩次算術運算和一個存儲器運算。因此,如果一個偷偷摸摸的營銷商想要改變常規使用的條款,那麼可以稱它們為256位甚至768位處理器。

那是一個令人印象深刻的體系結構。
+1表示“想彎腰定期使用的字詞的行銷商”。
Kaz
2012-10-04 23:12:05 UTC
view on stackexchange narkive permalink

首先,處理器的位大小通常由機器語言程序員可見的抽象體系結構決定,而不是由數據總線大小之類的實現細節決定。

例如,摩托羅拉68000是32位處理器。它具有32位數據寄存器和32位地址寄存器。現在,該體系結構家族的第一個版本僅公開24位地址線。此外,存在僅具有8位數據總線的變體(因此,處理器需要多個訪問周期來執行32位存儲器操作)。 “本機”操作幾種數據類型,因此分別查看256位或512位對於這些數據類型中的每一個意味著什麼是有幫助的。我們有整數,指針和浮點類型。

  1. 整數:程序從32位和64位整數中獲得了很多收益。如果限制為64位,則解決方法是使用軟件實現的bignum整數。高級語言可以實現整數類型,以便操作可以在“ fixnums”和“ bignums”之間平滑切換。當然,使用bignum會對性能造成負面影響,但是您必須從整體上考慮:程序中有多少個操作是bignum操作。 256或512位數字並不能消除對bignum的需求,它們只會增加淨空,而我們必須切換到bignum。如果要操作2048位公共密鑰,則將無法使用512位整數(但是具有512位數字的bignum可能會很快)。

  2. 指針:較寬的指針允許兩件事:較寬的地址空間以及存儲在指針中的其他元數據。這些天地址空間是虛擬的,因此即使內存不增加,地址空間也可以增加。有人建議,如果您有128位指針,則地址空間是如此之大,以至於您可以將操作系統和內核的所有用戶空間進程放在一個不受保護的空間中的任意位置,這不太可能碰撞。不僅可以簡單地創建更大的地址空間,還可以使用胖指針來承載不是地址位的位,例如有關引用對象的信息(類型,大小和其他信息)或與安全性有關的信息。這種事情可能會有一些“最佳肥胖”,而且如果我猜到了,我仍將其限制在128位。轉到256位指針似乎沒道理,更不用說512。Fatter指針有一個缺點:它們會膨脹所有包含指針的數據結構。而且,通常,您希望指針的大小相同,否則,在指令集體系結構(如內存段)中需要復雜化,因此您將擁有完整的指針(段描述符和偏移量)或僅局部指針(在某些可理解段內的偏移量)

  3. 浮點類型:浮點數中的更多位意味著更高的精度。我要說的是,浮點類型從更廣泛的表示中受益最大。 256或512位浮點類型將提高數字代碼的穩定性以及需要多次迭代的科學計算的質量,並在此過程中累積錯誤。浮點數的精度與整數精度不同:我們無法將浮點數類型分為fixnums與bignums之類的範圍。浮點數的更高精度會影響所有不精確數字的質量,無論它們接近於零還是具有較大的數量級。浮點指數中更多的位也可以極大地擴展浮點數的範圍,並且比將位添加到大整數中要快得多。

  4. ol>

    由於這些原因,我懷疑未來的主要趨勢將是硬件浮點數的寬度增加,而不一定是指針和整數的寬度增加。

    請記住,浮點數已經領先於其他浮點數過去的類型。例如,有一段時間我們主要使用32位處理器支持64位IEEE雙浮點數。這是因為儘管您可以使用32位指針和整數完成很多工作,但是對於任何嚴肅的數字工作,32位浮點數非常有限。

    一個非常非常有用的功能,很高興看到浮點表示形式的出現,它是類型標記的一些備用位。用動態的高級語言(對象具有類型,但是存儲位置保留任何類型的值)來實現浮點類型是一項艱苦的工作,因為可以在指針和類似整數的對像中找到備用位來放置識別類型標記,這很難處理浮點數。因此,最終經常發生的是浮點數被堆分配。有些方案會從尾數中竊取位,因此與同一台機器上其他語言的浮點數相比,該語言的浮點數類型會失去精度。

不錯的描述。順便說一下,常見的x86處理器已經有80位浮點很長時間了,如果我沒記錯的話,因為它們是第一個硬件浮點單元。 80位在FPU內部,然後通常導出32或64位。
從技術上講,已經完成了。谷歌“南拳”或“修女拳”。更為有前途的是64位ARM中的硬件類型標籤,但不幸的是不會很快。
可以直接訪問80版本。上世紀90年代,當我學習用Turbo Pascal編程時,有一種80位浮點類型。
-1
@supercat GPGU Wikipedia:* [NVidia] GPU上的大多數操作都以矢量化方式進行操作:一個操作可以一次對多達四個值執行。例如,如果一種顏色要由另一種顏色進行調製,則GPU可以在一種顏色中生成結果顏色操作。*
@Kaz:我的問題是基於這樣的觀察:雖然256位足以存儲僅兩個填充為128位的兩個80位值,但將三胞胎填充為256位將產生更好的存儲/總線/緩存效率和數量通常用於三胞胎。我想念我的Borland編譯器曾經支持的80位硬件浮點類型,並且希望看到它們使用更多。進一步。如果需要較小的XYZ值格式,則40ish位類型將優於32位,而20ish位將優於16位。
pjc50
2012-10-04 18:29:39 UTC
view on stackexchange narkive permalink

它實際上並沒有幫助您做任何有用的事情。 64位數字可以為幾乎所有目的提供足夠的精度(儘管Intel系統具有80位浮點數),但是多餘的行會增加成本和功耗,同時對時鐘速度產生較小的負面影響。

從歷史上看,CPU使用的最小位數對他們的預期目的具有實際意義。隨著技術的進步,更廣泛的總線和ALU成為可能,因此總線尺寸的增加可滿足更廣泛的適用性:

  • 4位:足夠用於一位數字,因此(對於BCD型)計算器很實用,收銀機等(面積相當有限)
  • 8位:足以容納(ASCII)字符,適用於文本處理系統(面積非常大),也適用於低位高質量的聲音
  • 16位:當流行16位時,2 ^ 16的內存地址是一個合理的數量(至少比2 ^ 8或2 ^ 32更合理)。 16位產生的音頻質量是完全可以接受的,並且大多數A / D轉換器產生的結果少於16位,因此使用16位的此類值進行計算是有意義的
  • 32位:32位適合大多數精度(但不是全部)人為測量的數量,除非您要處理大型數據庫,否則2 ^ 32個地址對於大多數實際目的都是足夠的。
  • 64位:現在具有大於2 ^ 32字節的內存已成為現實。
  • 128位:目前,除了加密之外,與32位相比幾乎沒有優勢。我們何時預計硬盤上會超過2 ^ 64個字節?可能不會很快。
在您這樣說之前,您可能需要閱讀stevenvh的鏈接並進行更多研究。
“ 640K對任何人都應該足夠。”比爾·蓋茨(1981)
@jippie-蓋茨從沒這麼說過。
-1
實際上,大多數8位CPU能夠尋址2 ^ 16字節的內存,而16位苦味劑2 ^ 32,80386(32位)理論上也可以尋址2 ^ 64字節(4GB)的內存,這本來就沒有用不管怎麼說
@Rocket-它屬於不正確的著名語錄列表,例如“ Sam再玩一次”,Bogart也從未說過。
@Axel-16位8086只能尋址2 \ $ ^ {20} \ $字節的內存,當他們發現這還不夠時,他們不得不想出可怕的事情,例如擴展和擴展的內存管理器。
@stevenvh 8086於1978年問世(設計工作是在幾年前開始的),那時1 MiB的RAM似乎與1985-1986年80386首次亮相時的4 GiB RAM差不多。比較一下TRS-80,該產品最初於1977年提供** 4 KiB **的RAM。如今,擁有超過4 GiB的RAM已司空見慣,即使在中低端家用PC中(我的家用PC擁有32 GiB) RAM的數量幾乎是不可思議的,即使在80386推出之時,它可以用作類似於PC的任何東西的二級存儲,也可能是100 MB的硬盤。
是的,我記得那些日子……不是所有的事情都比那時更好;-)
@MichaelKjörling:不確定當時是否還存在100MB硬盤。 FAT只能合理地處理最大大小的分區,每個磁盤的分區數量也不是無限的。我看到的第一台帶有硬盤的計算機具有令人難以置信的10MB(IBM XT)。當時沒人知道如何處理那麼多的存儲空間...
@Axel-我的第一台PC擁有80 MB的巨大硬盤,我必須將其分區為兩個32 MB和一個16 MB分區,因為32 MB是DOS可以處理的最大容量。
@Axel這就是我的觀點。我記得當時我們在家中某處基於386的PC擁有40 MB硬盤。我知道有更大的磁盤面向高端和網絡服務器市場,但是我不知道那時是否存在100 MB的驅動器。但是,這很重要,那就是,與當時的許多家用PC具有數GB的** RAM **的事實相比,那時這樣的驅動器本來應該被認為是大型的。
實際上,Wikipedia在1985年11月提到“正在使用許多40 MB和80 MB的磁盤”。
@Michael-一直以來,我在整個職業生涯中都看過它:很少有真正有遠見的產品經理。軼事:1970年代初,在羅伯特·諾伊斯(Robert Noyce)關於微處理器的未來的演講中,他預測了當前的微型化,聽眾中有人說:“該死,我不想在地板上裂開整個計算機。”諾伊斯輕蔑地回答道:“你根本不了解它。你不在乎失去的那個;還有成千上萬的其他人。”那是1970年代初。羅伯特·諾伊斯(Robert Noyce)是一位有遠見的人。
@Michael-8位6809處理器帶有一個配套的MMU芯片6829,可尋址2 MB。對於8位使用者,在1980年之前。
@stevenvh這看起來像是在進行擴展討論,但您當然可以提出一種架構,即使使用低位數的CPU也可以尋址更多的內存。我說的是,隨著時間的內存大小以及8086可能如何使用,能夠直接使用超過1 MiB的大量內存可能不是一個重要的設計標準。當80286於1982年問世時,這一問題得以解決,它能夠直接尋址16 MiB的RAM,但是很少有DOS應用程序利用該功能,並且很少有PC擁有那麼多的RAM。
如果我的計算正確,則64位足以指定最接近普朗克長度的宇宙大小!
@Rocket-直徑可觀測的宇宙:460億光年。 1光年= 9.5 x 10 ^ 15 m。 -> Universe是4.4 x 10 ^ 26 m,= 2 ^ 88 m,已經大於2 ^ 64。在普朗克長度中:2.7 x 10 ^ 61 = 2 ^ 204。看來我們畢竟需要該256位處理器! :-)
@stevenvh-該死的Windows計算器!顯然,它的最大二進制數長度為64位。我認為這聽起來太不可思議了。
Rocketmagnet
2012-10-04 20:47:11 UTC
view on stackexchange narkive permalink

實際上,取決於您定義位的方式,此類處理器存在並且很常見。您幾乎可以肯定現在正在使用它。正如Olin所解釋的,256位數字沒有太多用途,但是4 x 32位數字呢?如果ALU可以同時添加4對32位數字,該怎麼辦。這種ALU(我知道)最早是在1970年代在矢量超級計算機中實現的。我第一次擁有這樣的計算機是當我擁有一個帶有MMX的英特爾奔騰處理器時。

Intel MMX guy

還記得那些傢伙嗎?

MMX芯片具有單指令-多數據指令集( SIMD),可讓您添加1×64位對,2×32位對,4×16位對或8×8位對。

但這沒什麼。現代的圖形卡具有 GPU(以前代表圖形處理單元,但現在代表通用處理單元)。這些通常是廣泛的SIMD實現,能夠一次分支,加載和存儲128或256位。英特爾的Larrabee原型微體系結構在每個內核上都包含兩個以上的512位SIMD寄存器。

GPU SIMD

請注意,請勿將SIMD與多核相混淆。一個CPU的每個內核都有自己的寬域ALU,能夠將一組整數相加。

“ 1×16位對,2×32位對,4×16位對或8×8位對”您確定該零件正確嗎?
乍看之下看起來像是帶有Intel徽標的Kraft Single
4x32位變量仍然僅32位。位數是ALU可以操作的最大*個數*整數。並行執行多次不會增加位寬。 -1
Axel
2012-10-05 10:53:43 UTC
view on stackexchange narkive permalink

因為我們還不需要它。

通常,位數(我將其定義為寄存器中的位數)或多或少直接轉換為可尋址內存的數量。這當然得到了簡化,因為取決於處理器,寄存器可能是位長度的2倍,或者存在規避那些內存限制的技術(那裡有人記得在16位窗口上進行編程嗎?)。 / p>

davidcary
2012-12-22 13:52:24 UTC
view on stackexchange narkive permalink

“為什麼不簡單地增加數據線的數量並創建256位呢?”

所有適合LGA-2011插槽的英特爾處理器實際上都具有256個數據引腳連接到主板上通往DRAM的256條數據線。如果您最近使用的筆記本電腦或台式機沒有至少有256條數據線,我會感到有些驚訝。我問您從哪裡得到這樣一個錯誤的想法,那就是它們“不……只是增加數據線的數量”?

LGA-211套接字數據表(是: LGA-2011套接字數據表),第6.1節指出,這些CPU具有256個數據引腳和76個地址引腳(組地址+內存地址)。

Paulo
2012-10-05 08:59:47 UTC
view on stackexchange narkive permalink

因為沒有應用程序需要或有可能一次使用128位以上的數據表示數據。

您知道,多媒體處理器和圖形卡​​將在主板CPU之前出現,對於照片/視頻,使用這麼大的數據長度立即進行處理是很有意義的。

Sri Krishna
2012-10-05 11:44:39 UTC
view on stackexchange narkive permalink

計算機系統的含義是一台計算機,它需要一些輸入並提供一些輸出。我們必須滿足這些方面的計算機要求,因此開發人員通過擁有3條總線(即地址總線,數據總線和控制總線)來建立基準。 1)地址總線獲取/選擇存儲器中的特定地址以進行讀/寫操作; 2)數據總線然後獲取數據,以處理/存儲為目的將該數據提供給處理器和內存/從處理器和內存中獲取; 3)控制總線創建一個接口控制協議,並要求系統予以遵守。

這些是對用戶/服務器/客戶端進行一些有用的計算所必需的。通常,性能(任務完成速度,毛刺減少等)取決於清除系統中的瓶頸。即,如果CPU能夠以比硬盤驅動器的傳輸速度高得多的速率進行處理,則瓶頸將出現在HDD上。同樣,我們需要針對特定的數據速度和代碼寬度具有正確的處理速度。

從一開始,由於各種原因,例如硬件複雜性,成本,需求,有效算法以及市場的主要原因範圍是問題主機提到的產生高數據總線寬度的主要障礙,例如256位或512位。這些都是可能的!但是需求還不存在,市場的需求還不可見,並且缺少對軟件的支持。

256位處理器表示數據總線的寬度,特定處理器可以處理,或者ALU可以在單個執行中處理。我們從4位開始,然後是8,16,32,現在是64位,甚至是128位,這是目前的市場範圍產品。

因此,在提出這些問題之前,您必須始終了解市場需求及其範圍。在歷史上,這是理解生活方式的唯一直接方法。如果買不起,怎麼買?如果您不能購買,生產者將如何生產?如果他不能生產,那該產品就不存在了!

大寫的名詞使這很難讀。
嗯,是的,我需要開始這樣做。
@pjc50也許他來自德國?哦,等等,“詢問”和“購買”也要大寫,也許不是。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...