嗨,各位好,小弟近期在阅读文章的时候发现自己的观念并不是很完全,故想上来请教板
友。
依照这篇文章的说法:
http://technews.tw/2015/09/08/the-risc-v-instruction-set-architecture/
在IOT市场,ISA是需要用授权金买的。
因小弟我本身是FW,依照我对ISA的了解,不就是"该架构的组语指令集"吗? 像我现在在写
microchip的PIC device,spec里面就有一个章节专门在详细说明该架构的ISA
如图:
里面详细说明了各个指令会对硬件做什么事,理论上看完这个章节就能用组语写出自己要
的功能了。
那既然这样,是不是代表说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的方块图为例子
图:
然后组语指令集指的是implementation.
如果以上的假设(x86与ARM不开放组语指令集)正确,那为什么IoT开发者不用C写就好了?一
定要用组语写吗? C的本意不就是因为组语开发速度过慢而产生出来的产物吗?
x86与ARM的产商一定会提供compiler,再用该厂商的compiler把C转成assembly code不就
好了吗? 换句话说,就算x86与ARM不开放ISA,还是可以用他们的芯片写程式阿~顶多花钱
买好一点的compiler(厂商一定会把compiler分成免费版跟付费版的,像Microchip就是个
例子)不就好了?
请各位版上大大开释~感恩