计算机体系结构学习笔记--指令集8.1

1.处理器应用的三大领域:

桌面计算强调整数和浮点数据类型的程序的性能,很少考虑程序大小。例如,在五代SPEC基准测试中从未报告过代码大小。
如今,服务器主要用于数据库、文件服务器和Web应用程序,以及许多用户的一些分时应用程序。因此,浮点性能对性能的重要性远不如整数和字符串,但实际上每个服务器处理器仍然包括浮点指令。
个人移动设备和嵌入式应用程序重视成本和能量,因此代码大小很重要,因为更少的内存既便宜又低能量,并且一些类别的指令(如浮点)可以是可选的,以降低芯片成本,并且可以使用专为节省内存空间而设计的指令集的压缩版本。

指令集体系结构分类(按照内存类型)

1.指令集体系结构主要包括以下三类
(1)堆栈体系结构:
操作数隐式位于堆栈的顶部,堆栈结构存在以下劣势:
• 处理器的性能源自高速访问的寄存器,而不是其使用方式。
• 堆栈架构过于局限,需要进行许多交换(swap)和复制(copy)操作。
• 堆栈有底部,而将其放在较慢的内存中会降低性能。
基于堆栈架构的硬件在1970年代末期不再受欢迎,除了在Intel 80x86浮点架构中使用外,它基本上消失了。

(2).累加器(Accumulator) 结构的处理器,
累加器提供一个操作数,暂存器提供另一个操作数,运算后,累加器保存运算结果。最早的计算机,包括UNIVAC I,EDSAC和IAS计算机,都是基于累加器的架构。由于当时硬件资源非常紧张,选择这种非常简单的架构是很自然的.

(3).通用寄存器体系结构只有显式操作数,即寄存器或内存位置。其主要包括以下另种类型
(a)一类可以作为任何指令的一部分访问内存,称为寄存器内存体系结构,
(b)另一类只能通过加载和存储指令访问内存,也称为加载-存储体系结构。

2.通用寄存器(GPR)计算机出现的主要原因有两个。
(1)首先,像处理器内部的其他形式的存储一样,寄存器比内存更快。
(2)其次,寄存器对编译器来说比其他形式的内部存储更有效。
例如,在寄存器计算机上,表达式(aB)+(BC)-(a*D)可以通过以任何顺序进行乘法运算来计算,然而,在堆栈计算机上,硬件必须只按一个顺序计算表达式,因为操作数隐藏在堆栈上,并且可能需要多次加载一个操作数。更重要的是,寄存器可以用来保存变量。当变量被分配给寄存器时,内存流量减少,程序速度加快(因为寄存器比内存快),代码密度提高(因为寄存器可以用比内存位置更少的比特来命名)。

3.GPR体系结构有两个主要的指令集特征。
这两个特性都涉及典型算术或逻辑指令(ALU指令)的操作数性质。
第一个问题涉及ALU指令是否有两个或三个操作数。在三操作数格式中,指令包含一个结果操作数和两个源操作数。在双操作数格式中,其中一个操作数既是运算的源,也是运算的结果。
GPR体系结构之间的第二个区别涉及ALU指令中有多少操作数可以是存储器地址。典型ALU指令所支持的内存操作数可以从零到三不等。其中三种可以对几乎所有现有的计算机进行分类。正如我们前面提到的,这三种是加载存储(也称为寄存器寄存器)、寄存器内存和内存-内存。

4.不同寄存器体系结构的优缺点:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值