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

简介:

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

第2章 处理器体系结构

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

目录
打赏
0
0
0
0
1408
分享
相关文章
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
658 1
程序与技术分享:CPU0处理器的架构及应用
程序与技术分享:CPU0处理器的架构及应用
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
571 2
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
252 6
GPU 和 CPU 处理器的架构
CPU(中央处理器)和 GPU(图形处理单元)是计算机系统中最重要的两种处理器。它们各自的架构设计和技术体系决定了其在不同应用领域中的性能和效率。
301 1
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
《操作系统》——计算机系统概述
《操作系统》——计算机系统概述
380 3
|
11月前
|
【专栏】在 create-react-app 中集成 less/sass 预处理器和 react-css-modules 的方法
【4月更文挑战第29天】本文介绍了在 create-react-app 中集成 less/sass 预处理器和 react-css-modules 的方法。首先,通过 `npm` 安装 less 或 sass 依赖,然后修改 `config-overrides.js` 配置文件以支持 less/sass 编译。接着,详细阐述如何使用 less/sass 编写样式。再者,安装 react-css-modules 并配置 webpack,使能样式模块化。最后,展示了如何结合使用 less/sass 和 react-css-modules,以提升前端开发的效率和代码质量。
573 0

热门文章

最新文章