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

    文章

    7764

    浏览量

    92692
  • 操作系统
    +关注

    关注

    37

    文章

    7329

    浏览量

    128653
  • 晶体管
    +关注

    关注

    78

    文章

    10266

    浏览量

    146331

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    合适的数据结构和算法。 3 、计算机体系结构 了解处理器架构,如ARM、x86等,以及指令集和内存管理。 熟悉嵌入式系统的硬件组成,如微控制器、FPGA、DSP等。 可以很熟练地根据CW32嵌入式芯片
    发表于 11-28 07:48

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    、OpenSUSE、OpenKylin、OpenEuler、Deepin等,及在这些操作系统上运行的各类软件。 活动详情地址: 【RISC-V专题】VisionFive 2单板计算机免费试用 作品合集: 作者
    发表于 09-04 09:08

    系统中的无名英雄:EC

    在现代计算机体系结构中,尤其是在笔记本电脑等移动平台中,存在一个至关重要的组件,它默默无闻地工作,却主导着系统的功耗、稳定性和用户交互体验。这就是嵌入式控制器(EmbeddedController
    的头像 发表于 08-26 09:03 7054次阅读
    <b class='flag-5'>系统</b>中的无名英雄:EC

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业
    的头像 发表于 07-10 16:36 526次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    最受欢迎的单板计算机 x 最流行的移动操作系统

    欢迎的单板计算机之一。你可能已经拥有一台了,不是吗?Android是世界上最流行的操作系统,拥有各种各样的应用程序可供选择。这种流行度,再加上树莓派日益增强的性能,为在树莓派上
    的头像 发表于 06-18 17:20 528次阅读
    最受欢迎的单板<b class='flag-5'>计算机</b> x 最流行的移动<b class='flag-5'>操作系统</b>

    DPU核心技术论文再次登陆体系结构领域旗舰期刊《IEEE Transactions on Computers》

    近期,鄢贵海团队研究成果在计算机体系结构领域国际顶级期刊《IEEE Transactions on Computers》中发表。该研究主要围绕KPU敏捷计算架构展开,KPU具有超强异构核集成和调度
    的头像 发表于 06-11 18:11 507次阅读
    DPU核心技术论文再次登陆<b class='flag-5'>体系结构</b>领域旗舰期刊《IEEE Transactions on Computers》

    睿创微纳AI芯片技术登上国际计算机体系结构领域顶级会议

    近日,国际计算机体系结构领域顶级会议HPCA 2025(International Symposium on High-Performance Computer Architecture)在美国召开。会议共收到534篇来自全球顶尖科研机构及高校的论文投稿,最终录用率仅为21%。
    的头像 发表于 05-19 15:57 764次阅读

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
    的头像 发表于 04-22 14:29 1867次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    如何在计算机上安装麒麟操作系统Kylin V10 SP3

    麒麟操作系统 Kylin V10 SP3 是一款基于 Linux 的操作系统,广泛应用于政府、企业和个人用户。本文将详细介绍如何在计算机上安装麒麟操作系统 Kylin V10 SP3,
    的头像 发表于 04-11 15:32 3322次阅读
    如何在<b class='flag-5'>计算机</b>上安装麒麟<b class='flag-5'>操作系统</b>Kylin V10 SP3

    2025全国大学生计算机系统能力大赛启幕,RT-Thread助力高校人才培养

    专业建设和计算机领域创新人才培养体系改革,培育我国高端芯片、关键基础软件后备人才。RT-Thread睿赛德作为此次操作系统设计赛的支持单位,为内核实现赛道提供了基
    的头像 发表于 04-10 21:26 780次阅读
    2025全国大学生<b class='flag-5'>计算机系统</b>能力大赛启幕,RT-Thread助力高校人才培养

    树莓派替代台式计算机?树莓派上七款最佳的轻量级操作系统

    替代台式计算机。好吧,它可以,但您需要以下专为RaspberryPi设计的轻量级操作系统的帮助。注意:RaspberryPi市场上有许多不同的型号。对于本文,我们将
    的头像 发表于 03-25 09:43 955次阅读
    树莓派替代台式<b class='flag-5'>计算机</b>?树莓派上七款最佳的轻量级<b class='flag-5'>操作系统</b>!

    BU-67121W实验室航空电子接口计算机North Hills

    接解决方案。应用领域:系统集成实验室模拟器生产试验台系统故障排除软件开发数据记录核心特性:桥接功能:支持以太网、MIL-STD-1553和ARINC 429的桥接。开发计算机配置:搭载英特尔凌动
    发表于 02-11 09:26

    【「鸿蒙操作系统设计原理与架构」阅读体验】01-初始华为鸿蒙

    非常幸运的,感谢李毅通知以及发烧友的馈赠。 操作系统伴随着计算机技术的发展而不断演进。当前,人类正从信息社会迈向智能社会,在背后支撑这一巨大转变的是计算机软硬件技术的快速发展,这也为下一代
    发表于 01-25 11:05

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 959次阅读

    名单公布!【书籍评测活动NO.53】鸿蒙操作系统设计原理与架构

    呈现鸿蒙系统的原理与架构。 有利于纠正研究者、学生、开发者和行业从业者对鸿蒙技术理解的偏差,建立一个更好的鸿蒙生态环境。 整体概述:HarmonyOS 的基本设计理念 计算机硬件厂商需要按照操作系统
    发表于 12-16 15:10