- 1、本文档共162页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统结构-7-多处理机剖析
系统频带宽度: 处理器数 频宽(无快速连线)* 频宽(有快速连线)* 8 1.56Gb/s 3.12Gb/s 16 3.12Gb/s 6.24Gb/s 32 6.24Gb/s 12.5Gb/s 64 12.5Gb/s -- 128 25Gb/s -- *相当于虚线情况 7.7 多处理机实例 Origin系统的存储器层次结构可分为寄存器、 L1 Cache、 L2 Cache和主存储器,其中寄存器和L1 Cache在R10000微处理器中。 寄存器的存取时间最短,L1 Cache又分成指令Cache和数据Cache两部分,这是为了避免取指令和存/取数据发生冲突。 L2 Cache安装在结点卡中,统一存放指令和数据,由SRAM组成。 7.7 多处理机实例 Origin的主存储器地址是统一编址的,每个处理器通过互连网络可访问系统中任一存储单元。 当一个处理器初次读取某一存储单元数据时,该数据在提供给CPU的同时也拷贝到本结点的Cache中。 同一数据在各个Cache中将保持一致。Origin系统的Cache采用写作废协议。 7.7 多处理机实例 Origin采用基于目录的协议。在Origin的结点中,有一个存储器和一个目录存储器。存储器被划分为存储器块(每个存储器块对应于一个Cache行)。 每块对应一个目录项,每个目录项包含其对应存储器块的状态信息和系统中各Cache共享存储情况的位向量,根据位向量可以知道本存储器块在哪些Cache中有拷贝。 当执行写存储器操作时,根据目录项的位向量可将有关结点中的Cache数据作废,从而实现了Cache的一致性。 7.7 多处理机实例 * 如果锁空闲,将其交给该处理器;如果锁忙,控制 器产生一个结点请求记录,并将锁忙的标志返回给 处理器,然后该处理器不停地进行检测。 当该锁被释放时,控制器从等待的进程排队中选出 一个使用锁,这可以通过更新所选进程Cache中的 锁变量来完成。 7.5 同 步 例7.5 如果在排队锁的使用中,失效时进行锁更新,求10个处理器完成lock和unlock所需的时间和总线事务数。假设条件与前面例子相同。 解 对n个处理器,每个处理器都初始加锁产生1个总线事务,其中1个成功获得锁并在使用后释放锁,第1个处理器将有n+1个总线事务。每一个后续的处理器需要2个总线事务:1个获得锁 ,另1个释放锁。因此总线事务的总数为(n+1)+2(n-1)=3n-1。注意这里的总线事务总数随处理器数量成线性增长,而不是前面旋转锁那样成二次方增长。对10 个处理器,共需要29个总线事务或2900个时钟周期。 7.5 同 步 首先,需要识别出对锁进行初次访问的进程, 从而对其进行排队操作。 第二,等待进程队列可通过多种机制实现,在 基于目录的机器中,队列为共享集合,需用类 似目录向量的硬件来实现排队锁的操作。 最后,必须有硬件来回收锁,因为请求加锁的 进程可能被切换时切出,并且有可能在同一处 理器上不再被调度切入。 排队锁功能实现中有一些要考虑的关键问题 7.5 同 步 为减少栅栏记数时所需的时间,从而减小瓶颈的串行度,引进一种原语Fetch_and_increment,它可以原子地取值并增量。使用fetch_and_increment可以很好地改进栅栏的实现。 例7.6:写出fetch_and_increment栅栏的代码。条件与前面假设相同,并设一次fetch_and_increment操作也需100个时钟周期。计算10个处理器通过栅栏的时间,及所需的总线周期数。 (2) 栅栏实现 7.5 同 步 解 下面的程序段给出栅栏的代码。对n 个处理器,这种实现需要进行n次fetch_and_increment操作,访问count变量的n次cache失效和释放时的n次Cache失效,这样总共需要3n个总线事务。对10个处理器,总共需要30个总线事务或3000个时钟周期。这里如同排队锁那样,时间与处理器个数成线性增长。 当然,实现组合树栅栏时也可采用fetch_and_increment来降低树中每个结点的串行竞争。 7.5 同 步 local_sense= ! local_sense; /*local_sense变反*/ fetch-and-increment(count); /*原子性更新*/ if(co
您可能关注的文档
- 计算机应用类专业(综合)一模试卷剖析.doc
- 减少半透明异物对触点的污染06年QC资料分解.ppt
- 计算机控制技术实验指导书2011剖析.doc
- 解决离子浓度关系判断问题(学案)分解.doc
- 计算机应用基础课件剖析.ppt
- 计算机控制技术第1章绪论剖析.ppt
- 计算机控制系统复习题答案剖析.doc
- 计算机操作系统(第三版)考试试题及答案(汤小丹)剖析.doc
- 计算机操作系统(第3版)课后习题答案(完整版)剖析.doc
- 计算机控制系统第2章输入输出接口与过程通道技术剖析.ppt
- DB29-144-2010天津市地下铁道盾构法隧道工程施工技术规程.docx
- 浙江省杭州地区(含周边)重点中学2024-2025学年高一上学期11月期中考试英语试题2.docx
- 2021-2022学年江西省抚州市崇仁县五年级下册期末检测英语试卷.docx
- 吉林省辽源市田家炳高级中学高三(六十五届)友好学校下学期期末联考文科综合地理试题扫描版含答案.doc
- 云南省新平一中高三教学质量检测(七)生物.doc
- 河南省名校大联考2024-2025学年高一上学期12月月考历史试题2.docx
- 99R101 燃煤锅炉房工程设计施工图集55.docx
- D503-D505防雷与接地(下册)彩色版.docx
- 70-通风管道沿程阻力计算选用表 08K-508.docx
- 18GL204 预制混凝土综合管廊_3395.docx
文档评论(0)