问题与通用CPU的协处理问题答这个问题的本质是三值光学计算机.PDFVIP

  • 5
  • 0
  • 约7.76千字
  • 约 4页
  • 2018-09-30 发布于天津
  • 举报

问题与通用CPU的协处理问题答这个问题的本质是三值光学计算机.PDF

问题与通用CPU的协处理问题答这个问题的本质是三值光学计算机

问题:与通用CPU 的协处理问题 答:这个问题的本质是三值光学计算机的编程技术问题,下面从这个角度来应答。 从应用的角度与电子CPU 相比,三值光学处理器的主要优势在于三个方面: ① 处理器位数众多——决定了各种计算器的位数很多。 ② 处理器位可以任意分组 (分区段)独立使用——在不同的处理器位区段上各计算一个数据。 此并行方式不同于目前的程序 进程 线程等 “运行一段指令序列”的并行,而是在一条 “运算指令” / / 下,很多个数据在不同的处理器位区段上并行计算。 ③ 处理器每一位的硬件计算功能可随时重新构造——使处理器的硬件功能更适合当前用户的需 要。以接近专用机的特色来提高整体效率。 稍微次要一点的特色是: ④ 并行加法器——无论数据位有多长,加 减法都在三个 (或一个)周期内完成。 MSD / ⑤ 三值逻辑运算规则多——有19683 种。 ⑥ 能耗低。 前三项规则与编程有关,后三项规则与编程无关。因此,与电子CPU 协同处理 (或协同工作)的 问题只涉及前三项特点。这三点优势使得三值光学处理器的计算效率大大提高,其负面影响是不方便 根据某个数据的计算结果来控制程序转移。而一条计算指令只处理一个数据的电子CPU 却在这个方面 具有优势。因此,使这两种处理器协同工作,为同一个任务发挥各自的优势成为未来程序的追求目标。 也就是说未来的应用程序应该能很方便地调动两种特性不同的处理器来完成一个任务——一种对异 构多处理器系统的编程方式。 提到“异构系统编程”,所有程序员都会立刻想到OpenAcc——目前最流行的异构系统编程方式— —把各种处理器的编译系统汇集在一起,然后用 “统一编程语言”来书写应用程序,并在应用程序中 用 “标示”来指出“本段程序运行于哪个种类的处理器”,然后由编译程序根据这些 “标示”,选择对 应的编译系统,将相应的应用程序段汇编成所选择处理器的机器指令段;到应用程序运行时,任务管 理软件再根据这些 “标示”,把各种处理器的机器指令段送给相应的处理器去执行,然后把各个处理 器的运行结果再汇聚到一个处理器中来。目前看,这种简单地将各个厂家、各种处理器的编译系统集 合在一个庞杂平台上的方式,对由各种 、 和 构成的异构系统还是减轻了程序员的负担。 CPU GPU MIC 但由于 、 和 都不允许用户将处理器位分组,更不允许用户来重构处理器的硬件,决定了 CPU GPU MIC 这个繁杂平台无法编制出能发挥三值光学处理器三大优势的应用程序。因此这种思路构造的编程平台 对于三值光学处理器来说没有意义。 要想使一个 “位数少但能够控制程序转移”的处理器 (如电子CPU,或一个位数与电子CPU 相当 的小三值光学处理器)与一个拥有上述前三大优势的大三值光学处理器协同工作,就必须创造新的编 程平台,但这个新的编程平台又必须尽量保持传统的编程习惯和编程思维,这样才能够使新编程平台 和传统编程平台完全兼容,保证现有程序在新系统中安全运行,保证程序员花费一点点精力就可以掌 握新的编程平台和使用三值光学处理器 (他可以完全不知道三值光学处理器,但可以自如使用这种处 理器,就像我们不会造手机,都会用手机)。为达到这一目标,2011 年我们选择 “在现有高级程序语 言的基础上增加对三值光学处理器进行处理器位分组和功能重构的操作方法”这一途径,来构造三值 光学计算机的编程平台。由于是在现有编程平台上做 “增量”,只要这个增量不破坏原编程平台,新 的编程平台就必然保持对传统编程平台的完全兼容性。下一个问题就是如何来设置 “增量”,使程序 员能够方便地完成对三值光学处理器位的分组操作和重构操作? 要直接对三值光学处理器位进行分组操作和重构,就必须充分了解三值光学处理器的硬件结构, 这对程序员来说是 “不可逾越的鸿沟”,因此用任何 “指令”来让程序员完成这两项任务都不是明智 之举。必须设计一种操作方法,为程序员遮蔽掉这个鸿沟,使他们在不知不觉中跨过鸿沟。面对这个 问题,我们选择了“客户端服务器”概念。这个概念是在分布式系统中编制大型高层软件系统的思想, - 我们把这个思想应用到了编制软件的最低端——指令层面。按照这一思想,我们创造的

文档评论(0)

1亿VIP精品文档

相关文档