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

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

3天内不再提示

有一种管理CPU快速存取内存的新流程,耗能减少高达72%

IEEE电气电子工程师 来源:未知 作者:李倩 2018-06-13 08:34 次阅读

━━━━━━

有一种管理CPU快速存取内存的新流程,使速度提升了两倍之多,耗能减少高达72%。据这种流程的设计师称,实现这类卓越成果需要改变计算机中控制这一关键内存的部件:直接布线至CPU电路进行控制若交由操作系统处理,速度就可大幅提升。

CPU将高速内存缓存作为一种数字暂存区域。缓存主要是保存CPU可能很快用到的指令或是需要处理的数据,是CPU的工作台。从智能手机到服务器,几乎每一个CPU都是用其电路中内置的算法管理进出缓存的比特流的。

但是麻省理工学院的两位研究人员说,随着计算机和便携设备的内存和CPU核数不断增多,完全由CPU来管理缓存也越来越不现实。他们说,操作系统最好能分担这项工作。

这种想法本身并不是全新的概念。在IBM的一些Cell处理器以及索尼的PlayStation 3(基于Cell技术)中,应用程序和操作系统内核就参与了低级CPU内存管理。麻省理工学院的Jigsaw技术的特别之处在于其中立的方法,软件无需太多控制便能配置芯片上的一些内存缓存,从而避免编程成为内存管理的噩梦。

麻省理工学院计算机科学及人工智能实验室助理教授、Jigsaw发明者之一丹尼尔•桑切斯(Daniel Sanchez)说:“几年前,人人都在抱怨,说虽然推出了PlayStation 3,但没有人能把程序编好。”

通常由CPU硬件控制所有的芯片缓存,但这些缓存必须承担任何一项能想象到的工作,从单纯的浮点数运算(对缓存而言是一个小负担)到计算机存储器组的密集搜索和查询(可能会超越它们的极限)。此外,CPU对其所开展的工作类型并无深刻的认识。这意味着利用与图谱搜索(对存储数据之间关系进行的占用内存的搜索)一样的缓存资源就可进行自成一体、包含复杂方程式的数值模拟,几乎不需要访问内存。

因此桑切斯和他的研究生南森•贝克曼(Nathan Beckmann)想,为什么不让操作系统减小缓存规模,进行纯计算,并扩充其设置进行图谱搜索呢?

他们说,第一步是将CPU占用空间的约1%分给一个可实时监控每个核心中缓存活动的简单硬件。有了硬件缓存监视器,Jigsaw就具备了充当CPU缓存空中交通管制员所需的独立监视能力。

桑切斯和贝克曼说,然后最多需要给操作系统内核再增加几千行代码即可。考虑到之前Linux内核提供了1500万行代码,而非官方的数字称,苹果和微软的内核则比这个数字还多几千万行,所以增加几千行并不多。

桑切斯说,Jigsaw其中一个更为突出的特别之处是嵌入操作系统的一个软件模块,研究人员称其为Peekahead。这种模块是根据十多年前北京的计算机科学家们开发的Lookahead缓存改造而成的。Peekahead能预测内核在未来时钟周期内要进行的工作,据此计算最佳CPU缓存配置。

桑切斯说:“如果交由软件管理,那么就必须要注意开销了。”他说设计不当的缓存管理系统可能会将缓存缩小到最佳规模,每秒重复多次,但这样会给CPU造成负担。需要大量CPU时间的CPU效率算法的意义何在?他说:“精确解非常昂贵。所以我们必须找到一个快速完成工作的方法,以保证开销不会超过收益。”

总部位于加利福尼亚山景城的半导体咨询公司林利集团的林利•格温耐普(Linley Gwennap)说,他对Jigsaw印象深刻,但要注意晶圆厂还未完全作好准备。“一般来说,问题是,在一种处理器上奏效的方案,在另一种具有不同硬件设计的处理器上可能不起作用。”他说道,“处理器一有变化,就不得不重新设计软件,客户们对此不太喜欢。”

桑切斯反驳说,软件应用和实用程序不会受到Jigsaw的影响。他说:“只有操作系统代码需要熟悉硬件知识,如缓存不同部分的拓扑结构。”

密歇根大学计算机科学助理教授杰森•玛尔斯(Jason Mars)说,作为概念验证手段,Jigsaw很有效,但他说芯片制造商在他们认为适当之处可能进行调整。

“这项工作的奇妙之处与软硬件之间的协同设计有关。”玛尔斯说,“以往的大部分工作都偏向一个方向。预期在硬件中完成的工作较多,相对灵活性较少。Jigsaw确实创建了一套涵盖了硬件和软件的全面体系。”

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

    关注

    68

    文章

    10436

    浏览量

    206524
  • 服务器
    +关注

    关注

    12

    文章

    8110

    浏览量

    82485
  • 内存
    +关注

    关注

    8

    文章

    2765

    浏览量

    72751

原文标题:缓存机:众核处理器要求软件具备灵活性,以最大限度地利用板载内存

文章出处:【微信号:IEEE_China,微信公众号:IEEE电气电子工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    内存常见术语介绍

    ) (144PIN): 这是一种改良型的DIMM模块,比般的DIMM模块来得小,应用于笔记型计算机、列表机、传真机或是各种终端机等。      PLL: 为锁相回路,用来统整合时脉讯号,使
    发表于 02-26 15:42

    请问SYS/BIOS是否提供了一种多核内存管理的机制?

    在使用heapMem模块时发现该模块只是提供的单核的内存管理,请问SYS/BIOS是否提供了一种多核内存管理的机制?
    发表于 01-04 11:40

    一种简单的内存管理方式

    这些内存,这种方式和我们学习 C 语言时,使用 malloc 和 free 函数来申请内存内存释放类似,malloc 用于申请内存,free 用于释放
    发表于 01-14 17:17

    STM32内存管理 精选资料分享

    要实现 2 个函数: malloc 和 free; malloc 函数用于内存申请, free 函数用于内存释放。介绍一种简单的实现方法,分块式内存
    发表于 08-24 06:52

    深圳电机耗能大有哪些原因?

    深圳电机是机械设备的重要组成部分,电机耗能也是众所周知的,节能是社会发展的趋势,所以必须要减少电机的能耗。首先要了解电机耗能大的主要原因哪些,然后才能有解决的办法。那么深圳电机
    发表于 09-23 16:26

    分享一种内存泄漏定位排查技巧

    的调试工具,下面分享一种内存泄漏定位排查技巧。1.对malloc,free进行封装首先,我们对malloc,f
    发表于 12-17 08:13

    动态内存管理是什么?动态内存管理算法哪几种

    空间的系统;而SLAB 内存管理模块则主要是在系统资源比较丰富时,提供了一种近似多内存管理算法的快速
    发表于 08-29 15:23

    SIMM 72线内存条引脚定义

    SIMM 72线内存条引脚定义  SIMM 是 Single Inline Memory Module (单列直插) 的缩写,72 线内存条的外观为:  
    发表于 11-21 12:49 2702次阅读
    SIMM <b class='flag-5'>72</b>线<b class='flag-5'>内存</b>条引脚定义

    DMA—直接内存存取

    【*】程序简介 -工程名称:DMA直接内存存取 -实验平台: 秉火STM32 F429 开发板 -MDK版本:5.16 -ST固件库版本:1.5.1 【 !】功能简介: 使用DMA把内存数据传输
    发表于 12-13 15:09 9次下载

    基于浮点系列芯片ADSP2106x中的直接内存存取技术研究

    直接内存存取(DMA)对计算机系统是非常重要的。它可以使CPU在运行指令的同时,系统能实现从外部存储器或设备中存取数据,也可以在CPU不参与
    发表于 07-10 19:21 1049次阅读
    基于浮点系列芯片ADSP2106x中的直接<b class='flag-5'>内存</b><b class='flag-5'>存取</b>技术研究

    简述SCL -CPU内存区域的索引存取

    也能够用一外索引来存取CPU内存区域。与绝对地址比较,此方式的优点是能够用变量索引动态寻址。例如,能够将FOR循环的控制变量用作地址。 执行索引存取
    的头像 发表于 04-16 10:45 1914次阅读
    简述SCL -<b class='flag-5'>CPU</b><b class='flag-5'>内存</b>区域的索引<b class='flag-5'>存取</b>

    SCL-CPU内存区域的索引存取

    执行索引存取内存区域与绝对方式的做法一样,仅提供了地址的长处。取代绝对地址,指定的索引能够是一个常量、一个变量或一个算术表达式。
    的头像 发表于 06-02 16:11 1354次阅读

    SCL:CPU内存区域的绝对存取

    绝对标识符指示CPU中的内存区域。通过指定地址标识符(此处为IB)后面跟一个地址(此处为10)来指定内存区域。
    的头像 发表于 08-02 15:36 625次阅读

    虹科分享 | 关于内存取证你应该知道的那些事

    什么是内存取证?内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字取证的一
    的头像 发表于 08-01 11:21 1128次阅读
    虹科分享 | 关于<b class='flag-5'>内存取</b>证你应该知道的那些事

    MMU内存管理单元的工作原理和作用

    MMU(Memory Management Unit,内存管理单元)是一种硬件模块,用于在CPU内存之间实现虚拟
    的头像 发表于 08-03 10:03 1332次阅读
    MMU<b class='flag-5'>内存</b><b class='flag-5'>管理</b>单元的工作原理和作用