第四章 向量处理机 银河-I巨型计算机 银河-II巨型计算机

Slides:



Advertisements
Similar presentations
软饮料概述 人文艺术系 石惠舟. 什么是饮料? 饮料概述 饮料是指以水为基本原料,由 不同的配方和制造工艺生产出 来,供人们直接饮用的液体食 品。 饮料 饮料除提供水分外,由于在不 同品种的饮料中含有不等量的 糖、酸、乳以及各种氨基酸、 维生素、无机盐等营养成分, 因此有一定的营养。
Advertisements

集团公司火力发电厂热工自动控 制系统的投入情况和问题分析 东北所热自室. 自动控制系统是机组热工专业管理水 平和设备状态的集中体现,一台机组 的自动投入率和自动调节品质体现了 机组的整体水平。同时,自动控制效 果的优劣,也是机组节能降耗目标的 实现手段和基础。
第五单元 酒水知识与酒吧服务 主题三 蒸 馏 酒 —— 中国蒸馏酒. 蒸馏酒是把经过发酵的酿酒原料,经过一次或多次的蒸馏过 程提取的高酒度酒液。
平面构成 第六章 平面构成形式与法则 — 破规与变异. 第七章 平面构成形式与法则 — 破规与变异 破规与变异构成的形式、有下列四类: 一、特异构成 特异构成。其表现特征是,在普遍相同性质的事物 当中,有个别异质性的事物,便会立即显现出来。
第七章 求职方法和技巧 (二) 主讲人:谭琳. 第一节 自荐 一、目前常见的自荐种类 1 .口头自荐 1 .口头自荐 2 .书面自荐 2 .书面自荐 3 .广告自荐 3 .广告自荐 4 .学校推荐 4 .学校推荐 5 .他人推荐 5 .他人推荐.
地方自治團體之意義與組織 范文清 SS 2011.
報告書名:父母會傷人 班級:二技幼四甲 姓名:吳婉如 學號:1A2I0034 指導老師:高家斌
鬼太郎 身為幽靈族後裔一員的鬼太郎,他出生的時候,父母便雙亡,不過他的爸爸化身為眼珠,陪伴著他。而鬼太郎與他的同伴貓女、臭鼠人等,為了維持妖怪與人類間的和平,他們將一一消滅邪惡的妖怪,守護這世界的和平。
4.1 理想气体的压强和温度 理想气体的微观模型 (1) 忽略分子大小(看作质点) (分子线度<<分子间平均距离)
关于市场营销的分析 ——以九阳豆浆机为例 品牌经营——让每一个家庭都拥有一台九阳豆浆机 营销管理——采取文化、概念、网络等营销组合
谢 旋.
舌尖上的昭通.
媽,我們真的不一樣 青少年期與中年期 老師: 趙品淳老師 組員: 胡珮玟4A1I0006 馬菀謙4A1I0040
普 通 话.
小学语文毕业总复习 ( 基础知识部分) 牡丹区实验小学侯宪梅.
教学的内容和方法.
26个英语字母 let's go!.
第十章 依赖于机器的优化 在指令级并行的机器上,程序的运行速度依赖于下面几个因素
小学语文教学论 湖南第一师范文史系.
类风湿性关节炎的中医治疗 广州中医药大学第一附属医院 陈纪藩.
第四章 运筹学模型 本章重点: 线性规划基础模型、目标规划模型、运输模型 及其应用、图论模型、最小树问题、最短路问题.
“风神初振”的初唐诗 俞冰沁.
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
班級:二幼三甲 姓名:郭小瑄 、 詹淑評 學號:1A2I0029 、1A2I0025
讀書心得分享: 善待細胞, 可以活的更好.
如何用合適的書報和新人一起追求 初信餵養-365 屬靈問答-500.
第三章 建设项目采购与合同管理.
授课教师简历 刘付才,男,中学高级教师,亳州一中南校体 育教研组长,全国体育优质课一等奖获得者,华佗 五禽戏第五十八代传承人;长期从事五禽戏教学和 研究工作,参与创编了国家级课题“校园五禽戏”; 2014年全国学生运动会展示中获得优秀表演奖; 2015年指导的五禽戏传人进行的五禽戏教学获得全 国一等奖,编著的《华佗五禽戏之简易健身操》即.
洪涝灾害重点传染病的预防 江苏省疾病预防控制中心 汪华.
第3章 机械零件的疲劳强度 强度准则是设计机械零件的最基本准则。强度问题分为静应力强度和变应力强度。绝大多数通用零件都是在变应力下工作的,各式各样的疲劳破坏是通用零件的主要失效形式。本章讨论零件在变应力下的疲劳强度问题。 基本要求 重点、难点 主要内容.
小 桔 灯 市场赢利能力与战略 主讲:杨贤耀.
法 师 带 观 修 互 动 答 题 法 师 答 疑. 法 师 带 观 修 互 动 答 题 法 师 答 疑.
第八章 越流系统中的承压完整井流 一、越流、无越流系统
恩典更新 羅15:1-13.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
践行新时期广东精神 推进广东公路文化繁荣与发展 ——关于广东省公路文化建设与实践的思考
汽车认识 中国第一汽车集团公司.
學生:蔡耀峻、許裕邦 座號:23號、21號 指導老師:黃耿凌 老師
運輸與空間的交互作用 運輸發展的階段 一、分散的港口 二、侵入路線 三、發展支線 四、初步相互連結 五、完全相互連結 六、高度優越的幹線
成员名单 陈丽 陈敏 杨娇 高丽莉 李亚金 吴沅娟 任津沙 张舒蓉.
95年度... 油品行銷事業部五股供油中心桃園煉油廠~汐止市內溝溪管線詳細路徑示意圖 紅藍綠三色線條為管線路徑 TS 2017/9/13
行政處分6 – 行政執行 范文清 SS 2011.
张沛老师带你玩转国际英标.
26个英语字母.
建國國小英語教學線上課程 字母拼讀篇(一) 製作者:秦翠虹老師、林玉川老師.
第三章 流水线技术.
第八章 欧氏空间 8.1 向量的内积 8.2 正交基 8.3 正交变换 8.4 对称变换和对称矩阵.
并行编译简介.
第6章 向量处理机 包仲贤 兰州兰州理工大学计算机与通信学院 2019年2月16日星期六 计算机系统结构 第六章 向量处理机.
第3章 流水线技术 曲冠南
第二章 静电场(3) §2.3 电像法 教师姓名: 宗福建 单位: 山东大学物理学院 2016年10月18日
运筹学 图与网络分析 1.
等值过程的应用 一. 等体过程 §7.3 热力学第一定律对理想气体 S 功 吸收的热量 l l 不变 O V p 内能的增量
第二章 静电场(2) §2.2 唯一性定理 教师姓名: 宗福建 单位: 山东大学物理学院 2015年10月16日
一、只要內心平靜, 生活中到處都有樂趣, 不論是在庭院中觀賞花卉、在靜夜裡讀書,或者是在郊外欣賞黃昏的稻田風光,李慈銘的︿越縵堂日記﹀裡傳達了這樣的訊息。 二、而劉鶚的︿大明湖﹀,則是帶我們到風景勝地大明湖,去領略湖光山色之美。 兩篇文章都表現出生活中的閒情逸趣,也啟迪我們要沉澱心靈,多與大自然接觸。
機械製造期末報告- 加工切削 組員:高德全4A 林威成4A 陳柏源4A
单元17 钢 结 构 学习目标 (1)了解钢结构的特点。 (2)了解钢结构的发展现状。 (3)掌握钢结构的链接方式。
美麗的西子湖.
作业3、4、6、7 俞天灿.
夏昊珺 PB 体系结构习题课2 夏昊珺 PB
网络模型 Network Modeling Operations Research 运 筹 学
樂理教學                 茄苳國小蔡逸凡老師.
复杂度和测试数据 吴章昊.
汽车电器与控制设备 第0章 绪论.
自动控制原理.
第十章 汽车的使用寿命.
周学海 中国科学技术大学 2019/7/16 计算机体系结构 周学海 中国科学技术大学.
單選題 1. 2. 3. 4. Q1:下列何者能作為商標樣式?
其解亦可表为向量形式.
南昌大学研究生数学建模竞赛教学案例(库)
Presentation transcript:

第四章 向量处理机 银河-I巨型计算机 银河-II巨型计算机 2000年由1024个CPU组成的银河Ⅳ超级计算机系统峰值性能达到每秒1.0647万亿次浮点运算 2010年天河一号(二期系统):2570万亿次浮点运算

第四章 向量处理机 一.标量处理与向量处理 一个既有大小又有方向的量称为向量。 如果有下面的一个向量运算,其中A和B都是N×N的矩阵:

第四章 向量处理机 要求计算: C=A×B

第四章 向量处理机 在标量计算机中,我们可以很容易的编出一段循环程序,进行这个矩阵乘法运算,比如一段用FORTRAN语言编的程序段为: DO 100 I = 1, N DO 100 J = 1, N C(I,J) = 0.0 DO 100 K = 1, N C(I,J) = C(I,J) + A(I,K) * B(K,J) 100 CONTINUE

如果将这段程序编译成一个假想的汇编程序表示,就成了一个三重循环的汇编程序: INITIALIZE I=1, J=1, K=1 10 CLR C(I,J) 20 LOAD A(I,K) LOAD B(K,J) MUL A(I,K), B(K,J) ADD C(I,J), A(I,K) // C(I,J)←C(I,J) + A(I,K)×B(K,J) INC K // K←K+1 IF K≤N GOTO 20 STORE C(I,J) INC J // J←J+1 IF J≤N GOTO 10 INC I // I←I+1 IF I≤N GOTO 10 HALT 对一个操 作数进行 操作 对一对操 作数进行 操作

上述操作如果由向量计算机来完成,其可能的程序如下所示: DO 100 I=1,N C(I,J) = 0.0 (J = 1:N) DO 100 K=1,N C(I,J) = C(I,J) + A(I,K) * B(K,J) (J=1:N) 100 CONTINUE 从形式上看,这两段程序差不多,但是在向量计算机上,不管是单元清零,还是做乘法和加法,一条语句处理的都是N个(或N对)数据,而不是一个或一对。

第四章 向量处理机 要求计算: C=A×B

第四章 向量处理机 二.向量处理机的概念与特点 1.向量处理机 把向量数据表示与流水线结合起来,就构成了向量流水处理机,简称为向量流水机或向量处理机。 向量处理机的处理对象是向量元素。

第四章 向量处理机 2.向量流水处理的特点 1)在向量机中,一条向量指令往往针对的是一个向量,因此一条向量指令相当于一个标量循环。 2)在向量运算中,每一个结果元素仅与参加运算的元素有关,与上一次运算的值无关。 3)若向量指令所要访问的向量元素相邻,则可以将其存储到多体交叉存储器中。 4)一般向量机中,允许访问存储器与有效地址的计算流水化,在高档向量机中还允许多个向量操作同时进行,即多向量并行操作。

第四章 向量处理机 三.向量处理的几种方式 向量处理的对象是一些数组,在实际处理时,可以由编译程序选择不同的处理方式。 假定有一个向量运算,其程序表示如下: DO 100 i = 1,N,1 100 Fi = Ai² *B + Di * ( Ai² - Ei ) 按照处理元素的排列次序,可以把处理方式分为三种。 ⑴ 横向处理方式 ⑵ 纵向处理方式 ⑶ 纵横处理方式

Fi = Ai² * B + Di * ( Ai² - Ei ) DO 100 i = 1,N,1 100 Fi = Ai² * B + Di * ( Ai² - Ei ) ⑴ 横向处理方式 先取i=1的各数组元素,计算出F1的值,再依次算出Fi的值。 ⑵ 纵向处理方式 Fi = Ai² * B + Di * ( Ai² - Ei ) 求出整个A²的值,作为第一个运算单元 第二个运算单元 第三个运算单元 ⑶ 纵横处理方式 将被处理的数组分割为比较小的数组,在这个较小的数组中进行纵向处理,然后在各小数组处理的基础上进行横向处理。

第四章 向量处理机 四.向量处理机的结构 1. 向量处理机的基本结构 包括: 标量流水部件:标量功能部件、若干标量寄存器 向量流水部件:向量功能部件、向量存取部件、向量寄存器、向量控制器等 2. 向量处理机的类型 存储器-存储器型 寄存器-寄存器型

第四章 向量处理机 存储器-存储器结构 功能流水线 存储系统 译码器 指令 数据A 数据B 数据C 向量处理机基本结构框图

第四章 向量处理机 在数据通道中加入可变长度的延迟电路方案框图 指令 指 令 译 码 向量控制 功能选择 地址形成器 延迟选择 可变延迟器 存储器系统 地址形成器 功能选择 向量控制 指令 指 令 译 码 延迟选择 可变延迟器 功能处理流水线 C = AΔB A B

第四章 向量处理机 由8个存储器模块组成存储系统的向量处理机 A B C A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 M0 M1 M2 M3 M4 M5 M6 M7 B C = AΔB 运算器 流水线结构

假定A和B向量都只有8个元素,运算结果C向量也有8个元素。这个向量处理机的工作过程可以用下图表示。 存储器-存储器结构向量处理机的一种工作时空图 P4 P3 P2 P1 M7 M6 M5 M4 M3 M2 M1 M0 1 2 3 4 5 6 7 RA7 RB7 W7 RA6 RB6 W6 RA5 RB5 W5 RA4 RB4 W4 RA3 RB3 R B3 W3 RA2 RB2 W2 RA1 RB1 W1 RA0 RB0 W0 8 9 10 11 12 13 14 15 16 17

第四章 向量处理机 A B C A0 A1 A2 A3 A4 A5 A6 A7 B6 B7 B0 B1 B2 B3 B4 B5 C4 C5 M0 M1 M2 M3 M4 M5 M6 M7 B C = AΔB 运算器 流水线结构 由8个存储器模块组成存储系统的向量处理机

改变向量存储方法后可以得到如下的时空图: P4 P3 P2 P1 M7 M6 M5 M4 M3 M2 M1 M0 1 2 3 4 5 6 7 8 9 10 11 12 13 改变向量存储方法后的处理机时序图 RB5 RA7 W3 RB4 RA6 W2 RB3 RA5 W1 RB2 RA4 W0 RB1 RA3 RB0 RA2 W6 RA1 RB7 W5 RA0 RB6 W4 W7 14 15

第四章 向量处理机 寄存器-寄存器结构 以CRAY-1机为例 美国CRAY公司 1976年 每秒1亿次浮点运算 时钟周期:12.5 ns 1)功能部件 共有12条可并行工作的单功能流水线,可分别流水地进行地址、向量、标量的各种运算。

第四章 向量处理机

第四章 向量处理机 6个单功能流水部件:进行向量运算 整数加(3拍) 逻辑运算(2拍) 移位(4拍) 浮点加(6拍) 浮点乘(7拍) 浮点迭代求倒数(14拍) 括号中的数字为其流水经过的时间,每拍为一个时钟周期,即12.5 ns。

第四章 向量处理机 2)向量寄存组V 由512个64位的寄存器组成,分成8块。 编号:V0~V7 每一个块称为一个向量寄存器,可存放一个长度(即元素个数)不超过64的向量。 每个向量寄存器可以每拍向功能部件提供一个数据元素,或者每拍接收一个从功能部件来的结果元素。

第四章 向量处理机 3)标量寄存器S和快速暂存器T 4)向量屏蔽寄存器VM 标量寄存器有8个:S0~S7 64位 64位,每一位对应于向量寄存器的一个单元。 作用:用于向量的归并、压缩、还原和测试操作、对向量某些元素的单独运算等。

第四章 向量处理机 2.CRAY-1向量处理的显著特点 1)每个向量寄存器Vi都有连到6个向量功能部件的单独总线。 2)每个向量功能部件也都有把运算结果送回向量寄存器组的总线。 3)只要不出现Vi冲突和功能部件冲突,各Vi之间和各功能部件之间都能并行工作,大大加快了向量指令的处理。

第四章 向量处理机 Vi冲突:并行工作的各向量指令的源向量或结果向量使用了相同的Vi。 例如:源向量相同 V3←V1+V2 V5←V4∧V1 功能部件冲突:并行工作的各向量指令要使用同一个功能部件。 例如:都需使用乘法功能部件 V3←V1×V2 V5←V4×V6

3.CRAY-1向量指令类型 1)Vk ← Vi op Vj 2)Vk ← Si op Vj 3)Vk ← 主存 4) 主存 ← Vi

第四章 向量处理机 五.提高向量处理机性能的方法 主要有: 设置多个功能部件,使它们并行工作。 采用链接技术,加快一串向量指令的执行。 采用循环开采技术,加快循环的处理。 采用多处理机系统,进一步提高性能。

第四章 向量处理机 1、设置多个功能部件 设置多个独立的功能部件。这些部件能并行工作,并各自按流水方式工作,从而形成了多条并行工作的运算操作流水线。 例如:CRAY-1向量处理机有4组12个单功能流水部件: 向量部件:向量加,移位,逻辑运算 浮点部件:浮点加,浮点乘,浮点求倒数 标量部件:标量加,移位,逻辑运算, 数“1”/计数 地址运算部件:整数加,整数乘

第四章 向量处理机 2. 向量链接技术 所谓“链接”就是将相关两条流水线对向量的处理进行前后衔接的技术。 比如,有下面的一段程序: ADDV V1,V2,V3 ; V1 ← V2 + V3 MULTV V4,V1,V5 ; V4 ← V1 × V5 两条指令存在先写后读数据相关。若向量寄存器V1能在同一时钟周期内既能接收加法运算的结果,又能把这一结果作为下一条指令的源操作数传送给乘法运算功能部件,那么就能使两个功能部件链接起来工作。

假定,一个程序段有以下三个向量操作: V3 ← A V2 ← V0 + V1 V4 ← V2 * V3 存储器 A B C V0 V1 V2 5 6 访存口 浮点加 7 D V4 浮点乘

假设:把向量数据元素送往向量功能部件以及把结果存入向量寄存器需要一拍时间,从存储器中把数据送入访存功能部件需要一拍时间。 3. 第1、2条向量指令并行执行,并与第3条指令链接执行。 从访存开始到把第一个结果元素存入V4所需的拍数(亦称为链接流水线的建立时间)为: [(1+6+1)] +[(1+7+1)] = 17 (拍) 3条指令的执行时间为: [(1+6+1)]+ [(1+7+1)] +(N-1) = N+16 (拍) 2. 前两条指令并行执行,然后再串行执行第3条指令,则执行时间为: [(1+6+1)+N-1]+[(1+7+1)+N-1] = 2N +15 (拍) 1. 3条指令全部用串行方法执行,则执行时间为: [(1+6+1)+N-1]+[(1+6+1)+N-1] +[(1+7+1)+N-1] = 3N +22 (拍) 存储器 A B C V0 V1 V2 V3 1 2 3 4 5 6 访存口 浮点加 7 D V4 浮点乘 V3 ← A V2 ← V0 + V1 V4 ← V2 * V3

进行向量链接的要求 保证:无向量寄存器使用冲突和无功能部件使用冲突 1)前一条指令的结果是后一条指令的输入。 2)当一条向量指令的两个源操作数分别是两条先行指令的结果时,要求先行的两条指令产生运算结果的时间必须相等,即要求有关功能部件的通过时间相等。 3)要进行链接执行的向量指令的向量长度必须相等,否则无法进行链接。 4)只有在前一条指令的第一个结果元素送入到结果向量寄存器的那一个时钟周期才可以进行链接。

第四章 向量处理机 例. 以下两条向量指令只能串行执行的是( ) A. V1 ←存储器 B. V2 ← V0+V1 V3 ← V1+V2  V5 ← V3*V4 C. V2 ← V0+V1      D. V2 ← V0+V1   V5 ← V3+V4       V5 ← V2*V3 答案:C

第四章 向量处理机 3. 分段开采技术 如果向量的长度大于向量寄存器的长度,该如何处理呢? 当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。这种技术称为分段开采技术。 例.设A和B是长度为N的向量,考虑在Cray-1向量处理器上实现以下的循环操作: DO 10 I = 1,N 10 A(I)= 5.0 * B(I) + 1.0

5.0 * B(I) + 1.0 当N ≤64时,可以用以下指令序列: 当N >64时,就需要进行分段开采。 循环次数K : 余数L: S1 ← 5.0 ;将常数5.0送入标量寄存器S1 S2 ← 1.0 ;将常数1.0送入标量寄存器S2 VL ← N ;在向量长度寄存器VL中设置向量长度N V0 ← B ;从存储器中将向量B读入向量寄存器V0 V1 ← S1 × V0 ;向量B中的每个元素分别和常数S1相乘 V2 ← S2 + V1 ;向量V1中的每个元素分别和常数S2相加 A ← V2 ;将计算结果从向量寄存器V2存入存储器的向量A 当N >64时,就需要进行分段开采。 循环次数K : 余数L:

第四章 向量处理机 S1 ← 5.0 ;将常数5.0送入标量寄存器S1 S2 ← 1.0 ;将常数1.0送入标量寄存器S2 VL ← L ;在向量长度寄存器VL中设置向量长度L V0 ← B ;从存储器中将向量B[0..L-1]读入向量 ; 寄存器V0 V1 ← S1 * V0 ;向量B中的每个元素分别和常数S1相乘 V2 ← S2 + V1 ;向量V1中的每个元素分别和常数S2相加 A ← V2 ;将计算结果从向量寄存器V2存入存储器 ;的向量A[0..L-1] 处理余 数部分, 计算L 个元素

第四章 向量处理机 For (I=0 to K-1) { V0 ← B ;从存储器中将向量B[L+I*64..L+I*64+63] V1 ← S1 * V0 ;向量B中的每个元素分别和常数S1 ;相乘; V2 ← S2 + V1 ;向量V1中的每个元素分别和常数S2 ;相加 A ← V2 ;将计算结果V2存入存储器的向量 ; A[L+I*64… L+I*64+63] } 循环 K次, 分段 处理

第四章 向量处理机 4. 采用多处理机系统 许多新型向量处理机系统采用了多处理机系统结构。例如: CRAY-2 包含了4个向量处理机 浮点运算速度最高可达1800MFLOPS CRAY Y-MP、C90 最多可包含16个向量处理机

第四章 向量处理机 六. 向量处理机的性能评价 在向量处理机中, 衡量向量处理机性能的指标主要有: 向量指令的处理时间Tvp 机器向量长度为无穷大时的向量处理机的峰值性能R∞ 半性能向量长度n1/2 向量长度临界值nv

第四章 向量处理机 向量指令的处理时间Tvp (1)假定指令是预取的,那么一条向量指令的执行时间将由三部分组成,如下图所示: 其中, n 建立段 第1个元素 通过流水线 2 Ts Tvf (n-1)Tc 其中, 建立段Ts是为向量指令的执行进行准备的阶段。 第二段Tvf是使被处理的向量中第一个(对)元素通过流水线所花费的时间。 第三段是所有后续元素通过流水线所花费的时间,Tc为流水线“瓶颈”段的执行时间。

得到向量指令执行时间: 通常,在数字计算机中,所有的操作时间都应是时钟周期的整数倍,而且也不会在流水线中存在“瓶颈”,假定基本时钟周期为TClk,上式可以写成: 式中的s和e表示前两段时间是时钟周期的多少倍,即需要多少个时钟周期。 上式也可以写成: 式中Tstart表示向量功能部件启动所需的时钟周期数,n为向量元素的个数。

第四章 向量处理机 (2) 一组向量指令及其编队运行 一组向量指令的执行时间并不是每条指令执行时间的简单相加,而必须根据具体处理机作具体分析。 影响一组向量指令运行时间要素是:向量中元素的个数;组织编队的情况。 将能够组合在一起在一个时钟周期内一起开始执行的向量指令集合称为一个“编队”。

例1.下面是一组向量指令,假定每种指令都有一个功能流水线,它们可分成几个编队? LV V1,RX ;从存储器取向量X到V1 MULTSV V2,S0,V1 ;标量S0乘向量V1,存入V2 LV V3,RY ;从存储器取向量Y到V3 ADDV V4,V2,V3 ;向量V2加上向量V3,存入V4 SV RY,V4 ;向量V4保存到RY中 解:按照原指令的排列次序对指令进行分析。由于第二条指令的执行依赖第一条指令的执行结果,这两条指令之间存在数据相关,不能成为一个编队。第一条指令与第三条指令之间没有数据相关,但是发生了功能部件冲突,不可能同时执行,所以也不允许乱序执行。后面的两条指令必须利用前几条指令的运行结果,都不可能与其他指令组成编队。 MULTSV V2,S0,V1 LV V3,RY

于是,这组指令的编队如下: LV V1,RX ;第一编队 MULTSV V2,S0,V1 LV V3,RY ;第二编队(惟一没有数据相关和部件冲突的两条指令) ADDV V4,V2,V3 ;第三编队 SV RY,V4 ;第四编队

实际程序段的执行时间还有两个因素必须考虑: 其一是标量代码部分的运行时间,表示为: Tloop 将一个编队计算一个元素的时间定义为基准时间Tchime,其值完全取决于处理机的结构,与向量中元素的个数无关。如果一段程序有m个编队,而向量长度为n时,完成这些向量元素的处理所花的时间为:mnTchime。 实际程序段的执行时间还有两个因素必须考虑: 其一是标量代码部分的运行时间,表示为: Tloop 其二是组织起向量流水线的时间,是各编队流水线启动开销之和,表示为:Tstart。 在计算程序段的执行时间中还必须考虑向量长度的影响。由此可得一段程序的执行时间为: 寄存器长度

例2.在某向量处理机上执行DAXPY的向量指令序列,也即计算双精度浮点向量表达式。 Y = α× X +Y 其中X和Y是双精度浮点向量,最初保存在外部存储器中,α是一个双精度浮点常数,已存放在浮点寄存器F0中。计算该表达式的向量指令序列如下: LV V1,Rx MULTFV V2,F0,V1 LV V3,Ry ADDV V4,V2,V3 SV Ry,V4

假设: Tchime=1, Tloop=15,向量寄存器长度MVL=64 ,各功能部件的启动时间为: 1)向量存储部件的启动:12个时钟周期 2)向量乘法部件的启动:7个时钟周期 3)向量加法部件的启动:6个时钟周期 分别计算在不采用链接技术和采用链接技术下完成上述操作的总的时间。 解:(1)不采用链接技术时,可以进行如下编队: 第一编队:LV V1,Rx; 第二编队:MULTFV V2,F0,V1;LV V3,Ry; 第三编队:ADDV V4,V2,V3; 第四编队:SV Ry,V4。 所以,Tstart=12+12+6+12,m = 4 LV V1,Rx MULTFV V2,F0,V1 LV V3,Ry ADDV V4,V2,V3 SV Ry,V4

(2)若采用链接技术时,可以进行如下编队: LV V1,Rx MULTFV V2,F0,V1 LV V3,Ry ADDV V4,V2,V3 SV Ry,V4 (2)若采用链接技术时,可以进行如下编队: 第一编队:LV V1,Rx; MULTFV V2,F0,V1 ; 第二编队:LV V3,Ry; ADDV V4,V2,V3; 第三编队:SV Ry,V4。 所以,Tstart=12+7+12+6+12,m = 3

例3.有一台向量处理机,其寄存器的长度(MVL)为64个字,如果各功能流水线的启动时间与上题相同。假定Tloop为一个固定值15,Tchime近似等于1,向量长度为200。请计算为实现算式:A = B × s的运算需要花费的时间。 解:为完成这项运算,可以编译成以下三条向量指令: LOADV V1,RB ;取向量B MULTSV V2,V1,Fs;向量B乘上标量s,存入V2 STOREV RA,V2 ;存成向量A 由于这三条指令之间存在数据相关,若不采用链接,只能作为三个编队处理,即m = 3。200个向量元素应分为4组进行计算,而且每组都必须加入Tloop和Tstart。

所以全部执行时间为: T200 = 4×(15 + Tstart)+ 3×200×1 = 660 + 4Tstart Tstart是三条向量指令的启动时间之和,即:12 + 7 + 12 = 31个时钟周期。 T200 = 784个时钟周期。 若采用链接技术,结果如何?

第四章 向量处理机 2. 向量处理机的峰值性能R∞ R ∞表示当向量长度为无穷大时,向量处理机的最高性能,也称为峰值性能。 单位为:MFLOPS

例. 对于上述例题2中向量指令序列中的操作而言,只有“MULTFV V2,F0,V1”和“ADDV V4,V2,V3”两条浮点操作向量指令。假设该向量处理机的时钟频率为200 MHz,那么:

第四章 向量处理机 3. 半性能向量长度n1/2 指向量处理机的运行性能达到其峰值性能的一半时所必须满足的向量长度。 是评价向量流水线的建立时间对性能影响的重要参数。 对于上面的例子: 由于该向量处理机的峰值性能R∞=100 MFLOPS, 所以根据半性能向量长度的定义有:

第四章 向量处理机 2×n1/2 ×200 = 50 n1/2 ×64+3n1/2 64 假设 ≤64,那么有: n1/2 假设 ≤64,那么有: n1/2 64+3n1/2 = 2×n1/2 ×200 50 = 8n1/2 5n1/2 = 64,n1/2 =12.8 n1/2 = 13

第四章 向量处理机 4. 向量长度临界值 nv 指对于某一计算任务而言,向量方式的处理速度优于标量串行方式处理速度时所需的最小向量长度。 对于上述DAXPY的例子 假设nv <64,在标量串行工作方式下实现DAXPY循环的开销为10个时钟周期。 1)那么在标量串行方式下,计算DAXPY循环所需要的时钟周期数为: Ts =( 10+12+12+7+6+12 )×nv = 59nv

第四章 向量处理机 Tv = 64+3nv 2)在向量方式下,计算DAXPY循环所需要的时钟周期数为: 根据向量长度临界值的定义,有: Tv = Ts 64+3nv = 59nv = 64 56 = 2 nv

复习: 1. 在向量机中,利用向量指令间存在的数据相关性来加快向量指令序列执行速度的技术称为 。 1. 在向量机中,利用向量指令间存在的数据相关性来加快向量指令序列执行速度的技术称为 。 2.有关半性能向量长度,下面哪种说法正确?( ) A.该值是最大性能的一半 B.该值越大说明向量计算机性能越好 C.该值是为达到一半最大性能所需要的向量长度 D.该值必须是整数,计算的时候应该向下取整

答案: 1. 链接 2. C

课后作业 1. 在CRAY-1机上,V为向量寄存器,设向量长度均为32,s为标量寄存器,所用浮点功能执行部件的执行时间分别为;加法~6拍;乘法~7拍;从存储器读数~6拍;求倒数近似值~14拍;打入寄存器及启动功能部件各~1拍。试分析下列各组指令,说明各指令之间的关系(顺序、链接或并行?)(注:CRAY-1规定:不允许存储器写操作参与链接) (1)V0 ←存储器 (2)V2 ←V0*V1 V1 ←V2+V3 V3 ← 存储器 V4 ←V5*V6 V4 ←V2+V3

课后作业 (3)V0 ←存储器 (4)V0 ← 存储器 V3 ←V1+V2 V1 ←1/V0 V4 ←V0*V3 V3 ←V1+V2 V4 ← V5 *V6 s0 ← s2+s3 s0 ← s1+s2 V3 ← V1 *V4 (7)V3 ←存储器 (8) V0 ←存储器 V2 ← V0+V1 V2 ← V0+V1 V4 ← V2 *V3 V3 ← V2 *V1 存储器← V4 V5 ← V3 *V4