Re: [請益] ISA的定義

作者: twicm (WhyMe)   2018-02-28 10:21:07
※ 引述《zzss2003 (brotherD)》之銘言:
: 嗨,各位好,小弟近期在閱讀文章的時候發現自己的觀念並不是很完全,故想上來請教板
: 友。
: 依照這篇文章的說法:
: http://technews.tw/2015/09/08/the-risc-v-instruction-set-architecture/
: 在IOT市場,ISA是需要用授權金買的。
: 因小弟我本身是FW,依照我對ISA的了解,不就是"該架構的組語指令集"嗎? 像我現在在寫
: microchip的PIC device,spec裡面就有一個章節專門在詳細說明該架構的ISA
: 如圖: https://imgur.com/a/6X1gu
: 裡面詳細說明了各個指令會對硬體做什麼事,理論上看完這個章節就能用組語寫出自己要
: 的功能了。
: 那既然這樣,是不是代表說x86與ARM不開放這些組語指令啊?如果要知道他們的組語指令還
: 要另外花錢買?
: 依照維基百科對ISA的定義: an ISA is an abstrcat model of a computer, it's also
: referred to as architecture or computer architecture. A realization of an ISA
: is called an implementation.
: 看完維基百科,怎麼覺得ISA是指device方塊圖啊?舉microchip的方塊圖為例子
: 圖: https://imgur.com/a/jzMpD
: 然後組語指令集指的是implementation.
: 如果以上的假設(x86與ARM不開放組語指令集)正確,那為什麼IoT開發者不用C寫就好了?一
: 定要用組語寫嗎? C的本意不就是因為組語開發速度過慢而產生出來的產物嗎?
: x86與ARM的產商一定會提供compiler,再用該廠商的compiler把C轉成assembly code不就
: 好了嗎? 換句話說,就算x86與ARM不開放ISA,還是可以用他們的晶片寫程式阿~頂多花錢
: 買好一點的compiler(廠商一定會把compiler分成免費版跟付費版的,像Microchip就是個
: 例子)不就好了?
: 請各位版上大大開釋~感恩
ISA - instruction set architecture
主要的內容是指令集再加上 programmer's model
維基百科上的 implementation 指的是去實現指令集做出一個CPU
這樣的CPU在 維基百科有時叫做 micro architecture
舉例, Qualcomm 和 Apple 都付錢跟 Arm 買某版本的 ISA
市面上至少會有三種 implememtation(micro-architecture)- Qualcomm, Apple 和 Arm 自己的
這些CPU 都是基於同一份 ISA 做出來
所以在architecture level 是相容的
但是implementation 就各憑本事
license 價格 ISA>> IP(implementation)
Arm 大多數的指令集需要授權
你看到的是指令集的文件
文件只是要告訴你怎麼寫怎麼用
作者: zzss2003 (brotherD)   2018-02-28 13:04:00
大大您好,謝謝你這麼精闢的解釋,替我解了不少疑惑依照您的說法,ISA指的就是該架構的組語+programmer'smodel,想請問programmer's model指的是什麼呢?以下為我的想法,如果錯誤麻煩請您更正不好意思,請忽略第二行。您講的指令集應該是指micro programming吧?micro programming是接受組語並達到組語要做的事所以您指的programmer's model指的是組合語言所以付錢跟Arm買ISA,會得到ARM的CPU的硬體電路圖與微程式,IC廠就要利用ARM提供的微程式去實現該架構的組語請問我這樣的理解是對的嗎?
作者: twicm (WhyMe)   2018-02-28 15:07:00
請上Arm網站download 一份來讀讀看就知道我說的microchip 有用到Coretex-M IP, 就download ARMv7-M 吧可能我解釋的不夠清楚,你在回應裡的認知大部分都是錯的
作者: zzss2003 (brotherD)   2018-02-28 15:23:00
好的 謝謝您給我方向
作者: GameGyu (GameGyu)   2018-02-28 18:17:00
付錢跟Arm買ISA,不會得到ARM的CPU的硬體電路圖或任何程式那些東西都要錢,想省錢就要自己想辦法生出來

Links booklink

Contact Us: admin [ a t ] ucptt.com