CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

CPU设计我要让更多的人掌握它(续9)

已有 4714 次阅读 2010-1-13 21:32 |个人分类:计算机核|系统分类:科研笔记| 动态计算机, 核重组, 执行核, 动态关系总线

3.4 如何控制PU与MU的连接与断开
 
如果有k种不同类型的处理器PU,那么在MU中要有一个k位的连接标志寄存器,每个标志位对应一类PU。当连接标志位是1时,表示该MU要求与那一类PU连接,此时若所要求的那一类PU有空闲的,那么就立即按优先级实现连接,否则MU就处于等待状态。MU的等待状态也可能发生在有高优先级的MU要求连接同类PU的情况。PU一方是靠“闲标志”来与MU连接的,如果PU正忙,那么需要与之连接的MU就会仍然处于等待状态。
 
由于计算机任务的需求,处理器的功能将会细划,这样可以提高执行任务的效率。图 3 5是多种PU与MU动态连接示意图,其中CPU是程序执行处理器,T是程序通信处理器,NET是网络处理器,CHL是输入输出处理器。
 
 
                                      图 3 5 PU与MU动态连接示意图
 
3.5 动态核心系统运行综述
 
系统初始,除了固化有程序的MU之外,所有的MU都将请求连接标志指向CHL,如果没有外部任务程序请求执行,CHL会拒绝与这些MU连接。外设与MU的连接也是动态的,如果外设中的任务程序请求执行,空闲的CHL将与之连接,并且立即与空闲的MU连接,将任务传输给MU,同时将MU中的程序上下文寄存器填写好,以备后继程序段能够连续执行。装填好程序段的MU断开与CHL连接后,连接申请标志将指向CPU,进入程序动态执行。
 
MU之间会依据一定的优先顺序与各处理器连接,各类处理器也有连接优先顺序,这样可以避免连接冲突。装载了程序段的MU会依据程序执行需要,设立标志,凭借标志自动寻找处理器连接或断开。在转换或完成程序段执行时,通过指令填写好应该连接的处理器标志,以达到选择处理器或周而复始执行程序的过程。
 
MU的存储容量是有限的,超长的程序需要分段进入MU去执行,为不使任务错位,保证上下文共享数据资源,编译程序要在每个装填段的末尾添加设置连接CHL标志指令,并用保存在MU中的程序段编号控制次序,在全部程序段执行完成后,清空程序上下文寄存器,申请指向CHL,以便新的程序能够进入MU执行。
 
由于处理器无痕的特点,在同类型处理器中,MU与任何一个处理器连接都可以执行程序,这样可以充分发挥全体处理器的作用,最大限度地实现程序同时执行。动态核中同时执行的多个程序,不必刻意去编写专门的并行程序,普通传统编程方法得到的程序,都可以投入程序并行执行状态,因而称这种程序并行执行为超并行程序执行。同一程序的线程要同处于一个MU中,通过环境转换,实现“同时多线程”运行。
 
相互关联的多个程序装入不同的MU中执行,如果它们之间需要数据通信,可以通过指令将地址信息填入MU的通信地址寄存器保存,然后转向与通信处理器T连接。发信的MU在与T连接后,通过T将发送地址和数据送到邮箱。接收数据的MU再通过T访问邮箱的信件,如果邮箱没有需要的信件,相隔一定时间,再次通过T查找。
 
邮箱、外部设备和网络端口设备都可以有多个,不执行程序任务时,它们与处理器总是断开的,只有程序任务需要连接这些处理器时,才会根据需要连接,并同时设置好忙标志,以防连接冲突。输入输出、通信、连网,一般要同时实现三种连接:MU与处理器连接;MU与使用的其他设备连接;处理器与这个其他设备连接。动态核结构要求,只要有一个连接不成立,立即断开其他两方的连接,这样可以保证不发生“死锁”。
 
3.6 动态关系总线
 
图 3 6是包含两种类型处理器的动态计算机连接结构图, PU是单端连接的一类程序执行单位,它只连接MU;Chl是一类双端连接的执行单位,Chl的一端要连接MU,另一端和外设DV连接。每个不同类器件之间,都用总线连接,其中包括控制总线。这些总线都有可控开关控制通断。如果原来的两条或两条以上的总线相连,那么就组成了一条总线(见图 3 7),也就是说不论何种情况,各设备都只能在成为一条的总线上传输数据,而不能同时占用相互冲突的多条总线工作。这种总线结构,我们称之为“动态关系总线”。
 
 
                                                      图 3 6 动态计算机关系总线结构
 
动态关系总线不分内部总线和外部总线,它是内外一致的总线。
 
3.7 核重组与执行核
 
动态计算机中这种动态关系总线,形似交叉开关,但实际上是计算机的“核重组”,因为与数据传输中的交叉开关线路结构有本质的不同。不论是单端连接的程序执行单位PU还是双端连接的程序执行单位PU,都有自己的指令系统,它们都必需与MU连接才能够执行程序。这种处理器与MU连接之后才会形成能够执行程序的核,我们称之为“执行核”。动态计算机中,同时可以形成许多执行核,执行核还会随着程序执行的需要,在不断地进行着核重组。MU与单端处理器连接时,其他与MU连接的总线都会处于断开状态。当MU与双端连接处理器Chl的总线连接时,双端连接处理器Chl必须能够找到合适的外设,并与之连接,形成统一的总线结构(见图 3 7),不然就要断开与MU连接的所有总线。这样做的好处是设备不会在连接的状态下不工作,从而保证不出现死锁。
 
                                                        图3 7  动态关系总线连接前后
 
3.8         高层控制逻辑
动态计算机中,所有高端设备相互作用,都是通过信号标志线来表达的。由于这些设备同处一机,不会发生像网络那样的资源随机性,因而可以用信号通过逻辑电路来发出各种连接断开的控制。由于实现MU与PU的连接之后,程序的执行过程是由“重组核”中的控制器来管理的,所以无需高层控制逻辑干涉。
 
核内控制器与高层控制逻辑的分工,使动态计算机既能像以往的计算机那样编写和执行程序,又能够不用软件进行程序调度和处理机管理。这种结构突破了现在各种非动态计算机最低层Cache私有的界限,彻底摆脱了操作系统管理程序,管理处理器,管理庞大内存,管理数据分配等一系列模式。如同飞机从螺旋桨推动转到喷气推动一样,动态计算机结构效率的提高,是无法用原有的软件管理方式进行比拟的。
 
如果将操作系统软件管理方式比作“人治”的管理方法,那么动态计算机的硬件逻辑管理方式就是“法治”的产物。人治,服务元素和服务对象都是被动的,要靠能力强的管理者指挥来动。而法治,能够让服务元素和服务对象都能依据“法规”,主动地去完成任务,实现服务。
 
由于动态计算机中各种高层次的设备PU、MU、DV等,都是靠标志信号来联络的,因而不论程序是否在执行的状态,都能接受来自高层逻辑的调度管理。高层逻辑不用像操作系统那样,在“管态”才能发挥作用,而它是一个与所有设备同时工作的管理系统,因而不论程序在何种状态,都能实现对硬件设备的管理。高层逻辑电路的存在及工作方式,不仅是一个“硬件加速”问题,更重要的是从根本上改变了复杂落后的软件管理方式,加快了整个计算机系统完成任务的进程。
 
 
 
-―― 待续 ―――
 
 
 


https://blog.sciencenet.cn/blog-340399-286961.html

上一篇:CPU设计我要让更多的人掌握它(续8)
下一篇:评邬江兴院士的鲶鱼行动
收藏 IP: .*| 热度|

1 intowin

发表评论 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-22 21:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部