x86的定義是什麼? 以及64位元指令集的問題

我知道x86是80x86的縮寫,包含16位元和32位元

而Intel的EM64T和AMD的x86-64是x86的64位元延伸指令集

基本上EM64T和x86-64是一樣的指令集

Intel和AMD的64位元平台用cpu-z顯示指令集的結果大致如下:

Intel: MMX,SSE,SSE2,SSE3,SSE4.1,EM64T

AMD: MMX,3DNOW!,SSE,SSE2,SSE3,SSE4A,x86-64

而32位元的平台的指令集如下:

Intel: MMX,SSE,SSE2

AMD: MMX,3DNOW!,SSE

****************************************************************************************

以下是我的問題:

1. 為什麼64位元處理器的指令集會顯示x86-64(或EM64T),而32位元處理器的指令集卻沒有顯示x86?

2. x86指的是架構還是指令集呢?

3. 如果x86指的是架構,那為何會有80x86的組合語言呢?

希望能簡短回答,謝謝~

2 個解答

評分
  • Mayhem
    Lv 6
    1 0 年前
    最佳解答

    1. 為什麼64位元處理器的指令集會顯示x86-64(或EM64T),而32位元處理器的指令集卻沒有顯示x86?

    我想他的意思應該是說 他的64位元可以向下相容 因此32-bit的指令都可以在64位元上執行 而基本上所有的 PC都是x86 當然如果不要以Mac之類的電腦拿來說的話應該是如此!!

    最重要的是~之所以沒寫 是因為無須強調,因為大家都知道這些基本指令是不可或缺的 但是大家又不知道 32位元的程式是否可以相容於64位元呢?因此~寫給消費者看的用意~只是強調他的相容性是沒有問題的!

    2. x86指的是架構還是指令集呢?

    x86當然是架構囉!!!他上面所說的x86-64指的確是指令集,不過他強調的,是可以兼容32位元的指令集!

    過去曾經有提出IA64的架構,但是並不能兼容IA32,因此就變成現在的x86-64

    所謂x86就是286 386 486 586.....那一類的全都是x86 其實嚴格說起x86應該說的是CPU而不是電腦架構!但是現在大家都遵循著這樣的系統模式,因此你要說x86是種架構其實也不算是錯的!

    若是有人說"x86指令集"他指的是x86慣用的指令 例如mov add...等等普通到不行的指令!!!

    3. 如果x86指的是架構,那為何會有80x86的組合語言呢?

    以前電腦剛發展的時候 百家爭鳴 有APPLE II和許多其他不同廠家設計的電腦!!!不同的CPU理論上指令集當然不同囉!!

    最後Intel漸漸的吃掉整個大餅 也就是說 市場逐漸被Intel掌握住 而之後從286開始 386 486 586.....都是Intel的產品...

    在286時代 大家都已經習慣了某些指令集的用法 到了386 486 586如果說要再去更改慣用的指令集 似乎是很困擾的事情,因此 形式上語法就不再去變更他了!!

    以上為個人看法 若有誤謬請多指教!!

  • 匿名使用者
    6 年前

    我提供免費電腦問題諮詢:02-29405818

    我只要是~電腦維修~電腦重灌~電腦問題~修電腦~重灌win7~xp重灌~都是找他們

    他們到府服務非常方便!!

    希望能幫到你

    可以跟他們聯絡看看

    評價很高...你可以試試看!!^^

    電話:02-29405818

    或者加LINE~直接線上詢問也可以!

    ID:gmepc168

    希望能幫到你

    Yahoo服務加網址

    http://tw.serviceplus.yahoo.com/booth/seller/Y0193...

還有問題?馬上發問,尋求解答。