教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

第二章 指令:计算机的语言

来源:网络收集 时间:2026-05-17
导读: 第二章 指令:计算机的语言 第二章 指令:计算机的语言2.1 引言 2.11 并行与指令:同步 2.2 计算机硬件的操作2.3 计算机硬件的操作数 2.4 有符号和无符号数 2.5 计算机中指令的表示 2.7 决策指令 2.8 计算机硬件对过程的支持 2.9 人机交互 2.10 MIPS中32位立

第二章 指令:计算机的语言

第二章 指令:计算机的语言2.1 引言 2.11 并行与指令:同步

2.2 计算机硬件的操作2.3 计算机硬件的操作数 2.4 有符号和无符号数 2.5 计算机中指令的表示 2.7 决策指令 2.8 计算机硬件对过程的支持 2.9 人机交互 2.10 MIPS中32位立即数和地址的寻址

2.12 翻译并执行程序2.13 以一个C排序程序为例 2.14 数组与指针 2.15 高级内容:编译C语言和 解释JAVA语言 2.16 实例:ARM指令集 2.17 实例:X86指令集 2.18 谬误与陷阱

2.19 本章小结

2.1 引言 一台计算机的全部指令称为该计算机的指令集

计算机设计者的目标: 找到一种语言,可方便硬件和编译器的设计 性能最佳、成本和功耗最低 MIPS指令集 ARM和X86指令集:CISC和RISC

2.2 计算机硬件的操作 一条指令的例子:add a,b,c

操作数和操作码:寄存器和存储器 MIPS指令类别(P44):简单源于规整 算术 数据传输 逻辑 条件分支 无条件跳转

一个例子:P45

高级语言和汇编语言例1:a=b+c 编译结果: add a,b,c

例2:f=(g+h)-(i+j); 编译结果: add t0,g,h #temporary variable t0 contains g+h add t1,i,j #temporary variable t1 contains i+j

sub f,t0,t1 # f gets t0-t1,which is (g+h)-(i+j)

2.3 计算机硬件的操作数 寄存器:字(MIPS 32位)

设计原则:越少越快 将程序变量和寄存器对应起来是编译器的工作 例:f=(g+h)-(i+j); 变量fghij依次分配给寄存器 $s0,$s1, $s2,$s3, $s4,求编译后的MIPS代码 add $t0,$s1, $s2 #register $t0 contains g+h

add $t1,$s3, $s4 #register $t1 contains i+j sub $s0,$t0, $t1 #f gets $t0- $t1,which is (g+h)(i+j)

2.3.1 存储器操作数 复杂数据结构放在存储器中 数据传送指令:存储器 寄存器

取数指令:lw; 存数指令:sw 例:g=h+A[8] lw $t0,8($s3) #temporary reg $t0 gets A[8] add $s1,$s2,$t0 #g=h+A[8] 8为偏移量,$s3为基址寄存器

存储器操作数(续) 编译器在存储器中为数组和结构数据分配位置

字节地址 VS 字地址 对齐限制:字的地址必须为4的倍数 大端(big end)和小端(little end) 例(略,p48) 编译器尽量将常用的变量保持在寄存器中,其他的变 量放在存储器中。将不常使用的变量存回到存储器中 的过程叫“溢出”。

编译器必须高效使用寄存器:高性能和节省功耗

2.3.2 常数或立即操作数 其中一个操作数是常数的算术运算指令

addi $s3,$s3,4 加速执行常用操作:速度快,能耗低 常数0可以简化指令集:数据传送指令 MIPS将寄存器$zero恒置为0 讨论:寄存器数目随时间如何变化?好像摩尔定律?

2.4 有符号和无符号数 二进制、字、最低有效位、最高有效位 讨论:

如何表示符号? 补码:求补码的方法:按 位取反,末位+1-0000 0000 0000 0010 1111 1111 1111 1101 1 1111 1111 1111 1110

0000 0000 0000 0010的补码?

2.5 计算机中指令的表示 计算机中指令和数都是二进制代码

指令格式:指令布局

… 0000010000000001 MIPS指令32位,与数据字的位数相等 0010000010010000 0011010000001001 指令的数字形式:机器语言 …

MIPS指令字段

取字指令:需要两个寄存器和一个常数,因此限制了操 作数的范围。

——优秀的设计需要适宜的折中方案

I型指令R型指令:用于寄存器;

I型指令:用于立即数和数据传送指令

lw $t0,32($s3)8 19

#temporary reg $t0 gets A[8]MIPS汇编中,$s0-$s7映射到寄存器16-23 $t0-$t7映射到8-15

MIPS指令编码如何判断指令是哪种格式?

计算机中指令的表示—重点 指令用数的形式表示 和数一样,程序存储在存储器中,并且可以读写 存储程序概念 “二进制兼容”

…… 此处隐藏:204字,全部文档内容请下载后查看。喜欢就下载吧 ……
第二章 指令:计算机的语言.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1112529.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)