当前位置: 首页 > news >正文

CSAPP第4章:RISC和CISC指令集

RISC和CISC指令集

 IA32被称为复杂指令集计算机(CISC),与精简指令集计算机(RISC)相对。

从历史上看,先出现了CISC机器,计算机不断发展使指令集非常大。

RISC设计理念在80年代早期发展,使用更简单的指令集产生高效的代码。

许多加到指令集中的高级指令很难被编译器产生,并且这些指令很少被用到,一个简单的指令集可以很少的硬件实现,能以高效的流水线组织起来。

CISC和RISC比较:

(1)CISC指令数量多,Intel描述全套指令有700多页。

RISC指令数量少,通常少于100个

(2)CISC有些指令执行时间很长,包括一个整块从存储器的一个部分拷贝到另一部分的指令,以及其他一些多个寄存器的值拷贝到存储器或从存储器拷贝到多个寄存器的指令。

(3)RISC没有较长执行时间的指令。

 有些早期的RISC机器没有整数乘法指令,要求编译器通过一系列加法实现乘法。

CISC编码长度可变。

RISC编码是固定长度的,所有指令编码都是4个字节。

(4)CISC指定操作数的方式多样,存储器操作数指示符可以由基址、变址或伸缩因子组成。

RISC只有简单寻址方式,通常只有基址和位移寻址。

(5)CISC可以对存储器和寄存器操作数进行算术和逻辑运算。

         RISC使用load/store体系结构。

RISC只能对寄存器操作数进行算术和逻辑运算,允许使用存储器引用的只有load和store指令。

load是从存储器读到寄存器,store从寄存器写到存储器。

(6)CISC对机器级程序实现细节不可见。

RISC对机器级程序来说实现细节可见。

有些RISC机器禁止某些特殊的指令序列,而有些跳转要到下一条指令执行完后才生效,编译器必须在这些约束条件下进行性能优化。

(7)CISC有条件码,设置了一些特殊的标志位,可以用来作为条件分支检测。

RISC没有条件码,相反对条件检测来说,要用明确的测试指令,将测试结果放在一个普通的寄存器中。

(8)CISC是栈密集的过程链接,栈被用来存取过程参数和返回地址。

      RISC是寄存器密集的过程链接。寄存器被用来存取过程参数和返回地址。

 所以有些过程能完全避免存储器引用,通常处理器有更多的(<=32)寄存器。

相关文章:

CSAPP第4章:RISC和CISC指令集

RISC和CISC指令集 IA32被称为复杂指令集计算机(CISC)&#xff0c;与精简指令集计算机(RISC)相对。 从历史上看&#xff0c;先出现了CISC机器&#xff0c;计算机不断发展使指令集非常大。 RISC设计理念在80年代早期发展&#xff0c;使用更简单的指令集产生高效的代码。 许多加…...

【LeetCode】每日一题 2023_11_9 逃离火灾(bfs 练习)

文章目录 刷题前唠嗑题目&#xff1a;最长平衡子字符串题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 嗯&#xff1f;什么&#xff1f;今天是 hard&#xff1f;陷入沉思。。。先看看题吧 题目&#xff1a;最长平…...

flink1.18.0 自适应调度器 资源弹性缩放 flink帮你决定并行度

jobmanager.scheduler Elastic Scaling | Apache Flink 配置文件修改并重启flink后,webui上会显示调整并行度的按钮,他可以自己调整,你也可以通过webUI手动调整: 点击 之后: 调整完成后:...

如何设计vue项目的权限管理?

权限管理的重要性及必要性 数据安全&#xff1a;权限管理可以确保只有具有相应权限的用户能够访问和操作特定的数据。这可以保护敏感数据不被未授权的用户访问&#xff0c;从而提高数据的安全性。功能控制&#xff1a;权限管理可以根据用户的角色和权限设置&#xff0c;控制用户…...

HBase学习笔记(2)—— API使用

对HBase中常用的API操作进行简单的介绍 对应HBase学习笔记&#xff08;1&#xff09;—— 知识点总结-CSDN博客中介绍的HBase Shell常用操作 更多用法请参考官网&#xff1a;Apache HBase ™ Reference Guide 依赖导入 <dependencies><dependency><groupId>o…...

C/C++轻量级并发TCP服务器框架Zinx-游戏服务器开发004:游戏核心消息处理 - 玩家类的实现

文章目录 0 代码仓库1 需求2 AOI设计2.1 AOI算法简介2.2 AOI数据结构及实现2.2.1 玩家2.2.2 网格对象2.2.3 游戏世界矩形2.2.4 获取周围玩家的实现2.2.5 代码测试 2.3 GameRole结合AOI创建玩家2.3.1 创建游戏世界全局对象-GameRole继承AOIWorld的Player2.3.2 把玩家到游戏世界的…...

Python Selenium元素定位方法详解

引言 在Web自动化测试中&#xff0c;元素定位是一项非常重要的技术。Python Selenium提供了各种元素定位方法&#xff0c;可以帮助我们定位页面上的元素并与之交互。本文将详细介绍Python Selenium中常用的元素定位方法&#xff0c;并提供实例代码。 1. ID定位 ID是元素在HT…...

分布式事务,你了解多少?(上)

本文主要是讲述分布式事务的理论及常用的技术方案&#xff0c;主要源自各类学习和工作总结&#xff0c;如有不妥之处&#xff0c;还望指正。分布式事务的其他基础请自行查阅资料。 一、分布式事务产生的原因 分布式事务的产生&#xff0c;源自互联网、电商等的发展&#xff0c…...

ClickHouse主键索引最佳实践

在本文中&#xff0c;我们将深入研究ClickHouse索引。我们将对此进行详细说明和讨论&#xff1a; ClickHouse的索引与传统的关系数据库有何不同ClickHouse是怎样构建和使用主键稀疏索引的ClickHouse索引的最佳实践 您可以选择在自己的机器上执行本文给出的所有Clickhouse SQL…...

Flink 基础 -- 应用开发(项目配置)

1、概述 本节中的指南将向您展示如何通过流行的构建工具(Maven, Gradle)配置项目&#xff0c;添加必要的依赖项(即连接器和格式&#xff0c;测试)&#xff0c;并涵盖一些高级配置主题。 每个Flink应用程序都依赖于一组Flink库。至少&#xff0c;应用程序依赖于Flink api&…...

空间曲面@常见曲面方程

文章目录 曲面的基本问题特殊曲面球面方程球的标准形方程一般形方程例 柱面柱面方程不同维度下同方程的图形常见柱面方程 旋转曲面旋转曲面的方程旋转情况分类以yOz上的曲线绕 z z z轴旋转为例 旋转曲面的方程常见旋转曲面方程 锥面其他曲面 曲面的基本问题 根据曲面(点的几何…...

unity 接收和发送Udp消息

因为需要用到unity和其他的程序交互&#xff0c;其他程序可以提供Udp消息&#xff0c;因此找了合适的相互连接方法。这里直接上代码。 工具类&#xff1a; using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Net; u…...

机器学习股票大数据量化分析与预测系统 - python 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…...

架构描述语言(ADL)

1.架构描述语言&#xff08;ADL) 架构描述语言&#xff08;Architecture Description Language, ADL&#xff09;是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。 2.ADL基本构成要素 ADL即架构描述语言&#xff0c;其基本构成要素包括&#xff1a;…...

GZ038 物联网应用开发赛题第2套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第2套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评人员反映,不得扰乱赛场秩序; 3、遵守赛场纪律,尊重考评人员,…...

Go 接口:Go中最强大的魔法,接口应用模式或惯例介绍

Go 接口&#xff1a;Go中最强大的魔法,接口应用模式或惯例介绍 文章目录 Go 接口&#xff1a;Go中最强大的魔法,接口应用模式或惯例介绍一、前置原则二、一切皆组合2.1 一切皆组合2.2 垂直组合2.2.1 第一种&#xff1a;通过嵌入接口构建接口2.2.2 第二种&#xff1a;通过嵌入接…...

Vue3全局共享数据

目录 1&#xff0c;Vuex2&#xff0c;provide & inject2&#xff0c;global state4&#xff0c;Pinia5&#xff0c;对比 1&#xff0c;Vuex vue2 的官方状态管理器&#xff0c;vue3 也是可以用的&#xff0c;需要使用 4.x 版本。 相对于 vuex3.x&#xff0c;有两个重要变…...

openai自定义API操作 API 返回值说明

custom-自定义API操作 openai.custom 公共参数 名称类型必须描述keyString是调用key&#xff08;获取测试key&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheStrin…...

jsp基本表格和简单算法表格

基本表格&#xff1b; <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd…...

在线存储系统源码 网盘网站源码 云盘系统源码

Cloudreve云盘系统源码-支持本地储存和对象储存,界面美观 云盘系统安装教程 测试环境:PHP7.1 MYSQL5.6 Apache 上传源码到根目录 安装程序: 浏览器数据 http://localhost/CloudreveInstallerlocalhost更换成你的网址 安装完毕 记住系统默认的账号密码 温馨提示:如果默认…...

上了一堆MES、ERP,车间反而更乱了?APS智能排产如何破解“系统孤岛”困局

很多老板都有这样的困惑&#xff1a;这些年钱没少花&#xff0c;上了ERP管财务&#xff0c;上了MES管车间&#xff0c;最近还引进了几个AI做质检和预测&#xff0c;但为什么管理反而更累了&#xff1f;数据对不上&#xff0c;部门扯皮多了&#xff0c;甚至出现了“系统越多&…...

【金融IDE安全合规白皮书】:VSCode配置如何通过证监会《证券期货业信息系统安全等级保护基本要求》三级认证?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;金融IDE安全合规白皮书概述 金融集成开发环境&#xff08;Financial IDE&#xff09;是面向量化交易、风控建模与监管报送场景的专用开发平台&#xff0c;其安全合规性直接关系到金融机构的数据主权、算…...

蓝莓成熟检测

1.新建文件夹 之后用#一模一样的结构命名 blueberry_82/ ├── images/ │ ├── train/ # 放 80% 的图片 │ └── val/ # 放 20% 的图片 └── labels/├── train/ # 放对应 80% 图片的 txt 标签└── val/ # 放对应 20% 图片的 txt 标签2. 安装 LabelMe#…...

WinSW实战踩坑记:解决Windows Server上Jar服务‘找不到文件’的诡异问题

WinSW深度排障&#xff1a;破解Windows服务中Jar程序"找不到文件"的玄机 当你在Windows Server上部署Java服务时&#xff0c;是否遇到过这样的诡异场景&#xff1a;明明手动执行java -jar一切正常&#xff0c;但通过WinSW注册为服务后却频频报错"The system can…...

从翁恺MOOC到PAT实战:用C语言搞定‘斐波那契分数’求和的保姆级思路拆解

从翁恺MOOC到PAT实战&#xff1a;用C语言搞定‘斐波那契分数’求和的保姆级思路拆解 第一次看到这个题目时&#xff0c;很多人会下意识地认为这只是一道普通的分数求和题。但当你仔细观察这个序列&#xff1a;2/1, 3/2, 5/3, 8/5, 13/8... 会发现分子和分母的数字似曾相识——这…...

半监督学习中的标签传播算法原理与实践

1. 半监督学习与标签传播算法概述在机器学习实践中&#xff0c;我们常常面临标注数据稀缺的困境。传统监督学习需要大量标注样本&#xff0c;而数据标注往往需要耗费高昂的人力成本。半监督学习&#xff08;Semi-Supervised Learning&#xff09;正是为了解决这一痛点而诞生的技…...

研发leader如何增强自身在外部就业市场的竞争力

“在公司的价值”和“在市场的价值”并不完全等同。 公司可能因为业务收缩、政治变化或战略调整而“不需要你”,但这不代表你没有市场价值。你现在要做的,不是只服务于当前公司,而是在日常工作中同步为自己积累“可迁移的资产”。 下面是一个研发Leader可以持续准备的五个核…...

GLM-4.7智能体部署实战:从模型选型到性能调优全解析

1. 项目概述&#xff1a;从GLM-4.5到GLM-4.7&#xff0c;一个开源智能体基座的演进之路如果你在过去一年里深度参与过AI智能体或者大语言模型的应用开发&#xff0c;那么“GLM”这个系列对你来说一定不陌生。从GLM-4.5的横空出世&#xff0c;到GLM-4.6的稳步提升&#xff0c;再…...

Roda性能优化技巧:10个提升Web应用响应速度的方法

Roda性能优化技巧&#xff1a;10个提升Web应用响应速度的方法 【免费下载链接】roda Routing Tree Web Toolkit 项目地址: https://gitcode.com/gh_mirrors/ro/roda Roda是一款高效的Routing Tree Web Toolkit&#xff0c;专为构建高性能Web应用设计。本文将分享10个实用…...

如何突破《原神》帧率限制:genshin-fps-unlocker深度技术解析与实战指南

如何突破《原神》帧率限制&#xff1a;genshin-fps-unlocker深度技术解析与实战指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 对于追求极致游戏体验的PC玩家而言&#xff0c;《原神…...