isa为instruction set architecture的缩写形式,即为指令集体系结构,它划分了整个计算机系统的软件和硬件,是处理器的核心。
一、 定义。
指令(instruction)—规定计算机执行特定操作的命令。
指令集/指令系统(instruction set)——全部指令的集合。
指令集体系结构(instruction setarchitecture,isa) —是计算机硬件与底层软件之间的接口,它是程序员为使一个二进制机器语言程序正确运行所需要了解的属性。
本质上讲,isa是机器语言程序员看到的计算机的属性。但是,由于人们广泛地使用高级语言编写程序,isa也可以看成是编译器或解释器的设计人员看到的计算机的属性。
由于isa是硬件和软件之间的接口,所以在设计isa时必须兼顾硬件、软件以及用户等多方面的要求对于硬件设计人员而言,isa是设计计算机的起始点和基本依据,所以isa应该设计成易于高效率地实现对于编译器设计人员而言, isa本质上是编译器的输出目标,所以isa应该设计成易于为它生成**。对于用户而言,兼容性是一个现实的要求。
isa设计的关键问题:指令功能的选择、寻址方式和指令格式设计的设计。
指令集设计需要注意的问题:
完备性——常用指令齐全。
高效性——占用存储空间少、运行速度快。
规整性——指令和数据编码规则统一。
可扩充性——保留一定的指令字编码空间。一般而言,以后生产的机器,总会增加一些指令。
兼容性。二、分类。
根据在cpu中以何种方式存放操作数,可以将指令集体系结构分成4种类型:
1. 堆栈型。
alu指令所有的操作数都是隐含的。
优点:求值模型简单(符合逆波兰模型),指令字较短,**密度高。
缺点:**效率低,堆栈成为性能瓶颈。
2.累加器型。
累加器既是alu指令隐含的输入操作数,也是隐含的运算结果的目标操作数。
优点:指令字较短,**密度较高。
缺点:累加器是唯一的操作数寄存器,导致对存储器的频繁访问,影响性能。
3.寄存器-存储器型。
alu指令的一个操作数在寄存器中,另一个在存储器中,结果存放在寄存器或存储器中。
优点:存储器中的数据不需要专门的载入/存储指令即可直接访问,**密度较高。
缺点:操作数的不同位置使得alu指令执行所需的时钟周期不同。
4.寄存器-寄存器型。
alu指令的所有操作数都在寄存器中。
优点:简单、定长的指令编码,alu指令执行的时钟周期相近。
缺点:指令密度低。
三、典型isa
复杂指令集计算机(complex instruction setcomputer)
基本思想:增强指令功能,缩小高级语言与指令系统间的语义差距,以期减小程序的指令数。
特点:(1)指令集复杂,指令数多、寻址方式多、指令格式设计多绝大多数指令需要多个时钟周期才能执行完成。
2)各种指令都可以访问存储器。
3)采用微程序控制。
4)有专用寄存器。
5)难以用优化编译技术生成高效目标**。
2. risc精简指令集计算机(reduced instruction set computer)
基本思想:尽量简化指令功能,只保留那些功能简单、能够在一个时钟周期完成的指令,以期减小cpi
特点:(1)指令集简化:指令数少、寻址方式少、指令格式设计少。
2)以寄存器-寄存器方式工作,除load/store指令外其他。
3)指令不可访问存储器。
4)除load/store指令外绝大多数指令在一个时钟周期内。
5)执行完成。
6)采用硬布线控制逻辑。
7)使用较多的通用寄存器。
8)采用优化编译技术,力求生成高效目标**。
3.显式并行指令集运算(explicitly parallel instruction computing,epic)
epic乃先进的全新指令集运算,只有intel的ia-64架构的纯64位微处理器的itanium/itanium 2。epic指令集运算的ia-64架构主要针对的操作系统是微软64位安腾版的windows xp以及64位安腾版的windows server 2003。另外一些64位的linux,一些64位的unix也可以运行ia-64(epic)架构。
体系结构重点
1 计算机设计者的工作 指令集设计 功能组成设计 逻辑电路设计和硬件结构的设计等。2 设计计算机的功能并不就是用户所需要的功能,它主要考虑到成本 技术 兼容性和市场大小等诸多因素,体现在生产和设计中要有赢利,用户承受得了。衡量原则就是成本性能比。根据这一原则,我们首先要设计确定计算机应具有的功能,我...
Oracle体系结构
课后测试。单选题。1.哪个不是数据库的物理组件 a表空间 b物理文件 c控制文件 d日志文件 正确答案 a 2.最小的数据库逻辑结构是什么?a操作系统块 b数据库块 c表空间 d表 e区 正确答案 b 3.在数据库启动的mount阶段,可以进行什么操作 a查询用户scott下的表 b建立表空间 c创...
软件体系结构
课程名称 软件体系结构。课程编号 c304 课程学分 2 适用学科 计算机应用技术。software architecture 教学大纲。一 课程性质。本课程是为计算机应用专业研究生开设选修课。软件体系结构是软件开发设计的高级课程,对培养计算机应用专业研究生今后从事大型软件开发工作有重大意义。二 课...