计算机组成原理 第五章(计算机的运算方法)—第六节(算数逻辑单元)

写在前面:

  1. 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili

一、ALU电路

        下左一图所示的是ALU框图,图中A_{i}B_{i}为输入变量,k_{i}为控制信号(不同取值可决定该电路做哪一种算术运算或哪一种逻辑运算),F_{i}是输出函数。

        现在ALU电路已制成集成电路芯片,下右图所示的是74181,它是能完成4位二进制代码的算逻运算部件。

        74181有正逻辑和负逻辑两种工作方式,下表列出了其算术/逻辑功能。

二、快速进位链

1、并行加法器

(1)并行加法器由若干个全加器组成,n+1个全加器级联就组成了一个n+1位的并行加法器

(2)C_{i}进位由两部分组成:

本地进位A_{i}B_{i},记作d_{i},与低位无关

传递进位(A_{i}+B_{i})C_{i-1},与低位有关,可称A_{i}+B_{i}为传递条件,记作t_{i}

(3)由于每位全加器的进位输出是高一位全加器的进位输入,因此当全加器有进位时,这种一级一级传递进位的过程将会大大影响运算速度

2、串行进位链

(1)串行进位链是指并行加法器中的进位信号采用串行传递,以4位并行加法器为例,每一位的进位表达式和逻辑电路图如下所示。

(2)若设与非门的级延迟时间为t_{y},那么对于上图的举例而言,d_{i}t_{i}形成后,共需8t_{y}便可产生最高位的进位。实际上每增加一位全加器,进位时间就会增加2t_{y},由此可得n位全加器的最长进位时间为2nt_{y}

3、并行进位链

(1)单重分组跳跃进位:

①单重分组跳跃进位就是将n位全加器分成若干小组,小组内的进位同时产生,小组与小组之间采用串行进位,这种进位又有组内并行、组间串行之称。

②以4位并行加法器为例,每一位的进位表达式和逻辑电路图如下所示。

③设与或非门的级延迟时间为1.5t_{y},与非门的级延迟时间为t_{y},那么d_{i}t_{i}形成后,仅需2.5t_{y}就可产生全部进位。

④如果将16位的全加器按4位一组分组,便可得单重分组跳跃进位链框图。由于组间的进位是串行传递的,这也就说明进位时间仍然有不小的上升空间。

(2)双重分组跳跃进位:

①双重分组跳跃进位就是将n位全加器分成若干大组,每个大组中又包含若干小组,而每个大组内所包含的各个小组的最高位进位是同时产生的,大组与大组间采用串行进位。因各小组最高位进位是同时形成的,小组内的其它进位也是同时形成的(小组内的其它进位与小组的最高位进位并不是同时产生的),故又有组(小组)内并行、组(小组)间并行之称。

②以32位并行加法器双重分组跳跃进位链为例,其逻辑电路图如下所示。

③设与或非门的级延迟时间为1.5t_{y},与非门的级延迟时间为t_{y},那么d_{i}t_{i}形成后,仅需10t_{y}就可产生全部进位。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

upload-labs通关方式

pass-1 通过弹窗可推断此关卡的语言大概率为js,因此得出两种解决办法 方法一 浏览器禁用js 关闭后就逃出了js的验证就可以正常php文件 上传成功后打开图片链接根据你写的一句话木马执行它,我这里采用phpinfo() 方法二 在控制台…

第八阶段:uni-app小程序 --首页开发(2)

一:分析页面布局 1.1: 功能 搜索框: 轮播图: 分类的导航区: 楼层区: 二: 利用命令创建home分支 git branch git checkout -b home git branch 三: 配置网络请求(main.js 入口函数&#x…

TCP多线程模型、IO模型(select、poll、epoll)

我要成为嵌入式高手之3月11日Linux高编第十九天!! ———————————————————————————— TCP并发模型 一、TCP多线程模型: 缺点:创建线程会带来资源开销,能够现的并发量比较有限 二、IO模型&…

科研绘图二:箱线图(抖动散点)

R语言绘图系列—箱线图抖动散点 (二): 科研绘图一:箱线图(抖动散点) 文章目录 R语言绘图系列---箱线图抖动散点(二): 科研绘图一:箱线图(抖动散点) 前言一、…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)下篇

onRequestSelected onRequestSelected(callback: () > void) 当Web组件获得焦点时触发该回调。 示例: // xxx.ets import web_webview from ohos.web.webviewEntry Component struct WebComponent {controller: web_webview.WebviewController new web_webv…

蓝桥集训之糖果

蓝桥集训之糖果 核心思想:dfs 剪枝 重复覆盖问题 暴搜 直到所有列都覆盖优化: 1.迭代加深 答案从1开始 2.逻辑简化 每次从可选行数最少得一列开始 3.可行性剪枝 添加估值函数h(),表示至少还需要选几行 与剩余行数的大小比较 4.**位运算 **将每包糖果…

wsl ubuntu 安装cuda nvcc环境

wsl ubuntu 安装cuda环境: CUDA Toolkit 11.6 Downloads | NVIDIA DeveloperDownload CUDA Toolkit 11.6 for Linux and Windows operating systems.https://developer.nvidia.com/cuda-11-6-0-download-archive?target_osLinux&target_archx86_64&Distri…

22-分支和循环语句_while语句(下)(初阶)

该代码输出什么&#xff1f; int main() {char ch \0;while ((ch getchar()) ! EOF){if (ch < 0 || ch>9){continue;}putchar(ch);}return 0; } 结果&#xff1a;该代码只打印数字字符 附&#xff1a;ASCII码表

C语言项目:数组与函数实践:扫雷游戏

目录 目录&#xff1a; 1.扫雷游戏分析与设计 1.1扫雷游戏的功能说明&#xff1a; 1.1.1使用控制台实现经典扫雷的游戏 1.1.2游戏可以通过菜单实现继续玩或者退出游戏 1.1.3扫雷棋盘是9*9的格子 1.1.4默认随机布置10个雷 1.1.5 可以排查雷 2.扫雷游戏的代码实现 1.遇到的问题…

【PyTorch】进阶学习:一文详细介绍 load_state_dict() 的应用场景、实战代码示例

【PyTorch】进阶学习&#xff1a;一文详细介绍 load_state_dict() 的应用场景、实战代码示例 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入…

特殊文件——属性文件、XML文件

目录 特殊文件 ——属性文件、XML文件 特殊文件的作用 需要掌握的知识点 Properties文件 ​编辑 构造器与方法​编辑 使用Properties 把键值对数据写出到属性文件中 ​编辑 XML文件​编辑 XML文件的作用和应用场景 解析XML文件 使用Dom4J框架解析出XML文件——下载…

windows使用nvm对node进行版本管理切换

在使用之前各位务必卸载掉自己安装过的nvm或者node版本包括环境变量之类的&#xff0c;要保证自己的电脑完全没有node环境&#xff0c;下面这些配置会自动配置node环境和安装node 参考视频 https://github.com/coreybutler/nvm-windows 访问以上链接到github去下载 点击release…

matlab simulink 一阶倒立摆LQR控制

1、内容简介 略 80-可以交流、咨询、答疑 一阶倒立摆LQR控制 2、内容说明 略 一级倒立摆系统的数学模型 系统的组成系统由小 车、小球和轻质杆组成。 倒摆通过转动关节安装在 驱动小车上&#xff0c;杆子的一端 固定在小车上&#xff0c;另一端可 以自由的左右倒下。通过 …

Ribbon简单使用

Ribbon是Netflix发布的云中间层服务开源项目&#xff0c;其主要功能是提供客户端实现负载均衡算法。Ribbon客户端组件提供一系列完善的配置项如连接超时&#xff0c;重试等。简单的说&#xff0c;Ribbon是一个客户端负载均衡器&#xff0c;我们可以在配置文件中Load Balancer后…

【Miniconda】一文了解conda虚拟环境的作用

【Miniconda】一文了解conda虚拟环境的作用 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您的订阅和支持~ &am…

【原创】java+swing+mysql报修管理系统设计与实现

前言&#xff1a; 为了满足居民和学生生活的需求&#xff0c;方便社区居民或者学生等用户进行报修&#xff0c;我们根据实际情况。首先&#xff0c;通过市场需求&#xff0c;我们确定了报修管理系统的基本功能。我们今天要用javaswing去开发一个C/S架构的报修管理系统&#xf…

数据结构-队列java实现

队列 队列(queue)1.队列的特点2.数组模拟队列JAVA代码3.上述过程优化 博文主要是自己学习的笔记&#xff0c;供自己以后复习使用&#xff0c; 参考的主要教程是B站的 尚硅谷数据结构和算法 队列(queue) 1.队列的特点 1&#xff09;队列是一个有序列表&#xff0c;可以用数组…

集成学习 | 集成学习思想:Bagging思想

目录 一. Bagging思想1. Bagging 算法2. 随机森林(Random Forest)算法 在正文开始之前&#xff0c;我们先来聊一聊什么是集成学习&#xff1f; 集成学习是一种算法思想&#xff1a;将若干个弱学习器分组之后&#xff0c;产生一个新的学习器 弱学习器指预测误差在50%以下的学习器…

计算机组成原理 第五章(计算机的运算方法)—第五节(浮点四则运算)

写在前面&#xff1a; 本系列笔记主要以《计算机组成原理&#xff08;唐朔飞&#xff09;》为参考&#xff0c;大部分内容出于此书&#xff0c;笔者的工作主要是挑其重点展示&#xff0c;另外配合下方视频链接的教程展开思路&#xff0c;在笔记中一些比较难懂的地方加以自己的…

c++实现简单搜索二叉树<K,V>形

文章目录 搜索二叉树节点类BSTreeNode(节点类的构造) BSTree(功能实现类)Insert(插入)Erase(删除)Find(查找这个节点) 搜索二叉树 搜索二叉树本质:左节点比我小 右节点比我大 节点类 BSTreeNode:给自身节点封装一个类 用这个类来添加节点的操作 我们写的是一个key.value型的搜…