数字系统设计2 习题课 2012年11月29日 TA: 沈炳锋 沈炳锋 (683472)

Slides:



Advertisements
Similar presentations
101/9/24( 二 ) TA 課 PPT 報告 公行碩一 郭源芬. 現在是認識大家時間 TA 課程進度 1. 介紹 TA 與分組規則 (9/17)10.TA 示範報告與討論 (11/19) 2. 分組確定與議題導引 (9/24)11. 分組輪流報告 (11/26) 3. 組分工與資料蒐集 (10/1)12.
Advertisements

99 級鄭郁立 教甄分享 桃園縣霄裡國小資源班教師. 我想當老師 !!!  從小的志願  教會別人的成就感  穩定的工作 ~ 金飯碗 ( 以現在的景氣來說 …)  早下班有很多自己的時間 (3:40 或 4:00)  寒暑假 ( 偶爾要到學校 )  待遇不錯  有很多優惠 ?!( 我目前並沒有感受到.
時間:2015/11/07 會議地點:中興大學化學系館107 比賽時間:2015/11/28-11/29
(Verilog+Quartus Ⅱ+Cyclone版)
程序的执行 程序执行和指令执行概述 数据通路基本结构和工作原理 流水线方式下指令的执行
第五章 中央处理器 5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术
教育概論 幼一甲 第四小組 1.林瑞敏 2.許曉文 20.張舒婷 21.陳香如.
广东省高新技术企业认定工作培训 关于专项审计报告的说明与解释.
建構 Beta電腦 – Fall /29/0.
第十章 依赖于机器的优化 在指令级并行的机器上,程序的运行速度依赖于下面几个因素
计算机系统结构作业题解 第1章 作1.2 如有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第一级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指令各需要用多少时间(ns)? 解:∵第二级的一条指令需第1级的N条指令解释 ∴第二级的一条指令执行时间为NKns;
专题三 生物圈中的绿色植物.
中醫養生 穴位保健按摩 長庚醫院 桃園分院 中醫骨傷科 主治醫師 長庚大學、長庚技術學院 講師 中華民國中醫傷科醫學會 理事
第3章 流水线技术.
周学海 , 中国科学技术大学 2017/3/16 计算机体系结构 周学海 , 中国科学技术大学 中国科学技术大学.
三餐煮飯佬蕃薯、傍係鹹菜佬菜脯, 日子過得實在艱苦。 頭擺頭擺有一介細阿妹, 按到「梅英姐」,屋下當苦,
物流账册系统介绍 2012年5月16日 北京.
本校學生兼任助理 相關規定和行政作業流程 104年9月2日 人事室.
D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming)
职业教育课程改革创新教材 财经法规与会计职业道德.
第二章 指令系统.
核心系统数据库组 褚霸(余锋) CPU高效编程技术 核心系统数据库组 褚霸(余锋)
徐志摩与 四大美女.
周学海 , 中国科学技术大学 2018/9/20 计算机体系结构 周学海 , 中国科学技术大学 中国科学技术大学.
(Verilog+Quartus Ⅱ+Cyclone版)
第4章 处理器(CPU) 4.1 引言 4.2 逻辑设计的一般方法 4.3 建立数据通路 4.4 一个简单的实现机制 4.5 多周期实现机制.
Ch 6: CPU - Datapath and Control
微处理器设计1 刘鹏 College of ISEE Zhejiang University
Quiz 3 假设各种分支占所有指令数的百分比如下表所示:
周学海 中国科学技术大学 2018/11/14 计算机体系结构 周学海 中国科学技术大学.
周学海 , 中国科学技术大学 2018/11/15 计算机体系结构 周学海 , 中国科学技术大学 11/15/2018 中国科学技术大学.
Lecture on High Performance Processor Architecture (CS05162)
第4章 处理器(CPU) 4.1 引言 4.2 逻辑设计的一般方法 4.3 建立数据通路 4.4 一个简单的实现机制 4.5 多周期实现机制.
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
Lecture on High Performance Processor Architecture (CS05162)
The Processor: Datapath and Control
第2章 计算机指令集结构 曲冠南
第三章 流水线技术.
計算機結構 – 概論 陳鍾誠 於金門大學.
嵌入式微处理器系统 第二章 处理器技术(1) 北京大学软件与微电子学院.
啟示錄 人 子 七 教 會 寶 座 七 印 七 號 龍 與 獸 七 碗 巴 比 倫 千 禧 年 前 後 新 耶 路 撒 冷 第9章(第5號)
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
CPU结构和功能.
第3章 流水线技术 曲冠南
清新花卉唯美PPT 添加您的公司名称 汇报者:
Instructions: Language of the Machine
第六次全国人口普查 近期数据处理工作部署 夏雨春 2010年12月28日.
第九章 目标代码生成.
小小銀行家 擔心子女未來的「錢」途嗎?或是否正苦思對策,希望能教導子女更負責任的使用、管理金錢?
C语言程序设计 主讲教师:陆幼利.
The Processor: Datapath and Control (Multi-cycle implementation)
周学海 中国科学技术大学 2019/4/19 计算机体系结构 周学海 中国科学技术大学.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
2019/4/29 计算机组成原理 辅导教师:陆明强.
Geographic Information System ─ Practice Class
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
網際網路版人力資源管理系統 (WebHR)
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
夏昊珺 PB 体系结构习题课2 夏昊珺 PB
College of Computer Science & Technology
Visual Basic程序设计 第13章 访问数据库
第4章 指令级并行 授课教师:车喜龙
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2005年5月
日期:2009年10月22日 報告單位: 京年升電腦科技有限公司 報 告 人:副總經理 楊世豐 Power
推動搖籃的手─製作部門 ﹝西子劇坊﹞ 蔡如歆.
第5章 中 央 处 理 器 5.1 CPU的功能和组成 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器
Presentation transcript:

数字系统设计2 习题课 2012年11月29日 TA: 沈炳锋 沈炳锋 13738073472(683472) 数字系统设计2 习题课 2012年11月29日 TA: 沈炳锋 沈炳锋 13738073472(683472) shenbingfeng@zju.edu.cn 翁波拉 18868818893(544666) wengbola@zju.edu.cn

OUTLINE 1.Pipeline Review 2.HW4 Analysis 3.HW3 Analysis 4.HW2 Analysis 6.Quiz Ι Analysis

作业未交名单 HW1:3090101331 3100101159 3100000122 3100101017 3100102813 3100103897 HW2:3090101331 3100101159 3100101622 HW3:3090101331 3100101159 3100101622 3100101640 3100102766 HW4:3090101331 3100101159 3100104815 3100100798 3100102119 3100102921

1.Pipeline Review

4.12.6 2.HW4 Analysis 未经任何优化的流水数据通路中,分支地址在MEM级写回IF级(需四拍) 多时钟周期 中,分支指令(BEQ)三拍完成。 未经任何优化的流水数据通路中,分支地址在MEM级写回IF级(需四拍)

4.13.2 4.13.5 注意:在考虑$1的数据冒险时,也需考虑$6的数据冒险 注意:a中可使用ALU-ALU转发 无转发,用nop解决冒险 lw $1,40($6) IF ID EX MEM WB add $6,$2,$2 IF ID EX MEM WB Nop N N N N N Nop N N N N N sw $6,50($1) IF ID EX MEM WB $6 注意:在考虑$1的数据冒险时,也需考虑$6的数据冒险 4.13.5 仅使用ALU-ALU转发 $1 lw $1,40($6) IF ID EX MEM WB Nop N N N N N add $6,$2,$2 IF ID EX MEM WB sw $6,50($1) IF ID EX MEM WB $6 注意:a中可使用ALU-ALU转发

4.19.3 注意:MEM to1st ,在仅从EX/MEM转发的机制中,由于结果在MEM产生,无法使用转发机制,需停顿两拍。 仅从EX/MEM或MEM/WB转发,分析两种情况下的延迟。 0 IF ID EX MEM WB 1st IF ID EX MEM WB 2nd IF ID EX MEM WB 注意:MEM to1st ,在仅从EX/MEM转发的机制中,由于结果在MEM产生,无法使用转发机制,需停顿两拍。

两个不应该犯的错误 4.20.1 b中不存在WAR ($1)I1 to I3 提醒:即使参考了答案,也希望能够对其正确性多加思考,答案中明显的或不明显的错误较多。

分支使用了延迟槽; 预测转移发生; EX级产生了分支地址 4.22.2 有转发机制,不需要阻塞 注意:红色部分需整体右移一拍。

4.22.5 全转发;predict-taken机制;分支地址在ID级产生 lw $1,40($6) IF ID EX MEM WB beq $2,$3,label2 (T) IF ID EX MEM WB beq $1,$2,label1 (NT) IF IF ID EX MEM WB sw $2,20($4) IF ID EX MEM WB and $1,$1,$4 ) IF ID EX MEM WB

4.23 Question:如果分支指令处理时使用predict-taken的方法,当预测失败时将产生几个停顿? Answer:2 beq IF ID EX MEM WB Target inst. IF IF IF ID EX MEM WB Answer:2

4.37.3 分析各级流水线寄存器位数 4.37.4-5 WB级的执行时间由一个多路复用器延迟和寄存器写延迟组成。

附加题 控制信号详见P313 Cycle 5 lw $5, 40($2) IF ID EX MEM WB add $6, $3, $2 IF ID EX MEM WB or $7, $2, $1 IF ID EX MEM WB and $8, $4, $3 IF ID EX MEM WB sub $9, $2, $1 IF ID EX MEM WB 100ten IF/ID (and $8,$4,$3) ID/EX (or $7,$2,$1) EX/MEM (add $6,$3,$2) MEM/WB (lw $5,40($2)) pc+4 100ten control inst 0x00834024 EX RegDst:1 WB RegWrite:1 MemtoReg:0 MemtoReg:1 ALUOp:10 ALUsrc:0 MEM MemRead:0 EX_ANS 52ten MemWrite:0 25ten MEM_OUT 1052ten 96ten wdata 12ten reg_w 5 reg1 6 reg2 11ten sign_exp 0x00003825 rs 2 rt 1 rd 7 控制信号详见P313

3.HW3 Analysis 4.2.4 考察关键路径上时钟的计算。(lw指令) IF: I-MEM ID: Regs EX: 1Mux+ALU MEM: D-MEM WB: 1Mux+Regs (4.7,4.10中情况相同)

4.3.4 分析4.3.2中设计的电路的延迟 指令存储器,分析其读指令延迟,从电路中不难发现,一位数据的读出,需经过一个非门,一个与门和一个或门,因此,总延迟为20+30+30=80ps write latency: max(50,100)+100+160=360ps read latency(Reg1): 50+100+100=250ps read latency(Reg0): 100+100=200ps

4.10.1 在读I-MEM后,控制单元便可开始产生MemWrite信号,但由于memory与regs(RegWrite)均由触发器组成,其写发生在时钟边沿,其控制信号的产生在单周期实现中具有最大的余量,为关键路径时间-Imem延迟时间。关键路径需注意加上WB级中的寄存器写延迟,这里将写延迟理解为触发器的建立时间。 1ALU control 1D_mem 1Mux 1Reg ALUOp ALUSrc MemtoReg RegDst MemWrite RegWrite > MemRead > > Branch > jump > 1Mux 1D_mem 1Reg 1D_mem 1Mux 1Reg 1Mux 1Reg 2Mux 1Mux 边沿

2.将rs寄存器的值作为地址写入PC寄存器中 控制单元中除操作字段外还需输入功能字段 JALR 所执行的操作: 1.将下一条指令的PC存入31号寄存器中。 2.将rs寄存器的值作为地址写入PC寄存器中 附加题

算数逻辑(ALU)指令:addiu;addu;sll;slti 常数指令:lui;li 存储(Memory)指令:lw;sw 附加题 4.HW2 Analysis b) Please compute the number of dynamic instructions and show the instruction mix (types: ALU, Branch, Memory) for both version of the code. 指令类型分类: 算数逻辑(ALU)指令:addiu;addu;sll;slti 常数指令:lui;li 存储(Memory)指令:lw;sw 数据移动指令:move 转移(Branch)指令:bne 跳转指令:j;jr

链接程序用于处理分支指令,跳转指令和数据地址中,其基本工作方式是:找到旧的地址,代之以新的地址。 c) In the optimized code, find the code or data references that need to be resolved by the linker. 链接程序用于处理分支指令,跳转指令和数据地址中,其基本工作方式是:找到旧的地址,代之以新的地址。 0x0: lui gp, 0 0x4: addiu gp, gp, 0 0x8: addu gp, gp, t9   0xc: li a2, 10   0x10: move a1, zero 0x14: lw a0, 0(gp) 0x18: lw v1, 4(gp)   0x1c: lw v0, 0(v1) 0x20: addiu v1, v1, 4 0x24: addiu a1, a1, 1 0x28: addu v0, v0, a2 0x2c: sw v0, 0(a0) 0x30: slti v0, a1, 100 0x34: addiu a0, a0, 4 0x38: bne v0, zero, 0x1c 0x3c: jr ra 链接程序工作的三个步骤: (1)将数据和代码模块装入存储器 (2)确定数据和指令标号的地址 (3)修补所有内部和外部调用的真正地址 the linker need to resolve the following code or data references 1.0x38: bne v0, zero, 0x1c 2.ra,gp

5.HW1 Analysis ack: # prologue addiu $sp, $sp, -12 sw $ra, 0($sp) unsigned int ack(unsigned int m, unsigned int n) { unsigned int answer; if(m == 0) answer = n+1; else if(n == 0) answer = ack(m-1, 1); else answer = ack(m-1, ack(m, n-1)); return answer; } 5.HW1 Analysis ack: # prologue addiu $sp, $sp, -12 sw $ra, 0($sp) sw $a0, 4($sp) sw $a1, 8($sp) bne $a0, $0, elseif # the m == 0 case addiu $v0, $a1, 1 # answer = n + 1 j epilogue elseif: # the m != 0, n == 0 case bne $a1, $0, else addiu $a0, $a0, -1 # arg0 = m-1 li $a1, 1 # arg1 = 1 jal ack # answer = ack(m-1, 1) j epilogue else: # the final case addiu $a1, $a1, -1 # arg1 = n-1. arg0 is already m. jal ack # v0 = ack(m, n-1) addiu $a0, $a0, -1 # arg0 = m-1 move $a1, $v0 # arg1 = ack(m, n-1) jal ack # answer = ack(m-1, v0) epilogue: lw $ra, 0($sp) lw $a0, 4($sp) lw $a1, 8($sp) addiu $sp, $sp, 12 jr $ra

5.QUIZ1 Analysis 1.3 lw $1,0($6) lw $2,0($6) lw $3,0($6) lw $4,0($6) add $5, $0,$0 单纯地减少内存访问指令? OR 减少内存访问指令后以其他指令代替? 前一种情况 后一种情况

二 ws1的优先级高于ws2 得分点:使能信号,写入数据选择

2.分支指令具有一个延迟槽,lw指 令无延迟槽,EX级产生分支结果 三 注意:1.具有阻塞和冲刷流水线的能力 2.分支指令具有一个延迟槽,lw指 令无延迟槽,EX级产生分支结果 3.无predict-taken电路逻辑,则转 移机制是predict-untaken 4.题中没有说明寄存器写和读可在 一拍内完成,WB级写回结果后, 需在下一拍的ID中才能使用更新值 I1:OR R5,R1,R2 I2:OR R6,R1,R2 I3:BEQ R6,R5,I7 I4:LW R3,0(R5) I5:OR R7,R5,R6 I7:OR R6,R0,R3 I8:OR R5,R0,R1 I9:OR R11,R9,R9 I10:OR R12,R9,R9 I1 to I3 RAW($5) I2 to I3 RAW($6) I4 to I7 RAW($3) t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 I1 IF ID EX MEM WB I2 I3 I4 I5 I7 I8 I9 $6 得到分支结果,冲刷掉I5,取指I7 $3

1.I3的ID级需在I2的WB级之后执行 2.I3的EX级后冲刷掉I5的ID级 3.I7的ID级需在I4的WB级之后执行 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 I1 IF ID EX MEM WB I2 I3 I4 I5 I7 I8 I9 $6 得到分支结果,冲刷掉I5,取指I7 $3 1.I3的ID级需在I2的WB级之后执行 2.I3的EX级后冲刷掉I5的ID级 3.I7的ID级需在I4的WB级之后执行   t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 IF ID EX MEM WB I1 I2 I3 I4 I4 I4 I4 I5 I7 I8 I8 I8 I9 I1 I2 I3 I3 I3 I3 I4 N I7 I7 I7 I8 I1 I2 N N N I3 I4 N N N I7 I1 I2 N N N I3 I4 N N N I1 I2 N N N I3 I4 N N