- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种多线程轻核处理器进程管理的硬件设计
在过去几十年中,摩尔定法下电路的集成密度随着指数率的增加而增加。目前,大型芯片可以集成数十亿个芯片。但是, 靠提高芯片主频来增加处理器能力的方法会带来日益增长的功耗, 致使芯片无法克服散热问题。研究表明, 内存中数据的传输和ILP (指令级并行)
1 共享存储的监控设计
本文设计了一种新型的多线程轻核处理器, 该轻核并行处理器是一个阵列机, 由多个处理单元簇 (cluster组成, 每个簇是由处理单元 (PE) 组成的一个二维阵列 (2D Array) , 是一种较常见的阵列结构。一个基本簇 (base cluster) 通常是16个处理单元组成的4×4阵列, 如图1所示。其特点是:采用近邻连接的网络拓扑结构;采用双模式的指令集, 高效实现并行处理所需的线程间通信;采用专用远程数据传输指令和多播方式及相应的路由器, 满足了输出数据的扇出需求和远距离线程间的数据通信。
上述特点需要高性能的线程管理机制
邻居共享存储M[S]分为4个部分:Me (东) 、Mw (西) 、Ms (南) 和Mn (北) , 每部分用于与相邻处理器通信。在设计中分别为寄存器R28、R29、R30、R31。共享存储器的存取采用阻塞模式 (线程间同步) , 每个共享存储地址都有一位数据有效位。当读取数据时, 如果数据无效, 则当前线程需要等待;如果数据有效, 则读取数据, 并将其置为无效。当写入数据时, 数据无效则直接写入, 数据有效则等待。路由器RU负责将数据传输到远程处理器件, 指令控制器 (ICTL) 模块通过计算把指令写入指令存储 (I-men) 中, 方便处理器对所需指令的读取。
ALU中的指令读取单元含有一个程序计数器 (PC) 和一个进程地址寄存器 (Creg) 。每个进程都分配一块数据存储, 其基地址可以放在Creg中。T_control完成进程的调度、每个进程自身的状态跳转、每个进程信息的存储, 以及事件检测 (路由器远程数据传输和相邻的共享存储器中数据的检测) 。t_control根据进程表实现一步到位的上下文转换, 发送相应的PC和Creg中的当前数值给ALU来调度处理器处理当前进程。
2 进程的监控设计
总体设计中采用8个进程并发执行。进程管理器由一个控制模块 (t_manager) 、一个就绪队列模块 (ready_list) 、8个进程的状态转换模块 (t_state) 、8个进程的寄存器模块 (regfile) 和一个进程信息表模块 (t_table) 构成
(1) 控制模块 (t_manager) :首先创建进程, 根据每个进程的状态 (初始态、就绪态、运行态、阻塞态) 创建就绪队列;完成后开始采用轮询的方法控制每个进程的调度
(2) 进程状态转换模块 (t_state) :主要分为两部分:其一是进程的自身4个状态之间的跳转控制部分;其二是进程阻塞后的检测部分。一般是实现8个或者16个并发进程, 图3所示为8个进程的设计图, 每个进程需要有自己的t_state模块, 图中可以看到8个进程状态控制转换模块。
(3) 寄存器模块 (regfile) :每个进程拥有自己独立的32个寄存器, 寄存器R0~R27每个进程自己可以读写, 但是邻居处理器不可以读写;寄存器R28~R31是处理器与邻居4个处理器共享的寄存器, 本设计的Me (东) 、Mw (西) 、Ms (南) 、Mn (北) 4个寄存器分别指的是R28、R29、R30和R31。
(4) 进程的相关参数的维护表 (t_table) :用来记录每个进程的当前状态, 并且维护进程阻塞和恢复时的数据。整个控制模块根据这个进程表中的每个进程的当前状态和处理器的忙闲来实现一步到位的上下文转换。
2.1 进程控制模块
当创建一个进程时, 就为进程建立了一个相应的状态参数表, 图4所示为一个进程的状态参数表。设计中为8个进程, 需要8组如图所示的参数表。状态参数描述如下:
(1) QT:时间片, 是指系统给每个进程所分配的执行时间。一旦时间片用完, 当前进程就挂起, 等待下次的调度。
(2) PC:程序计数器, 是指进程的程序在内存或者外存中的物理位置。进程挂起或者阻塞时, 首先存储当前程序执行的PC到t_table中, 再进行其他操作;进程需要执行时, 首先从t_table中读取PC值, 再进行程序的读取和其他操作。
(3) STAMP:时间戳。每次从进程开始执行进行计数, 如果STAMP==QT, 则挂起进程;如果在STAMP!=QT时, 进程发生阻塞, 则保存当前的STAMP, 待下次调度进程时, 从保存的STAMP值开始计数并与时间片进行比较。
(4) STATE:状态标志。每个进程都有4个状态, 即:IDLE初始状态:0
您可能关注的文档
最近下载
- 2025-2026学年粤教粤科版(2024)小学科学三年级上册(全册)教学设计(附目录 P182) .docx
- 电机拖动应用技术第2章知识点回顾总结.docx VIP
- 蓝光BL及BL培训总汇讲解.ppt VIP
- Q SY 17816-2021 泡沫驱用起泡剂技术规范.pdf VIP
- SL∕T 619-2021 水利水电工程初步设计报告编制规程.pdf
- 蓝光BL及BL培训总汇演示文稿.ppt VIP
- 第三单元:测量(单元复习课件-)人教版三年级数学上册.pptx VIP
- 巨人通力GPS53K(SIEI)-YH_电气原理图纸G3001007(B)N-2020-12.pdf
- 第1单元第5课《图片的局部处理》课件【滇人版】《信息科技》五年级上册.pptx VIP
- 《物业服务模式》课件.ppt VIP
原创力文档


文档评论(0)