中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)RISC-V指令集及简单实现

03/06-eveW-性能 性能度量 响应时间( response time) 吞吐率 Throughpu) cPU执行时间= ICx CPI X T CPI Cycles per Instruction MIPS E Millions of instructions per second Latency versus Bandwidth Latency指单个任务的执行时间, Bandwidth指单位时间完成的任务量 rate Latency的提升滞后于带宽的提升(在过去的30年) Amdahl'sLaw用来度量加速比( speedup) 性能提升受限于任务中可加速部分所占的比例 应用于多处理器系统的基本假设∶在给定的问题规模下,研究随着处理器数 目的增 变化 Benchmarks:指一组用于测试的程序 比较计算机系统的性能 speC benchmark:针对一组应用综合性能值采用 SPEC ratios的几何平均 2021/2/5
03/06-review-性能 • 性能度量 – 响应时间 (response time) – 吞吐率 (Throughput) • CPU 执行时间 = IC × CPI × T – CPI ( Cycles per Instruction) • MIPS = Millions of Instructions Per Second • Latency versus Bandwidth – Latency指单个任务的执行时间,Bandwidth 指单位时间完成的任务量 (rate) – Latency 的提升滞后于带宽的提升 (在过去的30年) • Amdahl’s Law 用来度量加速比(speedup) – 性能提升受限于任务中可加速部分所占的比例 – 应用于多处理器系统的基本假设:在给定的问题规模下,研究随着处理器数 目的增加性能的变化 • Benchmarks:指一组用于测试的程序 – 比较计算机系统的性能 – SPEC benchmark : 针对一组应用综合性能值采用SPEC ratios 的几何平均 2021/2/5 2

03/06- review-能耗/功耗 给定负载情况下能耗越少,能效越高,特别是 对电池供电的移动设备。 功耗已经成为系统设计的重要约束条件之 A chip might be limited to 120 watts(cooling power supply) Power Consumed Dynamic power Static Power 晶体管开和关的切换导致的功耗为动态功耗 由于晶体管静态漏电流导致的功耗称为静态功耗 通过降低频率可节省功耗 降低电压可降低功耗和能耗 2021/2/5
03/06-review-能耗/功耗 • 给定负载情况下能耗越少,能效越高, 特别是 对电池供电的移动设备。 • 功耗已经成为系统设计的重要约束条件之一 – A chip might be limited to 120 watts (cooling + power supply) • Power Consumed = Dynamic Power + Static Power – 晶体管开和关的切换导致的功耗为动态功耗 – 由于晶体管静态漏电流导致的功耗称为静态功耗 • 通过降低频率可节省功耗 • 降低电压可降低功耗和能耗 2021/2/5 3

Recap:指令集架构 ·软件子系统与硬件子系统的关键界面 software 一组直接由硬件执行的指令,包括 程序员可见的机器状态 FF instruction set FTTTTTT 程序员可见的指令集合(操作机器状态的长和ane 应具备的特性 成本 简洁性 架构和具体实现分离:可持续多代,以保持向后( backward)兼容 可扩展空间:可用于不同应用领域( desktops, servers, embedded applications 易于编程/编译/链接:为高层软件的设计与开发提供方便的功能 性能:方便低层硬件子系统高效实现 ·IBM360是第一个将ISA与其实现分离的系列机 给定一个SA,可以有不同的实现方式;例如AMD/ ntel cPu都是X86-64 指令集。 ARMISA也有不同的实现方式 2021/2/5
Recap:指令集架构 • 软件子系统与硬件子系统的关键界面 • 一组直接由硬件执行的指令,包括 – 程序员可见的机器状态 – 程序员可见的指令集合(操作机器状态的指令) • 应具备的特性 – 成本 – 简洁性 – 架构和具体实现分离:可持续多代,以保持向后(backward) 兼容 – 可扩展空间:可用于不同应用领域(desktops, servers, embedded applications) – 易于编程/编译/链接:为高层软件的设计与开发提供方便的功能 – 性能:方便低层硬件子系统高效实现 • IBM 360 是第一个将ISA与其实现分离的系列机 – 给定一个ISA,可以有不同的实现方式;例如AMD/Intel CPU 都是X86-64 指令集。ARM ISA 也有不同的实现方式 2021/2/5 4 instruction set software hardware

用户级ISA和特权级ISA Application Software Applica tion Software System Calls System calls Operating system Operating System System ISA User ISA ISA L System ISA User IsA ABI Hardware Hardware (b) 重要的系统界面( System Interface) ISA界面( Instruction Set architecture) ABI界面( Application Binary Interface) ISA:用户级ISA+特权级ISA 用户级ISA适用于操作系统和应用程序 特权级ISA适用于硬件资源的管理(操作系统)
用户级ISA和特权级ISA • 重要的系统界面(System Interface) – ISA界面(Instruction Set Architecture) – ABI界面(Application Binary Interface) • ISA:用户级ISA+特权级ISA – 用户级ISA 适用于操作系统和应用程序 – 特权级ISA 适用于硬件资源的管理(操作系统) 2021/2/5 5

ISA的实现 ISA通常设计时会考虑特定的微体系结构(实现)方式。 Accumulator→ hardwired, unpipelined(硬布线、非流水) -ClSC→ microcoded(微程序) RSC→ hardwired, pipelined(硬布线、流水线) VLIW fixed-latency order parallel pipelines(固定延 时、顺序执行、多条流水线并行) JM→ software interpretation(软件解释) ISA理论上可以用任何微体系结构(实现)方式 Intel lvy Bridge: hardwired pipelined CISC ( x86)machine with some microcode support(硬布线流水化(部分微程 序支持)) Spike: Software- interpreted RISC-V machine(模拟器) ARM Jazelle: A hardware JVM processor 2021/2/5
ISA的实现 • ISA 通常设计时会考虑特定的微体系结构(实现)方式。 – Accumulator hardwired, unpipelined (硬布线、非流水) – CISC microcoded (微程序) – RISC hardwired, pipelined(硬布线、流水线) – VLIW fixed-latency in-order parallel pipelines (固定延 时、顺序执行、多条流水线并行) – JVM software interpretation(软件解释) • ISA 理论上可以用任何微体系结构(实现)方式 – Intel Ivy Bridge: hardwired pipelined CISC (x86) machine (with some microcode support) (硬布线流水化(部分微程 序支持)) – Spike: Software-interpreted RISC-V machine (模拟器) – ARM Jazelle: A hardware JVM processor 2021/2/5 6

Recap:ISA的演进 Accumulator a Register-Memory Register-Register Processor Processor Processor Processor TOP ALU 9ALU ALU ALU Memory Memon Memory Memory Load a Push a oad R1.A oad Rl.A C=A+B Add B Push B Add R1. B oad R2, B Store c Add Store R1.C Add R3 R1 R2 Pop C Store R3. C 202125
Recap:ISA 的演进 2021/2/5 7

Recap:ISA必须说明哪些东西? Instruction Fetch 指令格式或编码方式。即如何编码? ·操作数和操作结果的存放位置 Instruction 存放位置? Decode 多少个显式操作数 存储器操作数如何定位 Operand 哪些操作数可以或不可以放到存储器 Fetch 寻址方式 Execute 数据类型和大小 ·支持哪些操作 Result 下一条指令地址 Store jumps, conditions branches fetch-decode-execute is implicit Next Instruction 202125
Recap:ISA必须说明哪些东西? • 指令格式或编码方式。即如何编码? • 操作数和操作结果的存放位置 – 存放位置? – 多少个显式操作数? – 存储器操作数如何定位? – 哪些操作数可以或不可以放到存储器 中? – 寻址方式 • 数据类型和大小 • 支持哪些操作 • 下一条指令地址 – jumps, conditions, branches – fetch-decode-execute is implicit! 2021/2/5 8 Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction

Recap:有关SA的若干问题 存储器寻址 操作数的类型与大小 所支持的操作 控制转移类指令 指令格式 202125 9
Recap: 有关ISA的若干问题 • 存储器寻址 • 操作数的类型与大小 • 所支持的操作 • 控制转移类指令 • 指令格式 2021/2/5 9

Recap:存储器寻址 ·80年以来几乎所有机器的存储都是按字节编址 一个存储器地址可以访问 一个字节、2个字节、4个字节、更多字节 不同体系结构对字的定义是不同的 16位字( Intel x86)32位字(MIPS) 如何读32位字,两种方案 每次一个字节,四次完成;每次一个字,一次完成 问题 (1)如何将字节地址映射到字地址(尾端问题) (2)一个字是否可以存放在任何字节边界上对齐问题 202125
Recap: 存储器寻址 • 80年以来几乎所有机器的存储器都是按字节编址 • 一个存储器地址可以访问: – 一个字节、2个字节、4个字节、更多字节….. • 不同体系结构对字的定义是不同的 – 16位字(Intel X86)32位字(MIPS) • 如何读32位字,两种方案 – 每次一个字节,四次完成;每次一个字,一次完成 • 问题: (1)如何将字节地址映射到字地址 (尾端问题) (2)一个字是否可以存放在任何字节边界上(对齐问题) 2021/2/5 10

Recap 尾端问题 little endian, big endian,在一个字内部的字节顺序问题 X+3x+2x+1 1. Little Endian byte te ordering Byte 3 Byte 2 Byte 1 Byte 0 32-bit Register Y Memory address x address of least-significant by yte(Intel x86 +1x+2 +3 2. Big Endian byte orderingByte 0 Byte 1 Byte 2 Byte 3 32-bit Register t Memory address X= address of most-significant byte(SPARC) 如地址xXx00指定了一个字(int),存储器中从xXx0处 连续存放fff000,则有两种方式: - Little endian方式下xX00位置是字的最低字节,整数值为0000 ffff Intel 80X86, DEC Vax, DEC Alpha(Windows NT Big endian方式下XX×00位置是字的最高字节,整数值为fft00BM 360/ 370, Motorola 68k, MIPS, Sparc, HP pa 202125
Recap: 尾端问题 • little endian, big endian, 在一个字内部的字节顺序问题 • 如地址xxx00指定了一个字(int), 存储器中从xxx00处 连续存放ffff0000, 则有两种方式: – Little endian 方式下xxx00位置是字的最低字节,整数值为0000ffff, Intel 80x86, DEC Vax, DEC Alpha (Windows NT) – Big endian 方式下xxx00位置是字的最高字节,整数值为ffff0000, IBM 360/370, Motorola 68k, MIPS, Sparc, HP PA 2021/2/5 11
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《信息安全工程》课程教学资源(PPT课件讲稿)第3章 密码学基础.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)敏捷软件开发 Agile Software Development.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第5章 文件文档工具.ppt
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 05 输入输出 Input/Output.ppt
- 《人工智能》课程教学资源(PPT课件讲稿)Ch10 Auto-encoders(Auto and variational encoders v.9r6).pptx
- 《ARM Cortex-M3权威指南》课程教学资源(PPT课件讲稿)Cortex M3 存储系统访问.pptx
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第四篇 数据处理与数据分析.ppsx
- 《数字图像处理》课程教学资源(PPT课件讲稿)第八章 形态学处理.ppt
- 《计算机网络技术及应用》课程教学资源(PPT课件讲稿)第十一章 网络安全.ppt
- 《人工智能》课程教学资源(PPT课件讲稿)第13章 智能优化计算简介.ppt
- 清华大学出版社:《计算机网络安全与应用技术》课程教学资源(PPT课件讲稿)第5章 Windows NT/2000的安全与保护措施.ppt
- 上海交通大学:《计算机组成原理 Computer Organization》课程教学资源(PPT课件讲稿)Chapter 4A The Processor, Part A.pptx
- 香港城市大学:PERFORMANCE ANALYSIS OF CIRCUIT SWITCHED NETWORKS(PPT讲稿).pptx
- 《结构化程序设计》课程教学资源(PPT课件讲稿)第4章 VB控制结构.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第一章 导引与基本数据结构.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 1 Computer System Overview.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)分布对象 Distributed Objects(1).ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 指针.ppt
- 北京大学:《高级软件工程》课程教学资源(PPT课件讲稿)第九讲 静态代码的可信性分析概述.ppt
- 澳门大学:统计机器翻译领域适应性研究 Domain Adaptation for Statistical Machine Translation Master Defense.pptx
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件讲稿)第三章 存储管理 Memory Management.ppt
- 《C语言教程》课程教学资源(PPT课件讲稿)第三章 C语言程序设计初步.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第十章 内部排序.ppt
- 清华大学:A Pivotal Prefix Based Filtering Algorithm for String Similarity Search(PPT讲稿).pptx
- 河南中医药大学(河南中医学院):《计算机文化》课程教学资源(PPT课件讲稿)第四章 计算机软件系统(主讲:许成刚、阮晓龙).ppt
- 《人工智能技术导论》课程教学资源(PPT课件讲稿)第1章 人工智能概述.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第八章 数据通信.ppt
- 信息和通信技术ICT(PPT讲稿)浅谈信息技术和低碳经济(中国科学技术大学:王煦法).ppt
- 北京大学:网络信息体系结构(PPT讲稿)Web-based Information Architecture.ppt
- P2P Tutorial(PPT讲稿).ppt
- 微软分布式计算技术(PPT讲稿)Dryad and DryadLINQ.ppt
- 《数字图像处理》课程教学资源(PPT课件)第6章 图像复原.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第三章 数据链路层.ppt
- 《单片机应用技术》课程PPT教学课件(C语言版)第8章 MCS-51单片机串行通信接口.ppt
- 操作系统原理(PPT讲稿)Windows OS Principles(Windows XP).pps
- 淮阴工学院:《数据库原理》课程教学资源(PPT课件讲稿)第1章 数据库概论(主讲:冯万利).pps
- 《微型计算机接口技术》课程教学资源(PPT课件讲稿)第2章 16位和32位微处理器.ppt
- 《程序设计》课程教学资源(PPT课件讲稿)第五章 函数式程序设计语言.ppt
- 链路状态路由协议(PPT讲稿)LINK STATE ROUTING PROTOCOLS.pptx
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,2016)第5章 NoSQL数据库.ppt