- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.1.2 多处理机的硬件结构 1. 紧耦合和松耦合 多处理机有紧耦合和松耦合两种不同的构形。 1) 紧耦合多处理机 紧耦合多处理机是通过共享主存实现处理机间通信的,其通信速率受限于主存频宽。 紧耦合多处理机有两种构形,如图7 - 1所示。 图7 - 2就是带非对称I/O子系统的多处理机结构。美国卡内基-梅隆大学研制的C.mmp 多处理机,就是不带专用Cache的紧耦合多处理机,p和m均为16,采用非对称的I/O 子系统。 图7 - 3就是采用冗余连接非对称I/O子系统的例子。 【例 7-1】 我国的曙光1号多处理机是典型的同构对称型紧耦合多处理机。 2) 松耦合多处理机 松耦合多处理机中,每台处理机都有一个容量较大的局部存储器,用于存储经常用的指令和数据,以减少紧耦合系统中存在的访主存冲突。 图7 - 4是典型的经消息传送系统互连的松耦合非层次型多处理机。 卡内基-梅隆大学设计的松耦合多处理机Cm*是层次型总线式多处理机,其结构如图7 - 5所示。 2. 机间互连形式 多处理机机间互连的形式是决定多处理机性能的一个重要因素。 1) 总线形式 多个处理机、存储器模块和外围设备通过接口与公用总线相连,采用分时或多路转接技术传送。 2) 环形互连形式 总线形式互连对机数少的多处理机来说有结构简单、造价低、可扩充性好等优点,但总线的性能和可靠性严重受物理因素制约。为保持总线式互连的优点,同时又能克服其不足,可以考虑构造一种逻辑总线,让各台处理机之间点点相连成环状,称为环形互连,如图7 - 6所示。 3) 交叉开关形式 单总线互连结构最简单,但争用总线最严重。交叉开关形式则不同于单总线。它用纵横开关阵列将横向的处理机P及I/O通道与纵向的存储器模块M连接起来,如图7 - 7所示。 【例 7-2】 图7 - 8画出了C.mmp的16×16处理机-存储器模块交叉开关中一个结点开关的结构。 图7 - 9是用4×4的交叉开关组成的16×16二级交叉开关网络,其设备量减少为单级16×16的一半。这实际是用4×4的交叉开关模块构成42×42的交叉开关网络。 图7 - 10给出了一个42×32的Delta网络,这种互连网络比较适用于输入端数和输出端数不等或通信不规则的多处理机中。 4) 多端口存储器形式 如果每个存储器模块都有多个访问端口,将分布在交叉开关矩阵中的控制、转移和优先级仲裁逻辑分别移到相应存储器模块的接口中,就构成了多端口存储器形式的结构。图7- 11是一个四端口存储器形式的结构。 5) 蠕虫穿洞寻径网络 在处理机之间采用小容量缓冲存储器,实现消息分组的寻径存储转发。在蠕虫网络中,将消息分组又分割成一系列更小的小组,同一分组中所有小组以异步流水方式按序不间断地传送。 6) 开关枢纽结构形式 参照多端口存储器的思想,把互连结构的开关设置在各处理机或接口内部,组成分布式结构,称为开关枢纽结构形式。 【例 7-3】 美国加州大学伯克利分校设计的树形多处理机X-TREE结构如图7 - 12 所示,在X-TREE多处理机中,每一个处理机与其开关枢纽一起构成一个X结点。 这种地址交叉编址的方式主要有低位交叉和高位交叉两种。 m个模块的低位交叉编址方式如图7 - 13所示。 m个模块的高位交叉编址方式如图7 - 14所示 由于多处理机的处理机-存储器互连网络(PMIN)一般成本较高,速度不能满足高性能要求, 结构也比较复杂,因此,主存可以采用如图7 - 15所示的形式来组成。 当每个处理机设有自己的专用Cache时,主存采用低位交叉编址会使Cache中每块信息分散到不同的多个存储器模块之中。这样,Cache在传送一个信息块的过程中,需频繁地经互连网络去转接,会严重降低信息块的传输效率。因此,在多处理机中,常采用一种二维的并行存储器构形,如图7 - 16所示。 7.2.1 多Cache的一致性问题的产生 为了解决价格合理的大容量主存的访问速度低于处理机速度一个数量级的现实问题,系统在多处理机和主存之间,通常配置有一个高速缓冲存储器Cache。 7.2.2 多Cache的一致性问题的解决办法 1. 解决进程迁移引起的多Cache不一致性 对于进程迁移引起的多Cache之间的不一致,可以通过禁止进程迁移的办法予以解决,也可以在进程挂起时,靠硬件方法将Cache中该进程改写过的信息块强制写回主存相应位置来解决。 2. 以硬件为基础实现多Cache的一致性 以硬件为基础实现多Cache的一致性的办
文档评论(0)