指令系统结构ISA-CA

指令系统作为软硬件接口,对计算机性能和兼容性至关重要。文章探讨了指令系统的历史发展,如X86、ARM和MIPS等主流指令系统的地位,以及指令系统设计原则,包括兼容性、通用性、高效性和安全性。随着技术进步,多核结构和向量指令成为新要求。此外,文章还讨论了自主指令系统的重要性及其发展路径,强调了指令系统在云计算、多核处理和媒体应用等方面的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指令系统

定义

指令系统是计算机功能的抽象模型(不仅仅是关于指令功能的编码)
> 是软硬件的界面,所有软件最终都以指令的形式运行
> 体现了结构设计者对应用的深刻理解
> 一个指令系统可以有多种实现(低功耗、高性能、软件模拟…)

作用

(承上启下)是软硬件的交互接口
在这里插入图片描述

重要性

计算机产业的枢纽,产业生态的基础
指令系统是计算机软硬件的重要标准:
-决定应用程序的二进制兼容(Wintel和AA都做到)
-是操作系统二进制兼容(Wintel做到、AA没做到)的重要因素
指令系统影响系统性能和实现复杂性等:
-如RISC/CISC,32位/64位,媒体指令,向量指令等
-微结构对系统复杂性影响更大

国际主流指令系统

(1)三大主流指令系统:X86、ARM、MIPS
-X86:每年几亿片,垄断PC和服务器市场,虽受到ARM的一些威胁,但桌面的垄断地位难以动摇,并通过凌动阻止ARM向高端渗透
-ARM:每年50-100亿片,在手持终端市场处于垄断地位,成功侵蚀MIPS的数字电视、机顶盒等市场,试图在云服务器等领域与X86竞争
-MIPS:每年5-10亿片,在传统市场如打印机、网络等仍有一定势力

(2)其他指令系统
-PowerPC:在汽车电子、工控、服务器领域还有一线生机
-Alpha、PA-RISC、Sparc、IA64主流市场机会不大
-RISC-V(开源指令集):想成为CPU中的Linux,道阻且长,巨头联手逼向低端MCU

发展

(1)历史发展历程
-X86位宽从8位、16位、32位、64位不断发展
-功能从只支持定点、到浮点、到媒体指令、到向量指令
-向量指令又经历了MMX、SSE、SSE2、SSE3、SSE4、AVX等
(2)对指令发展新的要求
-多核结构要求指令增加对多核同步、通信和数据一致性的支持
-向量部件需要指令系统增加专门的向量指令
-媒体类应用要求指令系统增加对媒体编解码的专门支持
-云计算要求指令系统增加对虚拟机的支持;等等

自主软硬件需求自主指令系统

(1)现状
国外垄断企业设置了严密的知识产权壁垒,主要体现在包括指令系统在内的各类接口中
目前IT产业正从单极化向多极化发展,要抓住机遇。目前自主软硬件推进效果明显,但我国软硬件力量过于薄弱,通过统一的自主指令系统可以迅速形成合力

(2)自主指令系统发展的可行路径
先兼容后自主
-与国外指令兼容(MIPS、RISC等),在此基础上自主发展
-“可控”权:自主扩展和自主再授权
-“对等”权:协商扩展和反向授权
先自主后兼容
-通过二进制翻译方式,运行主流指令系统的软件
-如Transmeta,IA64上运行IA32程序等
-Intel推出的基于X86的智能手机能运行Android上ARM的应用
二者结合
-如基于MIPS/RISC5,并通过扩展实现对X86和ARM的兼容

(3)指令系统示意图
在这里插入图片描述

指令系统的设计

指令系统在计算机中的位置

软硬件的界面;
反映了结构设计者对计算机系统的认识;

设计原则

-兼容性:对软件的包容性,长时间保持不变,如X86
-通用性:对软件的易用性,编译器和程序员觉得好用
-高效性:对硬件的易用性,便于CPU设计优化和不同性能的实现
-安全性:对软硬件安全的支持,支持通用操作系统,考虑不同的安全要求

影响指令系统设计的因素:

(1)工艺技术
①. 早期的硬件昂贵,指令系统设计主要考虑如何减少硬件;
②. 集成度的提高(TLB、从32位到64位、SIMD媒体运算);
③. 现在如何发挥存储层次的效率,如何利用芯片面积;
-CPU与存储器的速度差距,指令系统应能较好地利用存储层次,如通过并行或流水容忍延迟(Cache管理指令、预取指令)
-工艺进一步发展,主频极限和功耗问题引起的多核结构需要特殊指令支持(多线程管理和同步)

(2)系统结构
-指令系统本身是系统结构发展的结果,如:从16位、到32位、到64位;SIMD指令、从单核到多核等
-指令系统的兼容性要求与系统结构发展的矛盾关系:
尽量不改变指令系统的前提下提高性能,如流水、多发射等
尽量保持兼容,如Intel的做法
-增加指令功能还是提高主频?(RISC vs. CISC vs. VLIW)
-并行性: SIMD、向量、多发射(兼容性好)

(3)操作系统
-操作系统专用的核心态指令运行环境
-多进程支持、虚空间:(页表与TLB的关系;页保护:读写权限)
-系统安全等级:(核心态和用户态管理)
-异常和中断处理(异常处理入口、ERET指令等)
-访存和访问I/O的区别;
-虚拟机:(支持多操作系统的快速切换)

(4)编译技术与程序设计语言
-指令是编译器的工作结果
早期的指令系统主要考虑如何便于编程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值