本周计组作业是一个开放性问题:如何理解ISA的兼容性?于是思考了很多,发现哦原来这半个学期其实在学的是这个呀,查了资料发现并没找到太多有关ISA兼容性的资料,于是自己整理了一些自己的理解+查到的资料,不保证是对的,仅做一个记录和分享。如果有什么不对的地方,请在评论区讨论,真的还不太明白,求指教。
参考:https://baike.so.com/doc/6448046-6661728.html
《计算机组成与设计 硬件/软件接口》原书第五版 机械工业出版社
1.什么是ISA?
2.什么是兼容性?
3.为什么ISA设计需要考虑兼容性?
4.如何实现ISA的兼容性设计?
一.什么是ISA?
指令集是计算机中全部指令的集合。指令集体系结构是用来将逻辑上的指令(汇编语言级别)转换为计算机CPU硬件信号的一系列体系化规则的集合。
你把ISA可以理解为CPU设计的不同模式,不同的模式由不同的组织开发,分为两种类型:复杂指令集CISC、精简指令集RISC:
(1)复杂指令集采用变长的编码方式,语句的长度不固定,数据寻址模式较多,经典的例子有ARM v7版本,以及由Intel开发的x86系列。
(2)精简指令集采用定长的编码方式,语句的长度固定,数据寻址模式较少,经典的例子有MIPS,以及更新后的ARM v8版本。