《计算机系统:系统架构与操作系统的高度集成》——第2章 处理器体系结构

简介:

本节书摘来自华章计算机《计算机系统:系统架构与操作系统的高度集成》一书中的第2章,作者:(美)拉姆阿堪德兰(Ramachandran, U.)(美)莱希(Leahy, W. D.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第2章 处理器体系结构

处理器设计围绕两个体系结构的问题:指令集和机器结构。在计算机发展的早期(大约是20世纪60年代和70年代),曾有一段时间处理器设计完全被看作电子工程师的工作。计算机上大规模地使用汇编语言编程,因此,指令集越是花哨,应用程序就越趋向简单。这是当时流行的传统观念。随着现代编程语言的出现—如20世纪60年代的Algol语言—以及编译技术的快速发展,处理器设计显然不再仅仅是一项关于硬件的工作。特别地,指令集的设计与编译器如何有效地为处理器生成代码密切相关。在这个意义上,程序语言对于指令集的设计有相当大的影响。
让我们来了解程序语言是如何影响指令集设计的。高级语言中诸如赋值语句和表达式这样的结构会映射到算术/逻辑指令和加载/存储指令。高级语言支持的数据抽象需要指令集提供不同精度的操作数以及寻址模式。条件语句和循环结构需要条件和无条件跳转指令。更进一步来说,高级语言中像过程这样的模块化结构需要从处理器体系结构中获得附加的抽象支持。
应用对于指令集设计也有着重要的影响。例如,科学计算和工程计算在早期计算中占据主导地位。相应地,20世纪70年代和80年代的高端系统在指令集上支持浮点运算。当前某些时候,手机和其他嵌入式系统的计算占了主导地位,随着计算融入社会的各个层面,毫无疑问这个趋势将持续下去。音频和视频这样的流媒体应用在手持设备上变得很平常。自然地,这些应用的需求(例如,单独一条指令对许多数据进行操作)开始影响指令集的设计。
在硬件上直接支持一个具体的系统软件或应用的需求并非总是可行或划算的。例如,在计算机发展的早期,低端的计算机通过软件库使用指令集中可用的整数运算来实现浮点运算。直到今天,复杂的操作(例如求余弦)依然不应该由通用处理器的指令集直接支持。替代的方法是,一些专门的系统软件(称为数学库)通过将这些复杂操作映射为指令集中的简单指令来实现它们。
操作系统对于指令集的设计也有影响。一个处理器可能会同时运行多个程序。想想你的台式机或掌上电脑,上面运行着若干个程序,但是却没有多个处理器。因此,在我们切换到另一个程序之前,需要记住一个程序正在做什么。你可以想象一个动作麻利的厨师在4口锅里炒4个不同的菜,她记住了每道菜做到了哪个阶段并适时加入调料。操作系统是这样的一个软件实体(即是它自身的一个程序),它像厨师处理不同的菜一样,安排不同的程序在处理器上执行。操作系统自身也对处理器设计有影响,在后面讨论程序不连续性和内存管理的章节中这会变得很显而易见。

相关文章
|
2月前
|
存储 安全 Unix
用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS
用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS
|
3月前
|
存储 缓存 Shell
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
54 0
|
6天前
|
存储 缓存 程序员
DP读书:《openEuler操作系统》(四)鲲鹏处理器
DP读书:《openEuler操作系统》(四)鲲鹏处理器
60 0
|
6天前
|
IDE Linux 开发工具
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
37 1
|
6天前
|
存储 监控 安全
DP读书:鲲鹏处理器 架构与编程(七)ARMv8-A 体系结构
DP读书:鲲鹏处理器 架构与编程(七)ARMv8-A 体系结构
35 0
|
1月前
|
存储 缓存 安全
冯·诺依曼体系结构和操作系统
冯·诺依曼体系结构和操作系统
18 0
|
1月前
|
存储 安全 调度
CHS_02.1.4+操作系统体系结构 二
CHS_02.1.4+操作系统体系结构 二
|
2月前
|
Linux Shell
Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)(下)
Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)
78 14
|
2月前
|
存储 Linux Windows
Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)(上)
Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)
79 10
|
2月前
|
架构师 Linux Shell
【Linux】冯诺依曼体系结构与操作系统概念理解-3
【Linux】冯诺依曼体系结构与操作系统概念理解
108 0

热门文章

最新文章