计算机组成原理 L02 指令集体系结构(ISA)复习-1

复习-1 用作例题/课后题整理 复习-2 用作理论知识点整理

如何使用大常数

由于大数值范围:[-2^31, 2^31-1],而I型指令常数字段只有16bits,所以需要使用两次I型指令。

  1. 取立即数到寄存器高16位指令 lui->load upper immediate
  2. 与立即数进行逻辑或运算 ori -> or immediate
lui  $t0, 1010101010101010
ori $t0, $t0, 1010101010101010

有符号数取反

按位取反,再加1

符号扩展

复制最高有效位(符号位)

无符号数:用0填充左边的数位

有符号数:用1填充左边的数位

课堂练习-1

lb:将字节存入寄存器的最低 8 bits

sb:将寄存器最低 8 bits存入存储器的字节中

$zero 恒为0。MIPS 是大端法,大端法是正常书写的方法,高位在低地址。

  1. add$s3 置0;
  2. lb 存入 0x1 的地址原有的数据 即 0x90 到 $t0 寄存器 第1题答案0x90
  3. sb 存入 $s3 寄存器的值 0x90 到 0x6 第1题答案0x6 0x90
  4. 小端法 0x6 的值将从 0xFF 到 0x12

课堂练习-2

重新改写下面的指令,以支持更远距离的分支转移

beq  $s0, $s1, L1
//These instructions replace the short-address conditional branch:
bne $s0, $s1, L2
j L1
L2:

例子:循环

编译C语言:leaf过程

嵌套

int fact( int n)
{
if (n<1) return (1);
else return (n * fact(n-1));
}



计算机组成原理 L02 指令集体系结构(ISA)复习-1的更多相关文章

  1. 【转载】CPU架构、指令集与指令集体系结构(ISA)

    最近学习计算机系统基础,了解到指令集体系结构. 对CPU架构.指令集和指令集体系结构的关系不清楚,特此记录. 指令集体系结构(ISA)包括 指令集.指令集编码.基本数据类型等. CPU架构 实现了 指 ...

  2. 计算机组成原理 — CPU 中央处理器

    目录 文章目录 目录 前文列表 逻辑电路部件 组合逻辑电路 时序逻辑电路 阵列逻辑电路 中央处理器(CPU) 控制单元(控制器) 运算单元(运算器) 存储单元(寄存器组和片内缓存) CPU 的工作原理 ...

  3. 深入理解计算机系统(4.1)------Y86指令集体系结构

    本章我们将进入处理器体系结构介绍的神秘海洋中,我们熟悉的手机,电脑等设备的核心硬件都离不开处理器.处理器可以称的上是人类创造的最复杂的系统之一,一块手指大小的硅片,可以容纳一个完整的高性能处理器.大的 ...

  4. 重学计算机组成原理(五)- "旋转跳跃"的指令实现

    CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if-else.for这样的条件和循环存在,这些指令也不会一路平直执行下去. 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CP ...

  5. 重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!

    用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面 ...

  6. 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  7. 计算机组成原理往年试题以及答案(tzf!!!)

    计算机组成原理往年试题以及答案(下载链接!!!) 太子妃升职记(1~36) ::http://pan.baidu.com/s/1dDP5Kqd

  8. linux的系统组成和计算机组成原理,linux常用操作

    Linux入门 linux简介   学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...

  9. 计算机组成原理实验之CPU组成与指令周期实验

    (实验五  CPU组成与指令周期实验) 课程 计算机组成原理实验 实验日期 2015 年 12 月  8 日 一.实验目的 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机. 2. ...

  10. day01-编程与计算机组成原理

    什么是编程 编程语言:是人与计算机沟通交流的介质,通过标准化的规则传递信息 编程:就是为了使计算机能够理解人的意图,通过编程语言写出一个个文件,这堆文件完成相应的目的 编程的目的:用计算机取代人完成工 ...

随机推荐

  1. csharp入门经典

    C#简介 .NET Framework是Microsoft为开发应用程序而创建的一个具有革命意义的平台,它有运行在其他操作系统上的版本 .NET Framework的设计方式确保它可以用于各种语言,包 ...

  2. 记一次.NET内存居高不下排查解决与启示

    前情 我们有个海外的项目,一共70个服务,前前后后花了超过一年时间完成了云服务迁移和架构调整.主要是架构调整了,原来的docker swarm托管服务,新架构改为Kubernetes托管.几台云服务器 ...

  3. vue+elementUI 表格操作按钮添加loading

    前言 表格操作栏,某个操作需要异步请求才能做跳转等 方案 整个列表每行都加一个loading字段,不够优雅 利用$set方法 改变当前行当前按钮loading,可行(代码如下) //按钮 row.lo ...

  4. redux vs redux-toolkit 及源码实现

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:霜序 前言 为何讲这个内容?以为后续大家会使用 redux ...

  5. DeepSeek过时了?全网刷屏的Manus到底是什么?这样写申请秒过审核

    1.Manus是什么? Manus的官网地址:https://manus.im/ Manus是一个通用AI智能体,它连接思维与行动:它不仅思考,还能交付成果. 2. Manus能做什么? 最近几天,M ...

  6. vue2中如何使用组合式API和vueuse工具包

    vue2中如何使用组合式API和vueuse工具包 1. 安装 @vue/composition-api 依赖包 yarn add @vue/composition-api # 或 npm insta ...

  7. 微信小程序云函数

    小程序开发云环境设置 注意事项 每一个云函数都是一个独立的 nodeJS 项目.所以每个云函数下都有 package.json 文件 错误 前端操作数据库 1 指引 2 新建集合 3 新增记录 4 查 ...

  8. Golang 入门 : 变量

    变量 Go语言是静态强类型语言,所以变量是有明确类型的.变量实质上就是在内存中的一小块空间,用来存储特定类型的可变数据.如果没有变量我们的程序只能将数值写死都是静态的数据,无法更改,变量可以让我们进行 ...

  9. laravel proc_get_status() has been disabled for security reasons

    解决办法: 在php.ini中,找到disable_functions选项,看看后面是否有proc_open函数被禁用了,去掉proc_get_status,proc_open即可

  10. oracle忘记sys,system密码的解决方法

    1. 找到oracle的安装目录: 找到此路径(D:\app\Administrator\product\11.2.0\dbhome_1\BIN),通过sqlplus.exe执行操作命令.(如果提示s ...