中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)02 指令系统

计算机组成原理 第二章“指令系统” 中科大11系 李曦
计算机组成原理 第二章“指令系统” 中科大11系 李曦

体系结构的8种属性 ,数据表示 -硬件能直接辨识和操作的数据类型和格式 寻址方式 一最小可寻址单位、寻址方式的种类、地址运算 寄存器组织 操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用 规则 ·指令系统 -机器指令的操作类型、格式、指令间排序和控制机构 存储系统 -最小编址单位、编址方式、主存容量、最大可编址空间 输入输出 输入输出的连接方式、处理机山存储器与输入输出设备间的数据交换方式、 数据交换过程的控制 ● 中断机构 中断类型、中断级别,以及中断响应方式等 ·信息保护 一信息保护方式、硬件信息保护机制
体系结构的8种属性 • 数据表示 – 硬件能直接辨识和操作的数据类型和格式 • 寻址方式 – 最小可寻址单位、寻址方式的种类、地址运算 • 寄存器组织 – 操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用 规则 • 指令系统 – 机器指令的操作类型、格式、指令间排序和控制机构 • 存储系统 – 最小编址单位、编址方式、主存容量、最大可编址空间 • 输入输出 – 输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、 数据交换过程的控制 • 中断机构 – 中断类型、中断级别,以及中断响应方式等 • 信息保护 – 信息保护方式、硬件信息保护机制

概要 、“程序控制” 一程序=顺序执行的指令流 0 指令系统:机器指令的集合 -汇编语言(Assemble Language)机器语言 Instruction Set Architecture (ISA) ·分类:CISC、RISC、VLIW software ·影响:处理器、C编译器、OS。。。 instruction set 本章的内容 hardware -RV指令系统 ·指令功能,指令格式与编码,寻址方式 一汇编程序设计:C语言的机器表示 ·可执行程序生成:编译,汇编,链接,加载 一指令系统特征 llxx@ustc.edu.cn 3/41
llxx@ustc.edu.cn 3/41 概要 • “程序控制” – 程序=顺序执行的指令流 • 指令系统:机器指令的集合 – 汇编语言(Assemble Language)/机器语言 – Instruction Set Architecture(ISA) • 分类:CISC、RISC、VLIW • 影响:处理器、C编译器、OS。。。 • 本章的内容 – RV指令系统 • 指令功能,指令格式与编码,寻址方式 – 汇编程序设计:C语言的机器表示 • 可执行程序生成:编译,汇编,链接,加载 – 指令系统特征

操作数(opr) ·操作数类型:进制,编码,立即数(补码) 一地址:无符号整数。寄存器、内存、/O端口D 一数值:常数、定点数(有符号/无符号)、浮点数、逻辑值 -字符:ASCl、汉字内码 。 字长:“RV321”32位, “RV64”一64位(“大立即数”》 字节 100 半字:2B ® 80 字:4B 60 双字:8B(大立即数) 40 。 存放位置 20 寄存器 0 ● 主存 /O端口 Video Image Graphics Audio Speech Security Decode Encode Average Media type 外存? Floating-point Pointers ■Word■Half-word■Byte 4/41
4/41 操作数(opr) • 操作数类型:进制,编码,立即数(补码) – 地址:无符号整数。寄存器、内存、I/O端口ID – 数值:常数、定点数(有符号/无符号)、浮点数、逻辑值 – 字符:ASCII、汉字内码 • 字长:“RV32I”——32位,“RV64”——64位(“大立即数”) • 字节 • 半字:2B • 字:4B • 双字:8B(大立即数) • 存放位置 • 寄存器 • 主存 • I/O端口 • 外存?

典型内存地址空间分配 Offset o Reserved for ·段式 Interrupt Vectors Top of Stack- Reserved for -DATA Stack -CODE RAM -Stack/Heap Reserved for Heap Top of Heap- 8 bytes DATA ·/O port? Unused Memory ·硬盘 Mapped 1/0 ·网络 ROM CODE 50 bytes 5/111
典型内存地址空间分配 • 段式 – DATA – CODE – Stack/Heap • I/O port? • 硬盘 • 网络 5/111

字存储顺序(Byte Ordering) ·字存储顺序中,字节的次序有两种 -大尾端(big endness):低地址,高字节 -小尾端(little endness):低地址,低字节 ·X86和RV都为小端,ARM可以自主设置 00000000000000000000000000000001 00000000000001110000001100000001? 大尾端: 0000000000000000 8000000000000001 addr+0 addr+1 addr+2 addr+3 /1先存高有效位(在低地址) 小尾端:08000001 000000000000000000000000 addr+0 addr+1 addr+2 addr+3 /1先存低有效位(在低地址)
字存储顺序(Byte Ordering) • 字存储顺序中,字节的次序有两种 – 大尾端(big endness):低地址,高字节 – 小尾端(little endness):低地址,低字节 • X86和RV都为小端,ARM可以自主设置 • 00000000 00000000 00000000 00000001 – 00000000 00000111 00000011 00000001?

数据存放位置(Memory Alignment) 在数据不对准边界的计算机中,数据(例如一个字) 可能在两个存储单元中。 此时需要访问两次存储器,并对高低字节的位置进行 调整后,才能取得一字。 边界对准: 一字对齐:左移两位,按字访问 ·RVIX86不要求,MIPS要求 一半字:左移一位,按半字访问 存储器 地址(十进制) 字(地址2) 半字(地址0) 0 字节(地址7) 字节(地址6) 字(地址4) 4 半字(地址10) 半字(地址8) 8 llxx@ustc.edu.cn 7/41
llxx@ustc.edu.cn 7/41 数据存放位置(Memory Alignment) • 在数据不对准边界的计算机中,数据(例如一个字) 可能在两个存储单元中。 – 此时需要访问两次存储器,并对高低字节的位置进行 调整后,才能取得一字。 • 边界对准: – 字对齐:左移两位,按字访问 • RV/x86不要求,MIPS要求 – 半字:左移一位,按半字访问 字(地址2) 半字(地址0) 0 4 8 字节(地址7) 字节(地址6) 字(地址4) 半字(地址10) 半字(地址8) 存储器 地址(十进制)

RV architected registers:RV64RV32.2-14 Preserved Name Register Usage number on call? x0 0 The constant value 0 n.a. x1 (ra) 1 Return address(link register) yes x2 (sp) 2 Stack pointer yes x3 (gp) 3 Global pointer yes x4 (tp) 4 Thread pointer yes x5-x7 5-7 Temporaries no x8-x9 8-9 Saved yes ×10-×17 10-17 Arguments/results no x18-×27 18-27 Saved yes ×28-×31 28-31 Temporaries no ·Preserved:在函数调用中保持不变
RV architected registers:RV64/RV32,图2-14 • Preserved:在函数调用中保持不变

操作分类 Data Movement ·数据传递 (data movement) -访存:mov,load,store 1/O:in,out Data Data 。1 算逻运算(arithmetic&logical) - add,sub,and,not,or,xor,dec,inc,cmp monadic dyadic operations 移位操作 monadic operations:shl,shr,srl,srr ·分支控制(tranfer of contral,Branch) comparisons conditional branches:beq,bnz,jmp procedure call:call,ret,int,iret 系统指令 晶振 -HLT,nop,wait,sti,cli,lock R Q CLK S llxx@ustc.edu.cn 9/41
llxx@ustc.edu.cn 9/41 操作分类 • 数据传递(data movement) – 访存:mov,load,store – I/O:in,out • 算逻运算(arithmetic & logical) – add,sub,and,not,or,xor,dec,inc,cmp – monadic & dyadic operations • 移位操作 – monadic operations:shl,shr,srl,srr • 分支控制(tranfer of contral,Branch) – comparisons & conditional branches:beq,bnz,jmp – procedure call:call,ret,int,iret • 系统指令 – HLT,nop,wait,sti,cli,lock 晶振 R S Q CLK

指令字格式Machine Instruction Layout von Neumann:“指令由操作码和地址码构成” ·操作码:操作的性质 地址码:指令和操作数(operand)的存储位置 操作码域(op) 地址码域(addr) ·指令字长度固定Vs.可变:RISC(RV/MIPS/ARM)一般32位 ·固定:规则,浪费空间 操作码长度固定VS.可变 ·固定:译码简单,指令条数有限,RISC C (RV/MIPS/ARM ·可变:指令条数和格式按需调整,CISC(x86) ·“扩展操作码技术”:调整op与addr域 ·如果指令字长固定,则操作码长度增加,地址码长度缩短 llxx@ustc.edu.cn 10/41
llxx@ustc.edu.cn 10/41 指令字格式Machine Instruction Layout • von Neumann: “指令由操作码和地址码构成” • 操作码:操作的性质 • 地址码:指令和操作数(operand)的存储位置 • 指令字长度固定vs.可变:RISC(RV/MIPS/ARM)一般32位 • 固定:规则,浪费空间 • 操作码长度固定vs.可变 • 固定:译码简单,指令条数有限,RISC(RV/MIPS/ARM) • 可变:指令条数和格式按需调整,CISC(x86) • “扩展操作码技术”:调整op与addr域 • 如果指令字长固定,则操作码长度增加,地址码长度缩短 操作码域(op) 地址码域(addr)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)01 概述.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)课程简介(主讲:李曦).pdf
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式程序设计(主讲:熊焰).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式进程调度和容错.ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)处理机分配算法举例(部分).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式路由算法(3/3).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式路由算法(2/3).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式路由算法(1/3).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第十一讲 国外知名安全操作系统介绍——SELinux CaseStudy SELinux.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第十讲 实验讲解——文件恢复(Linux文件系统和ext2).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第十讲 实验讲解——文件恢复 about experiment file recovery.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第九讲 实验讲解——口令破解 about experiment Password cracking.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第八讲 主流操作系统中的安全技术——Windows GOS Windows Security.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第七讲 安全操作系统的设计与实现 Design Implementation.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第六讲 主流操作系统中的安全技术——Linux GOS Linux Security.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第五讲 渗透测试技术 Penetration testing.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第四讲 操作系统安全体系结构 OSSecurityArch.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第一讲 绪论(主讲:陈香兰).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第三讲 安全需求与安全策略 Requirement & Policy.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第二讲 操作系统的安全机制 SecureMechanism.ppt
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)03 处理器设计(单周期).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)04 RV处理器设计(多周期、微程序).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)05 RV处理器设计——流水线.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)06 RV处理器设计——流水线冲突及冒险.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)07 RV处理器设计(流水线冒险、分支、多发射).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)08 RV处理器设计——异常.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)09 存储器-0(层次存储概述、Cache).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)10 存储器-1(SRAM/DRAM原理、主存系统构建).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)11 存储器-2(外存储器).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)12 存储器-3(虚拟存储器).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)13 存储器-4(存储系统的可靠性——校验、RAID).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)14 系统互连与通信——总线(同步、仲裁).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)15 外设、输入输出系统.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)课程简介.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)01 概述(主讲:李曦).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)02 指令系统.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)03 RV处理器设计——单周期.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)04 RV处理器设计——多周期.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)05 RV处理器设计——流水线.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)06 RV处理器设计——流水线冲突及冒险.pdf