<4D F736F F D20B5DAC1F9D5C2CFB0CCE2B4F0B0B8A3A8CDF8D5BEA3A92E646F63>

Similar documents
<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

L18 CPU III

Training

URISC 处理器设计一 URISC 处理器功能描述 URISC 处理器是只有一条指令的超级精简指令集计算机, 它是由 Mavaddat 和 Parham 提出的一种 RISC 结构 尽管 URISC 只有一条指令, 却也是一种通用计算机, 所有的复杂操作都可以由这条指令来完成 URISC 指令要完

第七章 中断

lecture21

单周期数据通路

Microsoft PowerPoint - CA_02 Chapter5 Part-I_Single _V2.ppt

Microsoft PowerPoint - chx09_org14_pipelining_1.ppt

L15 MIPS Assembly

untitled

Microsoft PowerPoint - 第9讲-08.ppt [兼容模式]

<4D F736F F F696E74202D20B5DAC1F9D5C220D7F7D2B5B2CEBFBCB4F0B0B8>

第五章 重叠、流水和现代处理器技术

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>


378高雄市都市計畫說明書

<4D F736F F D CFC4D7E9B3C9D4ADC0EDCAD4CCE22D41A3A8B4F0B0B8A3A92E646F63>

Ps22Pdf

1 CPU

多 种 途 径, 让 学 生 通 过 实 践 性 教 学, 事 半 功 倍 地 接 受 理 解 老 师 讲 授 的 知 识, 教 学 过 程 跟 踪 国 外 金 融 市 场 动 态 与 国 内 外 著 名 专 家 学 者 的 交 流 与 区 域 金 融 机 构 的 交 流, 形 成 探 究 式 教

标题

Microsoft PowerPoint - 《??省企?集体合同?例》解?(?莞).ppt [Compatibility Mode]

Microsoft Word - 2.doc

Chapter 6

PowerPoint Presentation

勞動條件檢查執行重點(雲林)_ [相容模式]

醋 水 法 在 水 盆 內 放 入 約 七 分 滿 的 水 與 1/2 到 1 小 杯 的 醋 量, 將 髒 襪 子 浸 泡 一 晚, 隔 天 再 丟 入 洗 衣 機, 就 能 洗 得 相 當 乾 淨 醋 有 殺 菌 除 臭 和 漂 白 功 效, 使 用 過 的 醋 水, 還 可 清 理 地 板,

穨 PDF

Microsoft Word - 完全手冊-課程.doc

第一冊 第四章 分裂與再統一 班級 座號 姓吊


计算机组成与系统结构

<4D F736F F F696E74202D20B5DAC6DFD5C220D6B8C1EEC1F7CBAECFDF2E707074>

微机原理(计算机原理与接口技术)

Microsoft Word ZW-11111

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt

计算机组成原理 教案.doc

L21

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

CH559指令周期.doc

<4D F736F F F696E74202D DB5DABEC5BDB22DCEA2B4A6C0EDC6F7B5C4D3B2BCFEBDE1B9B9A3A8D2BBA3A92E >

¸ß¼¶¼ÆËã»úÌåϵ½á¹¹

<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074>

Microsoft PowerPoint - CA_04 Chapter6 v ppt

<4D F736F F F696E74202D20B5DAC1F9D5C220C0FBD3C3C1F7CBAECFDFCCE1B8DFD0D4C4DC2E707074>

Microsoft Word - 1-3陳詠琳-近代..

第1章 概论

Ch2.1

M8Rxxx 指令集说明 Version 年 11 月 上海磐芯电子有限公司 SHANGHAI MASSES ELECTRONIC Co., Ltd. 本公司保留对产品在可靠性, 功能和设计方面的改进作进一步说明的权利 说明文档的更改, 恕不另行通知

[Group 9] Give an example of structural hazard ans 1. 假設下列指令是在只有單一記憶體的 datapath 中執行 lw $5, 100($2) add $2, $7, $4 add $4, $2, $5 sw $5, 100($2)

数据库系统概论

starter_pdfmerge

untitled

L15 MIPS Assembly

RISC-V 相关技术文档 1 RV32I 基本整数指令集 1.1 基本整数子集的程序员模型有 31 个通用寄存器 x1~x31, 它们保存了整数数值 寄存器 x0 是硬件连线的常数 0 没有硬件连线的子程序返回地址连接寄存器, 但是在一个过程调用中, 标准软件调用约定使用寄存器 x1 来保存返回地

Microsoft PowerPoint - notes3-Simple-filled12

Microsoft Word - Ö¸Á.doc

第0章 硬件部分试题分析和解题方法

2

微机第02章1(指令寻址)

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

语 考 试 考 务 工 作 的 汉 考 国 际 教 育 科 技 ( 北 京 ) 有 限 公 司 ( 以 下 简 称 汉 考 国 际 ) 组 织 的 培 训 和 网 络 考 试 系 统 安 装 指 导, 并 签 署 汉 语 网 络 考 试 补 充 服 务 协 议 第 六 条 拟 新 申 请 成 立 汉

7 Q&A 11 2

10. 若 数 据 元 素 序 列 11,12,13,7,8,9,23,4,5 是 采 用 下 列 排 序 方 法 之 一 得 到 的 第 二 趟 排 序 后 的 结 果, 则 该 排 序 算 法 只 能 是 A. 起 泡 排 序 B. 插 入 排 序 C. 选 择 排 序 D. 二 路 归 并 排

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

L2 performance

<4D F736F F D20BCC6CBE3BBFAD7E9B3C9D4ADC0EDD6D8B5E3A1A2C4D1B5E32E646F63>

Template

Microsoft PowerPoint - BECKHOFF技术_ADS通讯 [Compatibility Mode]

untitled

形成下一条指令地址 IR:Instruction Register, 指令寄存器, 其功能是存放当前正在执行的指令 CU:Control Unit, 控制单元 ( 部件 ), 为控制器的核心部件, 其功能是产生微操作命令序列 ALU:Arithmetic Logic Unit, 算术逻辑运算单元,

201112封面.psd

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

邏輯分析儀的概念與原理-展示版

Chapter 6

飞利信 MCU 芯片遵循的开源指令集 Rv32IMC 标准特点中文介绍 1 开源指令集 Rv32IMC 概述标准 ISA 扩展是由单个字母构成的名字 例如, 基本整数核心的最前面 4 个标准扩展是 : M 表示整数乘法和除法, A 表示原子性存储器指令, F 表示单精度浮点指令, D 表示双精度浮点

Microsoft Word 第104期.doc

TD

MIPS 处理器的 SystemC 实现 学号 : 孙伟斌 B 前言 这篇文档讲述了如何使用 SystemC 来实现一个多周期的流水 MIPS 处理器 通过对 MIPS 处理器的五步进行描述, 本文详细阐述了作业中的 SystemC 实现如何来构建者五步流水中的每一

坐 公 車 好 處 多 得 獎 者 : 李 宥 萱 指 導 老 師 : 陳 淑 鈴 我 家 住 在 鄉 下, 離 市 區 有 段 距 離 每 個 禮 拜 三 和 禮 拜 六 我 都 要 到 市 區 補 習, 以 前 都 是 媽 媽 特 地 從 大 老 遠 的 地 方 開 車 回 來 載 我 這 實

2015年土地市场发展报告-网站

: ( ) : : / : ISBN / F5112 : : CIP (2006)

Chapter 6

Microsoft PowerPoint sun-arm isa2.ppt [Compatibility Mode]


KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20%

第 二 章 校 草 出 现 圣 迪 亚 学 院, 一 所 远 近 闻 名 的 贵 族 学 院 它 的 知 名 度 就 好 像 猪 的 知 名 度 一 样, 无 人 不 知 无 人 不 晓 是 所 有 人 都 向 往 的 学 校 圣 迪 亚 学 院 是 以 欧 式 建 筑 风 格 为 主 的 大 门

樣 的 深 不 管 是 怎 樣, 對 方 真 的 要 結 束 同 居 關 係, 真 的 都 會 好 好 講 清 楚 和 溝 通, 傷 害 是 一 定 會 有, 但 不 要 用 到 雙 方 像 敵 人 一 樣, 這 樣 對 雙 方 來 說, 有 什 麼 意 義 存 在 呢?! 因 為 彼 此 之 間

学习贯彻十一届全国人大三次会议精神 特约报告员 刚刚闭幕的十一届全国人大三次会议 全面贯彻党的十七 大和十七届三中 四中全会及中央经济工作会议精神 高举中 国特色社会主义伟大旗帜 以邓小平理论和 三个代表 重要 思想为指导 深入贯彻落实科学发展观 以对人民高度负责的 态度 圆满完成了各项议程 一 大

本课程的作用 数据结构 算法设计 组成原理 操作系统 编译原理 体系结构 该课程为今后学习操作系统 编译原理 计算机体系结构 计算机网络 计算机容错技术 并行计算 分布式系统等课程打好基础

<4D F736F F D DD7A1B7BFB9ABBBFDBDF0D0C5CFA2BBAFBDA8C9E8B5BCD4F25FB1A8C5FAB8E55F2E646F6378>

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

四 关 于 个 人 住 房 贷 款 风 险 的 提 示 五 常 见 问 题 解 答 理 财 服 务 一 什 么 是 银 行 理 财 产 品 二 银 行 理 财 产 品 的 优 势 三 银 行 理 财 产 品 的 种 类 四 投 资 理 财 产 品 注 意 事 项 五 怎 样 选 择 适 合 自 己

Transcription:

第六章中央处理器 2. 简单回答下列问题 ( 参考答案略 ) ( 1) CPU 的基本组成和基本功能各是什么? ( 2) 取指令部件的功能是什么? ( 3) 控制器的功能是什么? ( 4) 为什么对存储器按异步方式进行读写时需要 WMFC 信号? 按同步方式访问存储器时, CPU 如何实现存储器读写? ( 5) 单周期处理器的 CPI 是多少? 时钟周期如何确定? 为什么单周期处理器的性能差? 元件在一个指令周期内能否被重复使用? 为什么? ( 6) 多周期处理器的设计思想是什么? 每条指令的 CPI 是否相同? 为什么在一个指令周期内某个元件可被重复使用? ( 7) 单周期处理器和多周期处理器的控制逻辑设计的差别是什么? ( 8) 硬布线控制器和微程序控制器的特点各是什么? ( 9) 为什么 CISC 大多用微程序控制器实现,RISC 大多用硬布线控制器实现? ( 10) 水平型微指令和垂直型微指令的基本概念和优缺点是什么? ( 11) CPU 检测内部异常和外部中断的方法有什么不同? 3. 在书中图 6.9 中, 假定总线传输延迟和 ALU 运算时间分别是 20ps 和 200ps, 寄存器建立时间为 10ps, 寄存器保持时间为 5ps, 寄存器的锁存延迟 (Clk-to-Q time) 为 4ps, 控制信号的生成延迟 (Clk-to-signal time) 为 7ps, 三态门接通时间为 3ps, 则从当前时钟到达开始算起, 完成以下操作的最短时间是多少? ( 1) 将数据从一个寄存器传送到另一个寄存器 ( 2) 将程序计数器 PC 加 1 ( 1) 寄存器的锁存延迟与控制信号的生成延迟的时间重叠, 且 Clk-to-signal time> Clk-to-Q time, 所以完成寄存器传送的时间延迟为 : 7+3+20+10=40ps ( 2) 分两个阶段 : PC+1 Z : 7+3+20+200+10=240ps; Z PC: 7+3+20+10==40ps 寄存器保持时间用来作为时间约束 4. 图 6.30 给出了某 CPU 内部结构的一部分,MAR 和 MDR 直接连到存储器总线 ( 图中省略 ) 在两个总线之间的所有数据传送都需经过算术逻辑部件 ALU ALU 可实现的部分功能及其控制信号如下 : MOVa: F=A; MOVb: F=B; a+1: F=A+1; b+1: F=B+1 a-1: F=A-1; b-1: F=B-1 156

其中 A 和 B 是 ALU 的输入,F 是 ALU 的输出 假定 JSR( 转子指令 ) 指令占两个字, 第一个字是操作码, 第二个字给出子程序的起始地址, 返回地址保存在主存的栈中, 用 SP( 栈指示器 ) 指向栈顶, 按字编址, 每次从主存读取一个字 请写出读取并执行 JSR 指令所要求的控制信号序列 ( 提示 : 当前指令地址在 PC 中 ) 假定采用同步方式 ( 若为异步, 则只需在 read 和 Write 后加一个等待信号 WMFC) 分三个阶段 : 1. 取指令操作码 :PCout, MOVb, MARin Read, b+1, PCin MDRout, MOVb, IRin 2. 取子程序首址 :PCout, MOVb, MARin Read, b+1, Yin MDRout, MOVb, PCin 3. 保存返址至栈 :SPout, MOVb, MARin Yout, MOVb, MDRin Write, SPout, b-1, SPin ( 注 : 若按最长的存储访问时间作为 CPU 时钟周期, 则上述每个阶段都需三个时钟周期 ) 能否用更少的时钟周期完成上述功能? 不能! 以下是另一种方式 1. 取指令操作码 :PCout, MOVb, MARin Read, b+1, Yin MDRout, MOVb, IRin 2. 取子程序首址 :Yout, MOVb, MARin Read, a+1, Yin ( 用 b+1 也行 ) MDRout, MOVb, PCin 3. 保存返址至栈 :SPout, MOVb, MARin Yout, MOVb, MDRin Write, SPout, b-1, SPin 5. 假定某计算机字长 16 位,CPU 内部结构如书中图 6.9 所示,CPU 和存储器之间采用同步方式通信, 按字编址 采用定长指令字格式, 指令由两个字组成, 第一个字指明操作码和寻址方式, 第二个字包含立即数 Imm16 若一次存储访问所花时间为 2 个 CPU 时钟周期, 每次存储访问存取一个字, 取指令阶段第二次访存将 Imm16 取到 MDR 中, 请写出下列指令在指令执行阶段的控制信号序列, 并说明需要几个时钟周期 ( 1) 将立即数 Imm16 加到寄存器 R1 中, 此时,Imm16 为立即操作数 即 :R[R1] R[R1]+ Imm16 ( 2) 将地址为 Imm16 的存储单元的内容加到寄存器 R1 中, 此时,Imm16 为直接地址 157

即 :R[R1] R[R1]+ M[Imm16] ( 3) 将存储单元 Imm16 的内容作为地址所指的存储单元的内容加到寄存器 R1 中 此时, Imm16 为间接地址 即 :R[R1] R[R1]+ M[M[Imm16]] ( 1) MDRout, Yin R1out, add, Zin Zout, R1in 需 3 个时钟周期 ( 2) MDRout, MARin Read1,( R1out, Yin 也可以放在该控制信号所在的时钟周期中 ) Read2, R1out, Yin MDRout, add, Zin Zout, R1in 需 5 个时钟周期 ( 3) MDRout, MARin Read1 Read2 MDRout, MARin Read1,( R1out, Yin) Read2, R1out, Yin MDRout, add, Zin Zout, R1in 需 8 个时钟周期 6. 假定 P.177 图 6.23 单周期数据通路对应的控制逻辑发生错误, 使得在任何情况下控制信号 RegWr RegDst Branch MemWr ExtOp 总是为 0, 则哪些指令不能正确执行? 为什么? 若 RegWr=0, 则所有需写结果到寄存器的指令 ( 如 :R-Type 指令 load 指令等 ) 都不能正确执行, 因为寄存器不发生写操作 ; 若 Regdst=0, 则所有 R-Type 指令都不能正确执行, 因为目的寄存器指定错误 ; 若 Branch=0, 则 Branch 指令可能出错, 因为永远不会发生转移 ; 若 MemWr=0, 则 Store 指令不能正确执行, 因为存储器不能写入所需数据 ; 若 ExtOp=0, 则需要符号扩展的指令 ( 如 Beq lw/sw 等 ) 发生错误 7. 假定 P.177 图 6.23 单周期数据通路对应的控制逻辑发生错误, 使得在任何情况下控制信号 RegWr RegDst Branch MemWr ExtOp 总是为 1, 则哪些指令不能正确执行? 为什么? 若 RegWr=1, 则所有不需写结果到寄存器的指令 ( 如 :sw beq 等 ) 都不能正确执行 ; 若 Regdst=1, 则 lw 和 ori 等指令不能正确执行, 因为目的寄存器指定错误 ; 158

若 Branch=1, 则非 Branch 指令可能出错, 因为可能会发生不必要的转移 ; 若 MemWr=1, 则除 Store 指令外其他指令都不能正确执行, 因为存储器总会写入数据 ; 若 ExtOp=1, 则需要零扩展的指令 ( 如 ori 等 ) 会发生错误 8. 在 MIPS 指令集中需要增加一条 swap 指令, 可以使用软件方式用若干条已有指令来实现伪指令, 也可以通过改动硬件来实现 ( 1) 写出用伪指令方式实现 swap $rs, $rt 时的指令序列 ( 2) 假定用硬件实现时会使一条指令的执行时间增加 10%, 则 swap 指令在程序中占多大的比例才值得用硬件方式来实现? ( 1) swap 指令可用以下三条指令实现 xor $rs, $rs, $rt xor $rt, $rs, $rt xor $rs, $rs, $rt ( 若使用额外寄存器 $rtemp, 则 $rtemp 内容会被破坏, 所以伪指令一般不能用额外寄存器 ) add $rtemp, $rs, $zero add $rs, $rt, $zero add $rt, $rtemp, $zero ( 2) 假定该指令占 x%, 其他指令占 (1-x)% 则用硬件实现该指令时, 程序执行时间为原来的 1.1*(x+1-x) =1.1 倍用软件实现该指令时, 程序执行时间为原来的 3x+1-x =( 2x+1) 倍当 1.1 < 2x+1 时, 硬件实现才有意义由此可知,x > 5% 9. 假定 P.185 图 6.32 多周期数据通路对应的控制逻辑发生错误, 使得在任何情况下控制信号 PCWr IRWr RegWr BrWr PCSource MemWr MemtoReg PCWrCond 总是为 0, 则哪些指令不能正确执行? 为什么? 若 PCWr=0, 则所有指令都不正确, 因为无法更新 PC 若 IRWr=0, 则所有指令都不能正确执行, 因为 IR 中不能写入指令若 RegWr=0, 则所有需要写结果到寄存器的指令 ( 如 :R-Type 指令 load 指令等 ) 都不能正确执行, 因为寄存器不发生写操作若 PCSource=00, 则除 j 之外的其他指令都不能正确得到下条指令地址若 MemWr=0, 则 Store 指令不能正确执行, 因为存储器不能写入数据若 MemtoReg=0, 则所有 Load 指令执行错误, 因为寄存器写入的是 ALU 输出若 PCWrCond=0, 则 Branch 指令不能正确执行, 因为不能写入转移目标地址到 PC 10. 假定 P.185 图 6.32 多周期数据通路对应的控制逻辑发生错误, 使得在任何情况下控制信号 PCWr IRWr RegWr BrWr PCSource MemWr MemtoReg PCWrCond 总是为 1, 则哪些指令不能正确执行? 为什么? 159

若 PCWr=1, 则程序执行顺序失控, 因为每个时钟都会更新 PC 若 IRWr=1, 则所有指令都可能不能正确执行, 因为写入 IR 的可能不是当前指令若 RegWr=1, 则所有不需写结果到寄存器的指令 ( 如 :sw beq 等 ) 都不能正确执行若 PCSource=01, 则 j 和 Branch 指令不能正确得到下条指令地址若 MemWr=1, 则除 Store 指令外的所有指令都不能正确执行若 MemtoReg=1, 则除 Load 外的所有指令执行错误若 PCWrCond=1, 则除 Branch 外的其他指令可能不能正确执行 13. 对于多周期 MIPS 处理器, 假定将访问数据的过程分成两个时钟周期可使时钟频率从 4.8GHz 提高到 5.6GHz, 但会使得 lw 和 sw 指令增加时钟周期数 已知基准程序 CPUint 2000 中各类指令的频率为 :Load: 25%, Store: 10%, Branch: 11%, Jump: 2%, ALU: 52% 以基准程序 CPUint 2000 为标准计算时钟频率提高后处理器的性能提高了多少? 若将取指令过程再分成两个时钟周期, 则可进一步使时钟频率提高到 6.4GHz, 此时, 时钟频率的提高是否也能带来处理器性能的提高? 为什么? SPEC CPUint 2000 混合指令频率为 : Load: 25% Store: 10% Branch: 11% Jump: 2% ALU: 52% 假设 M1 M2 和 M3 分别表示时钟频率为 4.8GHz 5.6GHz 和 6.4GHz 的多周期处理器, 从有限状态图分析, 得知 : M1 中上述各类指令的 CPI 分别为 5 4 3 3 4 M2 中上述各类指令的 CPI 分别为 6 5 3 3 4 M3 中上述各类指令的 CPI 分别为 7 6 4 4 5 CPIM1=25%x5+10%x4+11%x3+2%x3+52%x4=4.12 CPIM2=25%x6+10%x5+11%x3+2%x3+52%x4=4.47 CPIM3=25%x7+10%x6+11%x4+2%x4+52%x5=5.47 ( 实际上就是每个指令都加一个时钟周期, 所以 CPIM3=CPIM1+1=5.47) MIPSM1=4.8G / 4.12 =1165 MIPSM2=5.6G / 4.47 = 1253 MIPSM3=6.4 G / 5.47 = 1170 由此可见, 数据存取改为双周期的做法效果较好 进一步把取指令改为双周期的做法反而使 MIPS 数变小了, 所以不可取 因为数据存取只涉及到 load/store 指令, 而指令存取涉及到所有指令, 使得 CPI 显著提高 160

15. 微程序控制器容量为 1024 48 位, 微程序可在整个控存内实现转移, 反映所有指令执行状态转换的有限状态机中有 4 个分支点, 微指令采用水平格式, 微地址由专门的下地址字段确定 请设计微指令的格式, 说明各字段有多少位? 为什么? 微程序控制器容量为 1024 48 位, 说明微地址占 10 位, 微指令字共 48 位, 其中 10 位下地址字段用来给出下条微地址 ; 转移控制字段需要对 5 种情况进行控制, 需 3 位 例如, 000: 取指令微指令首地址 100: 根据分支 1 处的条件选择下条微地址 101: 根据分支 2 处的条件选择下条微地址 110: 根据分支 3 处的条件选择下条微地址 111: 根据分支 4 处的条件选择下条微地址剩下的 48-10-3=35 位用来表示微操作码字段 ( 如果采用计数器法, 则转移控制字段需要对 6 种情况进行控制, 比上述 5 种情况多一种 : 即顺序执行下条微指令, 此时, 也要 3 位 ) 16. 以下异常或中断各在哪个时钟周期中检测? 除数为 0 溢出 无效指令 无效指令地址 无效数据地址 缺页 访问越权 中断 a. 除数为 0 异常在取数 / 译码 (ID/Reg) 周期进行检测 b. 溢出 异常在 R-Type 指令的执行 (Exe) 周期进行检测 c. 无效指令 异常在取数 / 译码 (ID/Reg) 周期进行检测 d. 无效指令地址 缺页 和 访问越权 异常在取指令 (IF) 周期检测 e. 无效数据地址 缺页 和 访问越权 异常在储器访问 (Mem) 周期检测 f. 中断 可在每条指令的最后一个周期 (WB) 进行检测 161