0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从计算机体系结构看操作系统

Linux阅码场 来源:Linux阅码场 2023-01-09 09:58 次阅读

知识诅咒(Curse of Knowledge),是指我们掌握了某知识,就很难体会没有它的感觉,不理解获得知识以前的状态及还未获得该知识的人,从而产生沟通障碍。

计算机体系结构正在消亡 (Architecture is dying)?其背后可能是对传统的冯·诺伊曼体系结构在应对多样化应用时局限的无奈,以及对摩尔定律的放缓甚至终结的担心。那么,计算机体系结构又将面对怎样的未来呢?

1. 关于计算机体系结构

计算机体系架构(Computer Architecture)泛指计算机硬件系统设计的各个方面,包括指令集架构(Instruction Set Architecture,ISA),微体系结构(Microarchitecture),内存系统(Memory System),存储设备(Storage De- vice),网络设备(Networking Device)等。

半导体技术与计算机体系结构是推动信息技术创新的两个核心技术,都是幕后英雄,往往不为大众所知。摩尔定律的终结使得芯片设计师再也不能“无偿地”每18个月将设计中的晶体管数量提高一倍。而计算机体系架构演进导致了性能的增长,带来的各种好处显而易见。自1985年以来,计算机体系结构的革新贡献了约80倍 的性能增长,与半导体技术进步的贡献相当。

由于大多数半导体技术与计算机体系结构的创新是对上层应用透明的,应用与软件的开发人员们无需参与底层技术创新就能体验这些技术进步带来的各种好处。

尽管依然能够制造出更多更小的晶体管,但已不像过去那样了,单个晶体管的功耗已不能很好地按比例缩小。由于传感器、移动设备、终端与数据中心等大多数产品都不能容忍功耗的不断增长,必须考虑各种手段来缓解功耗增长。纳米级特征的制造偏差,严重地降低了晶体管的长期可靠性。随着新技术(如芯片堆叠技术) 与新挑战(如数据中心)的出现,必须通过局部性原理来管理计算部件之间的通信,从而实现合理的成本和能耗目标。设计、验证、制造和测试的一次性成本不断增加,导致这些成本更难被分摊。

也就是说,在失去几近完美的工艺技术按比例缩小所带来的好处时,该如何构建从传感器到云端的基础设施,如何从性能到隐私等多个角度去让计算机体系结构来增加价值?

38e776a2-8fb1-11ed-bfe3-dac502259ad0.jpg

2. 对计算机体系结构的需求是什么?

新应用场景的不断涌现,对计算能力的需求在日益增长。在物联网时代,嵌入式传感器产生的连续数据流和由大量多媒体内容无处不在,数字化信息在爆炸式增长。出于健康、商业和其他目,处理此类数据需要高效地平衡计算、通信和存储的关系。为传感器提供足够的能力以便在生成/ 收集数据的地方筛选和处理它们,以达到最优能效,通信所需的能量大大超过计算。很多数据流产生数据如此之快,以至存储在成本上不可行,数据必须被立即处理掉。在其他情况下,环境的限制和聚合不同数据源的需求影响了在哪儿执行这些任务。此类的权衡提出了对混合架构的需求,在节约能耗的同时有效地降低数据传输。

为了保护服务的边界、环境和服务自身,计算资源必须随时可用,并随时准备高效地提供服务。这样的可用性需要底层的硬件和软件提供可靠性、安全性和自我管理功能,而这些特征是目前大多数系统都不能提供的。虽然当前大型机和医疗设备都在努力实现5个9的可用性(每年仅5分钟的不可用时间),但实现这一目标仍然花费巨大。这就要求计算机体系结构在很多层面上实现这样的可用性,而且成本低廉。

随着我们对数据的依赖不断增加,会变得更加依赖对计算性能的权衡,以确保可用、隐私和安全的交易。信息安全要优先考虑,而目前的计算系统极易受攻击。网络信息战不再是假象,通过互联网,对政府网站的攻击早已司空见惯。这就需要新的硬件系统、体系结构、固件和操作系统,以便为上面的应用中所需分布式信息安全提供保障。

3. 对计算体系结构的挑战

各种新兴的应用需要体系结构保障数据的安全性和隐私性,容忍日益变得不可靠的晶体管带来的故障,以及增强可编程性、可验证性和可移植性。保证软硬件可靠性比以往任何时候都重要;对一些植入式医疗设备而言, 尤其事关生死。重新考虑安全和隐私的问题,并且定义系统结构级界面,以使硬件作为可信源更高效地支持安全服务。

3.1将计算机体系结构作为基础设施

计算机体系结构必须超越那种优化每一个孤立设备的情况,接受跨环境协同设计带来的挑战。在智能感知领域,核心的约束是在非常严格的能量、尺寸和成本的限制下完成计算。大规模计算的需求只能通过将成百上千个处理器的能力合并成为一个大规模分布式计算机才能完成,互联网搜索引擎已经展示出这种计算范式的社会重要性。

由于用户界面对于计算能力的要求越来越高,例如多点触控、语音识别、AR/VR、全息影像、3D场景重建等等,甚至移动应用也正向数据和计算密集型转变,这些应用将需要现有设备的单位能量运算率从现在的约百亿次运算/瓦提升若干个数量级。对于运行时而言,计算机体系结构要允许程序功能被分别划分到端边云,并且这种划分还要能够动态地适应云端上行可靠性和能效的变化。

也就是说,计算机体系结构将作为基础设施,是覆盖从传感器延伸到云的生态系统体系结构。

3.2 能耗优先的挑战

针对服务器领域的能耗解决方案与针对便携设备领域的解决方案有着显著的差异。然而,无论是对高端的服务器领域还是便携、传感器设备领域,对计算性能永无止境的需求都将使得功耗、能耗和散热成为计算机体系结构的掣肘因素。

在体系结构层,需要提出更高效、更合理的多核体系结构。在软件层,需要研究如何最大限度减少不必要的通信。在编程模型层次,需要编程环境既可以支持专家级的程序员对整个机器进行控制,又可以对普通程序员提供简单的局部性模型。在应用层,需要高能效的算法级策略来减少操作数量、访存数量和处理器间的通信量,充分利用异构系统的优势。 在编译层,需要新的法有效地在功耗效率与性能之间做出权衡,同时兼顾二进制代码的可靠性。

也就是说,降低能耗可能需要从三个途径加以解决:跨层次的能效优化,对“并行”的重构和有效利用“专用计算”。

3.3 工艺技术的挑战

新技术和新工艺驱动了电路、功能单元、微结构和计算机系统的新型设计。非易失性存储技术可以提供很高的存储密度和功 率效率,但需要针对器件能力重新设计内存和外存系统结构。裸片堆叠技术虽然拥有降低连线延迟,提高片上带宽等多种优势,但仍需面对电子设计自动化、设计和工艺支持等多种挑战。新工具必须要满足新技术的要求,能够支持功能综合、逻辑综合、版图设计等;异构计算更是挑战着在寄存器传输级设计之前对系统建模的能力,还要面对着结构的多样性和加速部件数量的急遽增加。

3.4 跨层次接口的挑战

计算机体系结构中的可编程性是指研制的软件应满足性能、能耗、可靠性以及安全性等指标。

过去,人们关注的是软件工程技术, 以性能和能耗为代价提高编程者的生产率。当能效以及其他目标变得更加重要时,需要新的技术来削减编程抽象层次,从而消除不必要的低效。已有的改善可编程性的技术(包括DSL、动态脚本语言如PythonJavascript等)只是部分的解决方案。

然而,当前的指令集不能提供有效的方式来捕获软件意图或将关键的高层信息传递给硬件。新的高层接口需要封装并将编程者和编译器的知识传递给硬件,从而获得更高的效率与有价值的新功能。可以使程序员能在更高层次表达并行度、局部性、计算依赖以及关键的共享和通信模式的接口。这种接口可使硬件更简单和有效,并具有高效的通信能力且能最大程度减少数据移动的同步原语,支持异构并行。

当然,这需要能够清晰地识别长期数据及程序依赖关系,以便软硬件调度器能够动态地识别代码中的关键路径。没有分析、管理与优化通信的能力,则没有办法保证性能、能耗与服务质量的目标。当考虑大数据应用场景时,由于涉及众多庞大系统之间的数据协作,数据管理会变得更加复杂。现有的系统缺乏合适的软硬件抽象层来描述通信关系。

对可靠性而言,要求跨层次接口能够在单一应用中为不同模块之间指明细粒度的保护边界,能够把安全当成一级公民,并且能确定应用的弹性需求与期望。应用的某些部分也许要能容忍硬件故障,以便运行起来能效更高。所有的这些接口都可以从合适的计算机体系结构中获益,比如信息流的追踪、不变量的生成和检查、事务恢复块、可重构等等。

4. 计算体系结构的发展趋势

4.1 硬件设计大众化

开发硬件必须像开发软件一样简单、便宜和灵活。与在通用处理芯片相比,专用硬件方案单位操作上可提高能效 10000 倍 ,此类能效的提升对于物联网应用至关重要。“大众化”的硬件设计, 也就是让硬件设计变得像软件设计那样敏捷、便宜和开放。软件开发团队可以利用丰富的、拥有现成 的可重用部件的生态系统, 使用高级语言加速提高单个开发者的能力,并依靠强大和自动化的程序分析、综合、测试和调试来保 证品质。

4.2 云计算是对计算机体系结构创新的抽象

云计算利用规模化不仅是为了自身业 务,也是为了投资 IT 的客户利益,已经前所未有地使用了专用计算机架构。无论是高端的超级计算 机,还是商业的云端产品,GPU 变得无处不在,FPGA也促进其数据中心的计算专用化。专用集成电路云 展示了如何协同开发大量高度专用的处理器,从而让关键应用得到明显加速。

虚拟化这类技术将硬件和软件创新透明地引入到了现有的软件系统。虚拟化使得云提供商可以为了更快、 更便宜的技术替换处理器、存储器和网络部件,而不必与消费者沟通协调,也促成了资源的超额认购,在消费者对特定资源的需求具有时变、 碎片化特征的情况下,在消费者之间进行透明的资源共享。超额订购对云计算的成本结构很重要,和单独的消费者购买专属资源比较,它使得云供应商以极低的价格提供 IT资源。

4.3 垂直化趋势

3D 集成为芯片设计提供了一个新的扩展维度, 尽管摩尔定律终结了,仍然可以在一个单系统上集成更多的晶体管,可以从 3个维度缩减互联开销, 并实现各种混合制造技术的紧密集成。因此,3D 结构内部的系统组件具有更高的能效、更宽的带宽和更低的延迟。

4.4 计算机体系结构“更接近物理层”

新的存储器件正在进入商用化,与传统存储层次部件相比,这些新器件在开销、密度、延迟、吞吐量、可靠性和寿命等方面完全不同。碳纳米管可以保证更高的密度和更低的功耗,并且可用在三维基底上,这使得碳纳米管成为体系结构方案是非常可行的。量子计算和超导逻辑,能够提供 “免费”的通信,传输信号几乎不消耗能量 。DNA 计算已经演示了简单的逻辑操作,许多成果也表明了 DNA 作为存储器和纳米结构自组装的数字媒介具备潜力。

4.5 机器学习作为核心负载

目前的重点是支持云端的机器学习,但是在诸如智能手机和超低功耗传感器节点等低功耗设备中支持机器学习应用也非常重要。幸运的是,许多机器学习内核具有相对规整的结构,能够在准确率和资源需求之间进行权衡。因此,它们适用于专用硬件、重构和近似计算等技术。

5. 一句话小结

计算机体系结构是计算机硬件系统的表达,发展趋势是弥合应用领域和器件领域之间的鸿沟,确保信息技术有一个坚实的未来。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7492

    浏览量

    87902
  • 操作系统
    +关注

    关注

    37

    文章

    6818

    浏览量

    123319
  • 晶体管
    +关注

    关注

    77

    文章

    9687

    浏览量

    138132

原文标题:温故知新:从计算机体系结构看操作系统

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【「RISC-V体系结构编程与实践」阅读体验】-- SBI及NEMU环境

    ,运行在S模式下的操作系统提供引导和统一的接口服务。 本书的实验并没有采用业界流行的OpenSBI固件,而是从零开始编写一个小型可用的SBI固件,以便底层深入学习RISC-V体系结构
    发表于 11-26 09:37

    简述微处理器的指令集架构

    微处理器的指令集架构(Instruction Set Architecture,ISA)是计算机体系结构中的核心组成部分,它定义了计算机能够执行的指令集合、数据类型、寄存器、内存访问方式等,是连接
    的头像 发表于 10-05 14:59 449次阅读

    CPU时钟周期的组成和作用

    CPU时钟周期是计算机体系结构中一个至关重要的概念,它直接关联到CPU的运行速度和性能。以下是对CPU时钟周期的定义、组成和作用的详细解析。
    的头像 发表于 09-26 15:32 606次阅读

    内存缓冲区和内存的关系

    内存缓冲区和内存之间的关系是计算机体系结构中一个至关重要的方面,它们共同协作以提高数据处理的效率和系统的整体性能。
    的头像 发表于 09-10 14:38 565次阅读

    数字寄存器的原理和使用

    数字寄存器是计算机体系结构中至关重要的组成部分,其原理和使用对于理解计算机的工作原理和数据存储方式具有重要意义。
    的头像 发表于 09-05 14:08 563次阅读

    龙芯CPU统一系统架构规范及参考设计下载

    架构规范(LA架构嵌入式系列)-v1.0.pdf *附件:龙芯架构 ELF psABI 规范-v2.01.pdf *附件:计算机体系结构基础(LoongArch)-3rd.pdf *附件:龙芯架构
    发表于 06-20 14:42

    工业控制计算机体系结构是什么

    工业控制计算机是一种专门为工业自动化控制领域设计的计算机系统,具有高性能、高可靠性、实时性、可扩展性等特点。本文将详细介绍工业控制计算机体系结构,包括其硬件
    的头像 发表于 06-16 11:38 1000次阅读

    本源超导量子计算机自主制造链11类产品系列之八:中国第一款量子计算机操作系统

    使用。中国第一款量子计算机操作系统操作系统是管理计算机软硬件的“大管家”,也是决定其性能的关键技术领域。如果把量子芯片比喻成人的心脏,量子计算机
    的头像 发表于 05-28 08:22 410次阅读
    本源超导量子<b class='flag-5'>计算机</b>自主制造链11类产品系列之八:中国第一款量子<b class='flag-5'>计算机</b><b class='flag-5'>操作系统</b>

    这些操作系统是否适用于机载系统计算机

    操作系统主要功能是管理计算机上的软件(如应用程序、驱动程序)和硬件(如处理器、存储器等),为用户提供服务。
    的头像 发表于 04-12 09:25 540次阅读
    这些<b class='flag-5'>操作系统</b>是否适用于机载<b class='flag-5'>系统计算机</b>?

    全国大学生计算机系统能力大赛操作系统设计赛-LoongArch 赛道广东龙芯2K1000LA 平台资料分享

    更新,其中涉及到的新的问题(比如调试),都会在此查阅。目的是为了更方便的解决移植 期间遇到的各种问题。 比赛参考资料 LoongArch架构相关文档 龙芯架构参考手册卷一 计算机体系结构
    发表于 02-04 15:37

    【RISC-V开放架构设计之道|阅读体验】学习处理器体系架构的一本好书

    Patterson是图灵奖得主,在计算机行业中极具影响力,他参与主编的多本教材是计算机体系结构计算机组成原理等相关课程的知名教材,我在日常教学中经常推荐给学生阅读。该书的另一位作者是安德鲁·沃特曼
    发表于 01-23 20:08

    计算机系统如何应对大模型时代的挑战与机遇

    操作系统管理着计算机的资源和进程,以及所有的硬件和软件。计算机操作系统让用户在不需要了解计算机语言的情况下与
    发表于 01-23 11:06 550次阅读
    <b class='flag-5'>计算机系统</b>如何应对大模型时代的挑战与机遇

    智能化的计算机体系结构设计方案

    未来计算机体系结构将趋向于智能化和自适应性。智能化的计算机体系结构可以根据不同的任务和场景进行智能调整,提高计算机的性能和效率。
    发表于 01-22 11:05 476次阅读
    智能化的<b class='flag-5'>计算机体系结构</b>设计方案

    《RVfpga:理解计算机体系结构》3.0 版本更新上线

    《RVfpga:理解计算机体系结构》3.0版本更新上线,扫码进入官网注册申请获取。《RVfpga:理解计算机体系结构》(以下简称“《RVfpga》”)是Imagination推出的完整RISC-V
    的头像 发表于 01-18 08:27 790次阅读
    《RVfpga:理解<b class='flag-5'>计算机体系结构</b>》3.0 版本更新上线

    微机原理接口地址范围怎么算

    需要了解一些计算机体系结构的基本概念。计算机体系结构由CPU、内存和外部设备等构成,其中CPU是计算机的核心部件,负责执行指令和控制整个系统的运行。而外部设备是与
    的头像 发表于 12-28 17:30 1523次阅读