如果我理解這兩篇文章中,英特爾架構,在它的最低水平,已過渡到採用RISC指令,而不是設置英特爾傳統的CISC指令是著名的:x86/x64芯片仍然使用微程序?
http://www.hardwaresecrets.com/article/235/4
http://www.tomshardware.com/reviews/intel,264-6.html
如果是這樣,那麼x86/x64芯片仍然是微編程的,還是像傳統的RISC芯片那樣使用硬連線控制?我會猜想它仍然是微編程的,但想要驗證。
如果我理解這兩篇文章中,英特爾架構,在它的最低水平,已過渡到採用RISC指令,而不是設置英特爾傳統的CISC指令是著名的:x86/x64芯片仍然使用微程序?
http://www.hardwaresecrets.com/article/235/4
http://www.tomshardware.com/reviews/intel,264-6.html
如果是這樣,那麼x86/x64芯片仍然是微編程的,還是像傳統的RISC芯片那樣使用硬連線控制?我會猜想它仍然是微編程的,但想要驗證。
微碼已經存在了很長時間,如果這就是你所指的。所以我不知道HardwareSecrets文章的內容,除非英特爾現在在CISC處理器之上構建RISC處理器。
即使HardwareSecrets文章稱它們爲微指令。馬鈴薯,potahto。
是的,我的意思是微碼。 – Sajee 2010-03-01 13:48:29
在現代的x86處理器,大多數指令的執行沒有微碼(*),但一些複雜或不經常執行的人確實使用微碼。 (*)不要與微操作混淆 - 在x86無序處理器中,x86指令通常被解碼爲一個或多個微操作,然後排隊等待執行(無微碼)!亂序執行管道。
另外值得注意的是,現代x86處理器有補丁/更新微代碼以便修復現場勘誤的功能。
剛剛找到答案。參考Andrew Tanenbaum撰寫的「計算機系統組織」,第54頁至第59頁。 英特爾芯片是基於CISC的,所有基於CISC的芯片都有一個解釋器(微碼)來將複雜指令分解爲小步驟。早些時候所有芯片都包含微程序。直到1980年由David Patterson和Carlo Sequin引入RISC概念時,纔有CISC術語。 RISC表示精簡指令集計算機。在今天的時間裏,指令集的大小並不重要。 RISC設計中重要的是指令的簡單性,但名稱「減少」。 RISC設計是關於快速發佈越來越簡單的指令。指令所花費的時間少於每秒可啓動多少次。使用速度更快的CPU ROM比使用更慢的主存儲器CISC設計的優勢已經由同樣更快的主存儲器出現了。 RISC肯定比CISC性能更好。那麼爲什麼芯片製造商英特爾沒有轉向RISC?有兩個原因。首先,存在向後兼容性問題,數十億美元的公司已經投入了英特爾線軟件。其次,英特爾可以設法在其CISC芯片中使用RISC的想法。從486開始,intel CPU包含一個RISC內核,可在單個數據通道週期內執行最簡單和最常見的指令,同時以通常的CISC方式解釋更復雜的指令。 我想英特爾表面上轉向了混合方式,以保持市場中的臉/名聲/善意符合技術進步。我會把英特爾芯片作爲CISC的基礎。
答案?有很多關於RISC如何比CISC更快或更好的炒作,我想intel想讓他們的芯片出現RISCish來炒作炒作。儘管如此,x86芯片已經能夠在一個時鐘週期(或更快)內執行一段時間的指令,因此RISC「功能」並不是RISC專有的。 RISC指令並不全都在一個時鐘週期內執行。 AMD通過將寄存器R8到R15添加到傳統的x86寄存器中,將x86擴展到其他RISC領域(一個更大的寄存器文件)。而且,即使是RISC處理器也聲稱「向後兼容」。 – 2011-03-09 02:40:49
當前的x86 CPU仍然使用微碼,因爲相對於典型的RISC處理器,x86指令集非常複雜。至少對於的某些說明是這樣。
在內部,複雜的指令被分解成簡單的類似RISC的指令,然後由一個複雜的RISC類核心處理。類RISC指令有時會被重新排序或並行執行。
微代碼指令的典型例子是除法和乘法,CISC和RISC都是這種情況。考慮如何(相對)很少使用它,在硬件中實現分區是不值得的。乘法實現起來要簡單得多,但當然也不是以相同的程度進行微編碼。根據這份文件Instruction Latencies and Throughput for ... x86 Processors,K10處理器的mul和div的延遲是5和77或15.4X。對於英特爾SBR(?),相應的值是4和92或23X。關於它們相對複雜性的另一個洞察是它們各自的吞吐量:在K10上,每隔一個時鐘週期的乘法可以保持不變(2.5-5/2 - 同時操作),但每77個時鐘週期只能維持一個分頻(與分頻等待時間相同) 。
其他例子有sh?d(shift?double)和bs? (位掃描?)。
這取決於特定的芯片。 x86/x64是一大類芯片。 – 2010-03-01 04:04:31
@亞當,這篇文章是指第六代以上的英特爾處理器的芯片,這意味着奔騰Pro和更高版本,根據這個:http://e-articles.info/e/a/title/Intel-P6- (686) - 第六代處理器/ – 2010-03-01 04:08:03