计算机组成原理的学习笔记(4)--数据的表示与运算·其三 补码的乘法以及原码补码的除法

 学习笔记

前言

本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。

1.补码乘法

基本操作

  • 与正常原码乘法差不多,逐位乘,随后相加,而与符号位有关的一项也叫校正项

Booth算法

  • 从乘数的最低位开始,逐位检查乘数的当前位和前一位(即“当前位”与“上一位”组合):

    • 00:不操作。

    • 01:加上被乘数(表示乘数当前位为1,当前计算为加法)。

    • 10:减去被乘数(表示乘数当前位为-1,当前计算为减法)。

    • 11:不操作。

校正项

  • 在Booth算法的处理中,校正项直接成为了”完美公式“中的重要组成部分,而在视情况校正法之中像个多余的。


2. 原码除法的加减交替法

基本原理

在原码除法中,加减交替法通过判断当前被除数是否大于或等于除数,决定是否执行减法(相当于商1)或不执行任何操作(商保持不变)。

基本操作:

  1. 计算

每次判断当前的部分余数(即当前余数与除数的比较结果),根据余数和除数的大小,决定是否加除数或减除数:

  • 如果余数 ≥ 除数:

    • 执行减除数操作:余数减去除数。

    • 商的当前位加 1。

  • 如果余数 < 除数:

    • 执行加除数操作:余数加上除数。

    • 商的当前位保持不变。

  • 在每次操作后,余数向左移动一位(×2),商的当前位更新。

  1. 商的符号

    • 商的符号由被除数和除数的符号决定:

      • 同号 → 商为正。

      • 异号 → 商为负。


3. 补码除法中的加减交替法

关于原视频的理解方式稍微有一点困难,这里分享一下我的看法

我的思路

  • 在补码除法中,可以通过符号的分析来判断是否“够减”,从而确定商的更新规则。

    • 符号一致(余数和除数符号相同):认为“够减”,商进一。

    • 符号不一致(余数和除数符号不同):认为“不够减”,商不变。

老师的想法

  • 视频中的讲解我也同样进行了思考,该方法主要是通过绝对值来比较,在这里,是否够减判断的依据我总结为:

    • 根据被除数的符号和余数的符号来判断,同号够减,异号不够减

    • 于此同时需要判断商的符号来判断进位的原则,分两种情况:

      • 商符号为负,进位则相当于原码中的-1,则此时进位方式和原码除法相反。

      • 商符号位正,进位的方法与原码除法相同。

小总结

  • 通过我的思考方式,感觉容易理解一点,但我不能说这种思路是正确的,也许只是答案正确了,随后可以再进一步理解老师的思路是怎么样的,这样循序渐进更好。

Other
  • 我去,记笔记到这里,然后往后看发现直接把判断规则简化成“我的思路”的,感觉自己好傻.

  • ACC和MQ的作用作为余数寄存器和余数/商寄存器。


总结

        学了学关于计组的底层运算逻辑,再次感觉到计算机的厉害,但是零基础学习组成原理确实有点困难,希望能坚持下去吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能】使用Python构建推荐系统:从协同过滤到深度学习

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 推荐系统是现代互联网的重要组成部分,广泛应用于电商、社交媒体和流媒体平台中。本文详细介绍了如何使用Python构建推荐系统,从传统的协同…

K8s证书过期

part of the existing bootstrap client certificate is expired: 2023-11-27 12:44:12 0000 UTC 查看运行日志&#xff1a; journalctl -xefu kubelet 重新生成证书&#xff1a; #重新生成证书 kubeadm alpha certs renew all #备份旧的配置文件 mv /etc/kubernetes/*.conf…

Llama 3 模型系列解析(一)

目录 1. 引言 1.1 Llama 3 的简介 1.2 性能评估 1.3 开源计划 1.4 多模态扩展 ps 1. 缩放法则 2. 超额训练&#xff08;Over-training&#xff09; 3. 计算训练预算 4. 如何逐步估算和确定最优模型&#xff1f; 2. 概述 2.1 Llama 3 语言模型开发两个主要阶段 2.2…

BenchmarkSQL使用教程

1. TPC-C介绍 Transaction Processing Performance Council (TPC) 事务处理性能委员会&#xff0c;是一家非盈利IT组织&#xff0c;他们的目的是定义数据库基准并且向产业界推广可验证的数据库性能测试。而TPC-C最后一个C代表的是压测模型的版本&#xff0c;在这之前还有TPC-A、…

[react 3种方法] 获取ant组件ref用ts如何定义?

获取ant的轮播图组件, 我用ts如何定义? Strongly Type useRef with ElementRef | Total TypeScript import React, { ElementRef } from react; const lunboRef useRef<ElementRef<typeof Carousel>>(null); <Carousel autoplay ref{lunboRef}> 这样就…

【ES6复习笔记】let 和 const 命令(1)

ES6 中的 let 和 const 关键字 1. let 关键字 let 关键字用于声明一个变量&#xff0c;它具有块级作用域&#xff0c;这意味着变量只在声明它的块内有效。与 var 不同&#xff0c;let 不允许在同一作用域内重复声明同一个变量。 2. const 关键字 const 关键字用于声明一个常…

mysql,数据库主从同步搭建

1.mysql主从同步1.主从同步原理(1)复现binlog日志中的sql语句(2)主服务器启动binlog日志(3)从服务器启动binlog日志,io线程,sql线程2.主从同步结构一主一从一主多从级联复制互为主从(keepalived高可用)3.mysql复制模式异步复制:主服务器处理完sql直接返回给客户端结果半同步复制…

从Condition开始,回顾AQS

Synchronized和Reentrantlock的挂起逻辑 synchronized中有两个核心的结构 EntryList cxq&#xff1a;等待拿锁的线程存储位置Waitset&#xff1a;被执行wait方法的线程存储位置 流转&#xff1a; 线程获取锁资源失败&#xff0c;扔到EntryList cxq线程持有锁资源&#x…

预览和下载 (pc和微信小程序)

1.微信小程序 预览pdf 或者 图片等 //utils.js 文件//通过接口返回文件链接 打开文档 export default function previewFile({ downLinkUrl, tempFilePath }) {let url "https://" downLinkUrl.replace("http://", "").replace("https:…

用例图和活动图的区别与联系

在软件开发过程中&#xff0c;需求分析是至关重要的一步。为了更好地理解和描述系统的功能需求&#xff0c;开发人员通常会使用各种图形化工具。其中&#xff0c;用例图和活动图是两种非常常用的工具。虽然它们都用于描述系统的行为&#xff0c;但各自具有不同的特点和适用场景…

PCL-计算点云AABB包围盒

PCL-计算点云AABB包围盒 一、概述二、实验代码三、效果展示四、总结 一、概述 点云包围盒也叫外接最小矩形,是一种求解离散点集最优包围空间的算法&#xff0c;基本思想是用体积稍大且特性简单的几何体&#xff08;称为包围盒&#xff09;来近似地代替复杂的几何对象。常见的包…

Linux复习3——管理文件系统2

修改文件权限命令 chmod 功能&#xff1a; chmod 命令主要用于修改文件或者目录的权限 只有文件所有者和超级用户可以修改文件或目录的权限 (1)使用数字表示法修改权限 所谓数字表示法是指将读取(r)、写入(w)和执行(x)分别以4、2、1来表示&#xff0c;没有授予的部分就表示…

单片机:实现可调时钟(附带源码)

单片机实现可调时钟设计 在许多嵌入式系统中&#xff0c;时钟功能是非常重要的&#xff0c;尤其是在需要实时显示或调节时间的应用中。例如&#xff0c;我们可以设计一个可调时钟&#xff0c;用户可以通过按键或者外部信号调节时钟的时间&#xff08;例如调节时、分、秒&#…

微机接口课设——基于Proteus和8086的打地鼠设计(8255、8253、8259)

原理图设计 汇编代码 ; I/O 端口地址定义 IOY0 EQU 0600H IOY1 EQU 0640H IOY2 EQU 0680HMY8255_A EQU IOY000H*2 ; 8255 A 口端口地址 MY8255_B EQU IOY001H*2 ; 8255 B 口端口地址 MY8255_C EQU IOY002H*2 ; 8255 C 口端口地址 MY8255_MODE EQU IOY003H*2 ; …

代码随想录day25 | leetcode 491.递增子序列 46.全排列 回溯总结

考试周连考不复习就挂科了 一直没更新十分抱歉 今天开始在周日前补回来 491.递增子序列 在90.子集I中我们是通过排序&#xff0c;再加一个标记数组来达到去重的目的。 而本题求自增子序列&#xff0c;是不能对原数组进行排序的&#xff0c;排完序的数组都是自增子序列了。 …

车载U盘制作教程:轻松享受个性化音乐

车载U盘播放音乐相较于蓝牙播放具有一些明显的优势&#xff0c;这些优势主要体现在音质、稳定性、音乐管理以及兼容性等方面。以下是车载U盘播放音乐的一些优势&#xff1a; 音质更佳&#xff1a;车载U盘播放音乐时&#xff0c;音乐文件是直接被解码并播放的&#xff0c;这意味…

C语言从入门到放弃教程

C语言从入门到放弃 1. 介绍1.1 特点1.2 历史与发展1.3 应用领域 2. 安装2.1 编译器安装2.2 编辑器安装 3. 第一个程序1. 包含头文件2. 主函数定义3. 打印语句4. 返回值 4. 基础语法4.1 注释4.1.1 单行注释4.1.2 多行注释 4.2 关键字4.2.1 C语言标准4.2.2 C89/C90关键字&#xf…

三相电机怎么换向

三相电机是现代工业中常用的驱动设备&#xff0c;其优越的性能及稳定性使其在多种应用场景中得以广泛采用。然而&#xff0c;在某些情况下&#xff0c;电机的换向是必不可少的操作&#xff0c;特别是在需要改变电机旋转方向时。 一、三相电机的基本工作原理 三相电机的工作原…

重温设计模式--8、命令模式

文章目录 命令模式的详细介绍C 代码示例C代码示例2 命令模式的详细介绍 定义与概念 命令模式属于行为型设计模式&#xff0c;它旨在将一个请求封装成一个对象&#xff0c;从而让你可以用不同的请求对客户端进行参数化&#xff0c;将请求的发送者和接收者解耦&#xff0c;并且能…

oracle怎样使用logmnr恢复误删除的数据

如果有同事误删除数据了&#xff0c;可以用logmnr挖掘归档日志&#xff0c;生成回滚sql&#xff0c;快速恢复数据&#xff0c;比用整个库的备份恢复要快得多。 一 操作步骤 1.1 创建目录 su - oracle mkdir logmnr create directory logmnr_dir as /home/oracle/logmnr; …