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