- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章数据流计算机结构
§6.1 引言 现代计算机自问世以来已历经50余年的历史,基本结构形式始终是冯·诺依曼机结构。 冯·诺依曼机的基本特征: “程序存储、顺序执行、二进制、五大部件组成、共享数据” 相关性是并行处理的关键问题 并行处理计算的发展,两条路线: 对冯·诺依曼机结构改进,适应并行处理,解决相关性问题 提出非冯·诺依曼结构 四种驱动方式计算机模型 按控制机制对计算机模型分类,Treleaven教授提出划分为四种驱动方式: 控制驱动 数据驱动 需求驱动 模式匹配驱动 控制驱动模型 这是传统的冯·诺依曼型结构 基本特征: 命令式语言 程序顺序执行,指令的执行次序受指令计数器的控制,即由程序员指定序列操作 影响并行性主要因素: “共享数据,顺序执行” 控制驱动发展并行控制流模型 如Fork和Join结构,允许在同一时刻有几个控制流同时活动。 并行控制流模型关键技术之一是采用同步手段(如Join操作符)来处理数据的相关性。 存在问题: 用程序计数器(PC)确定程序中指令执行的顺序,程序流由程序员显式控制 控制流计算机用共享存储器来保存指令和数据对象,共享存储器中的变量可被多条指令修改。由于存储器是共享的,所以一条指令执行后可能会对其它指令产生副作用。副作用会妨碍并行处理。 数据驱动模型 程序中任意一条指令中所需的操作数(数据令牌)到齐,立即启动执行(称为“点火”)。一条指令的运算结果又流向下一条指令,作为下一条指令的操作数来驱动此指令的启动执行 能充分地利用程序中指令级并行性 不存在共享数据,也不存在指令计数器,指令启动执行的时机仅取决于操作数具备与否。只要有足够多的处理单元,凡是相互间不存在数据相关的指令都可以并行执行 需求驱动模型 一个操作仅在需要用到其输出结果时才开始启动。 如果这时该操作由于操作数未到而不能得到输出结果,则该操作再去启动能得到它的各个输入数的操作,也可能那些操作还要去启动另外一些操作,这样就把需求链一直延伸下去,直至遇到常数或外部输入的数据已经到达为止,然后再反方向地去执行运算。 需求驱动的系统结构也取消了共享数据和指令计数器,但其执行操作的次序与数据驱动方式不同。由于需求驱动方式只对需要用到其结果的操作进行求值,也即只执行最低限度的求值,免除了许多冗余的计算,从总体而言,它比数据驱动执行的计算量小。归约机就是基于需求驱动的计算机 计算的运行是由谓词模式匹配加以驱动的,程序的执行主要适合于求解非数值的符号演算。面向智能的计算机就是基于“模式匹配驱动”的计算机。 §6.2 数据流计算机 基本工作思路 由数据驱动程序的执行; 一条指令执行后不送存储器保存,以供其他指令共享,而是直接流向需要该结果的指令,作为新的操作数供下一条指令使用。 可重入结构、可重入程序 要求可以被多个任务所调用,需要: 程序模块本身在执行过程中不能被修改 调用它的各程序应自带参数工作区 数据流计算机指令结构 指令主要由操作包(Operation Packet)和数据令牌(Data Token)两部分组成 操作包由操作码(Operation Code),一个或几个源操作数(Source Data)及后继指令地址(Next Address)等等组成 数据令牌通常由结果数值和目标地址等组成。其中的结果值是上条指令的运算结果,而目标地址直接取自上条指令的后继指令地址, 如果一条指令的运算结果要送往几个目的地,则分别形成几个数据令牌,多个数据令牌同时在各个操作部件之间传送,允许有多条指令并行执行。 数据流计算机中指令的执行过程 数据流驱动四个性质: 异步(Asynchrony)只要本条指令所需要的数据令牌都到达,指令即可独立地执行,而不必关心其他指令及数据的情况如何。 并行性(Parallelism)可同时地并行执行多条指令, 而且这种并行性通常是隐含的。 函数性(Functionalism) 由于不使用共享的数据存储单元,所以数据流程序不会产生诸如改变存储字这样的副作用。也可以说,数据流运算是纯函数性的。 局部性(Locality) 操作数不是作为“地址”变量, 而是作为数据令牌直接传送,因此数据流运算没有产生长远影响的后果,运算效果具有局部性。 2. 数据流程序图和数据流语言 数据流程序图有两种表示方法: 活动片表示法(Activity Templete); 有向图(Directed Graph)法。 活动片表示法的基本单元是活动片,每个活动片通常相当于一个或几个操作结点。一个活动片由一个操作码域,一个或几个操作数域,一个或几个后继指令地址域及有关标志等组成 (与传统计算机指令系统相似) 有向图法(Directed Graph),通过特殊有向图描述数据流计算机的工作过程。 由有限个
文档评论(0)