计算机组成原理 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. Linux 环境变量指北

    Linux 环境变量指北 一.终端:Login Shell 二.Systemd 的配置方式 三.图形界面 DM(Display Manager) 显示管理器 DE(Desktop Environmen ...

  2. 墨者学院SQL注入(MySQL)的总结:

    ​ 我们打开靶机 ​ 在这个界面我们可以看见在密码的下面有一个停机公告,我们点进去,会发现可以发现这个公告是存在id的,又可以会出现漏洞.所以我们尝试着在id=1的后面加上and 1=1 ​ 我们可以 ...

  3. nuxtjs 自定义服务端错误页面 Server error page

    原文链接:https://blog.jijian.link/2020-12-03/nuxtjs-server-error-page/ 当 nuxt 项目在生产环境运行时,如果服务端运行出错,比如 as ...

  4. Laravel11 从0开发 Swoole-Reverb 扩展包(四) - 触发一个广播事件到reverb服务之后是如何转发给前端订阅的呢(下)?

    前情提要 上一篇我们讲到了reverb服务的通信上下文和路由处理,路由实现了pusher关联的几种请求.那么这一篇我们主要来讲混响服务Server 混响 Server 负责基于 ReactPHP 的 ...

  5. stat() "/root/xxx/index.html" failed (13: Permission denied)

    前言 在 nginx 上部署静态网页报502,于是查看 nginx 错误日志 error_log /var/log/nginx/error.log;,却没有看到任何错误信息:访问 nginx活动日志 ...

  6. VMware网络虚拟化介绍(之一)

    2014年5月,在我加入VMware三个月之后,我涂鸦了一篇<扒一扒SDN的那些事儿>,当时放言如果阅读量过百就写续篇.后来果然阅读量没过百,也就80多的样子,其中好几份还是我自恋地进去查 ...

  7. C# 多文件打包

    public HttpResponseMessage GetZip() { var response = Request.CreateResponse(HttpStatusCode.OK); try ...

  8. 【Linux】5.8 Shell流程控制

    Shell 流程控制 1. 判断语句 1.1 if判断 if else-if else 语法格式: if condition1 then command1 elif condition2 then c ...

  9. ro在xe10.3上的安装

    在学习研究RO. RO9.2.101.1295在xe10.3上安装遇到新问题.记录处理的办法: 没有采用执行exe安装的方法.而是采用复制源代码后编译安装. 1.把生成的bpl.dcp安装到默认目录, ...

  10. Win10资源管理器导航窗格显示/隐藏项目-注册表

    一.隐藏快速访问 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer HubMode(类型:REG_DWORD) ...