目录

一、实验目的

二、实验内容

三、实验器件

四、实验原理

4.1 行波进位加法器

4.2 先行进位加法器

4.3 选择进位加法器(尝试猜测原理)

五、实验步骤与思考题


一、实验目的

1、了解半加器和全加器的电路结构。

2、掌握串行进位加法器和并行进位加法器的原理及设计方法。

二、实验内容

1、设计拥有共同输入端——2个4位二进制数输入的串行加法器(行波进位加法器)和并行加法器(先行进位加法器),深入理解两种加法器的实现逻辑和区别。

2、探讨针对输入二进制数在有符号和无符号情况下,两种加法器如何改造成输入是4位有符号数,输出是4位有符号数;输入是4位无符号数,输出是4位无符号数或者5位有符号数的。

三、实验器件

1、2/3/4 与门(74LS08/74LS11/74LS21)、非门(74LS04)、或门(74LS32)、异或门(74LS86) 等逻辑门。

2、三态门(74LS244)、LED指示灯及数码显示管。

3、单刀双掷开关(SW_SPDT)、拨码开关(DIPSWC_8)。

四、实验原理

4.1 行波进位加法器

特点:第i个FA全加器的准确输入进位ci-1需要经过(i-1)个二级与或门的门延迟之后才能获得,因此在计算时间上花费较多,但是硬件连接十分简单,只需要把第(i-1)个FA的进出位连接到第i个FA的进入位,把第i个FA的进出位连接到第(i+1)个FA的进入位,如果是第一个全加器,进入位连接行波进位加法器输入c0;如果是第(n-1)个(最后一个)全加器,进出位输出cn,用于溢出校验。

4.2 先行进位加法器

特点:采取空间换时间的方法,优点是在计算效率上高于行波进位加法器,但是缺点是在硬件电路方面设计更复杂,对于n位输入的先行进位加法器,最大需要用到fan_in=(n+1)的与门和或门,考虑到连接的复杂度和器件的功率和供电情况,一般来说这种加法器用在4位输入较多,如果是8位或者16位、32位的加法器,可以采用4.1行波进位加法器的方法连接2个、4个或8个先行进位加法器,把图中的FA换成4位输入的先行进位加法器即可。

下面是对于两个32位(n=32)二进制数的加法(减法转换增加一个延迟单位T),行波进位加法器和先行进位加法器的计算延迟比较(不包括溢出校验),对于先行进位,溢出校验的最短时间(因为有两种校验方法,进位校验与和位校验)和生成的时间一致;而对于行波进位,溢出校验的时间(两种校验时间几乎一致,微小差异在三输入或门两输入与门组合——最终进位产生VS两输入或门三输入与门组合——溢出判断,二输入异或操作都有只不过次序不同)需要在 产生的基础上再加1T。

当n趋向于正无穷时,行波进位加法器的有效输出延迟(笔者认为最好包括溢出校验)渐近线为t=2nT,而先行进位加法器的渐进延迟线为t=(n/2)*T,所以计算速度大约是4倍左右。

事实上,硬件工程师在设计先行进位加法器的时候还设计了一个Carry-lookahead Logic,用于更多位加法扩展的时候可以进一步缩短运算时间,4组全加器的G和P压缩成了一组G和P,可以形成2层-16个全加器的逻辑块;而不是像前文讲述的简单的直接前后串联。串联就像是数学里的等差数列,而这种逻辑就像是等比数列,比例系数q=1/4。

输入操作数位数n趋近于无穷大时,想要设计一个大加法器完成加减法操作,这个时候渐近线或者说运算效率就会有很大的区别(然而只存在于理论之中,因为实际不存在操作数无穷多位的情况,一般64位就已经是极限了)——

只嵌套一层,渐进延迟线就是t=(n/2)*T,嵌套m层,渐进延迟线就是t=(2n/)*T。其实这不仅仅是一个空间换时间的问题,也涉及到布局和设计,包括对门电路的理解,体现了人类的智慧。

4.3 选择进位加法器(尝试猜测原理)

这种加法器也拥有类似等比数列缩小的渐进延迟,硬件开销近似指数增长。由于笔者没有具体查阅资料去了解选择进位加法器,所以只是猜测可能用到了2路、4路、8路等路选择器,基本原理猜测如下图。


上图列举的是把输入二进制数划分成三段的情况,所以相当于使用了(2^3-1)/3=7/3倍于行波进位加法器数量的全加器,计算速度提升了3倍。当分成4段的时候,使用了(2^4-1)/4=3.75倍于行波进位加法器数量的全加器;当分成8段的时候,使用了(2^8-1)/8≈32倍于行波进位加法器数量的全加器。

图 1       全加器使用6个门(其中或门是唯一的三输入门)

下面看一看输入是64位二进制数(比如long int类型)时,需要多多少硬件才能换取多少时间,延迟计算不包括减法的补码处理。

一个FA全加器使用了6个门,一个4位Carry-lookahead Adder使用了4x6+14=38个门。

图 2       4位先行进位加法器多出的14个门(包含三四五输入门)

图 3       64位操作数输入,三种加法器的硬件开销与计算延迟

可以发现,先行进位加法器的硬件开销和计算延迟综合起来是最优秀的。如果想要在先行进位加法器的基础上把时间进一步压缩,那么需要使用选择进位加法器并且把硬件数量翻20倍。

图 4       Proteus仿真软件-两种加法器的电路实现

五、实验步骤与思考题

使用7段数码管显示运算结果,LED灯判定溢出(笔者没有实现这一功能)。

1.请问本实验的运算器是补码运算器、原码运算器还是无符号数运算器?与串行进位加法器相比,并行进位加法器的优势是什么?所谓的“并行”体现在哪里?

本实验的运算器既是补码运算器也是无符号数运算器,根据所需用途的不同也不同,因为补码运算器也是把有符号数当作无符号数输入全加器运算的。

优势就是运算效率高、运算速度快,并行体现在所有进位(除了c0)的产生延迟是一致的。

2.本实验中,运算器可以表示的数值范围是多少?请把运算器电路分别修改为四位无 符号数运算器和五位补码运算器(一位符号位),并分别写出各自新的数值范围。

见下图。

图 5       思考题2

对于4位有符号输入-4位有符号输出的情况,第五位(进出位)也存在但是不发挥作用。

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

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

相关文章

react+antd Table实现列拖拽,列拉宽,自定义拉宽列

主要插件Resizable,dnd-kit/core,dnd-kit/sortable,dnd-kit/modifiers 其中官网有列拖拽,主要结合Resizable 实现列拉宽,isResizingRef 很重要防止拖拽相互影响 1.修改TableHeaderCell const isResizingRef useRef(…

光照解耦和重照明

项目地址: GitHub - NJU-3DV/Relightable3DGaussian: [ECCV2024] 可重新照明的 3D 高斯:使用 BRDF 分解和光线追踪的实时点云重新照明 可优化参数 gaussians.training_setup(opt) if is_pbr:: direct_env_light.training_setup…

Kafka 运维与调优篇:构建高可用生产环境的实战指南

🛠️ Kafka 运维与调优篇:构建高可用生产环境的实战指南 导语:在生产环境中,Kafka集群的稳定运行和高性能表现是业务成功的关键。本篇将深入探讨Kafka运维与调优的核心技术,从监控管理到性能优化,再到故障排…

AR 地产互动沙盘:为地产沙盘带来变革​

在科技飞速发展的今天,AR(增强现实)技术应运而生,为解决传统地产沙盘的困境提供了全新的思路和方法。AR 技术,简单来说,是一种将计算机生成的虚拟信息与真实环境相融合的技术。它通过摄像头、传感器等设备获…

端到端自动驾驶系统关键技术

一、感知决策一体化模型架构 单一神经网络整合全流程 端到端神经网络能够直接将传感器输入映射为控制输出,消除了传统模块化架构中感知、规划、控制等独立模块之间的割裂。传统架构中,感知模块负责识别环境信息,决策模块根据感知结果进行路…

Vue Vue-route (2)

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue-route重定向和声明式导航 目录 Vue-route路由 重定向 首页默认访问 不存在匹配 声明式导航 路由原理 使用示例 自定义class类 Tag设置 版本4路由 改变 示例 总结 Vue-route路由 重定向 首页默认访问 希望访…

Mabl 基于云端的智能化自动化测试平台

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 </

Linux/Dog

Dog Enumeration nmap 第一次扫描发现系统对外开放了22、80端口&#xff0c;端口详细信息如下 ┌──(kali㉿kali)-[~/Desktop/vegetable/HTB] └─$ nmap -sC -sV -p 22,80 -oA nmap 10.10.11.58 Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-26 03:36 EDT Nmap s…

青少年编程与数学 02-022 专业应用软件简介 01 设计与创意类软件:Adobe Creative Cloud

青少年编程与数学 02-022 专业应用软件简介 01 设计与创意类软件&#xff1a;Adobe Creative Cloud **一、Adobe公司介绍**&#xff08;一&#xff09;Adobe的创立与早期发展&#xff08;二&#xff09;Adobe的市场地位与影响力&#xff08;三&#xff09;Adobe的创新文化 **二…

【亚马逊防关联攻略】多店铺运营如何做好环境隔离?

在亚马逊跨境电商中&#xff0c;多店运营的最大风险是账号关联。亚马逊规定&#xff0c;同一卖家在同一站点只能拥有一个店铺。平台会通过多种方式追踪注册信息、设备和网络环境等&#xff0c;如果发现关联因素&#xff0c;所有关联账号可能被批量封禁&#xff0c;这会导致资金…

She‘s Coming !

#好书推荐《一本书讲透汽车功能安全&#xff1a;标准详解与应用实践》 #功能安全应用指南 #功能安全实践参考宝典 Finally, shes coming ! 她来得有点晚&#xff0c;但 “好饭不怕晚”。 她就是刚出炉的新书《一本书讲透汽车功能安全&#xff1a;标准详解与应用实践》 京东…

如何用废弃电脑变成服务器搭建web网站(公网访问零成本)

文章目录 &#x1f4bb; 如何用废弃电脑变成服务器搭建 Web 网站&#xff08;公网访问零成本&#xff09;一、背景与目标✅ 本文目标&#xff1a; 二、准备工作&#xff08;软硬件需求&#xff09;&#x1f9f1; 1. 硬件需求&#x1f9f0; 2. 软件环境准备 三、快速搭建一个 Fl…

〔从零搭建〕指标体系平台部署指南

&#x1f525;&#x1f525; AllData大数据产品是可定义数据中台&#xff0c;以数据平台为底座&#xff0c;以数据中台为桥梁&#xff0c;以机器学习平台为中层框架&#xff0c;以大模型应用为上游产品&#xff0c;提供全链路数字化解决方案。 ✨杭州奥零数据科技官网&#xf…

Vue3 中watch和computed

Vue 3 中 computed 与 watch 深度解析 在 Vue 3 组合中&#xff0c;响应式工具的类型安全使用至关重要。以下是详细说明 一、watch 侦听器 1. 基础类型监听 <template><div>实际参数1{{count}}</div><div><button click"count">点…

.NET测试工具Parasoft dotTEST:全兼容RMS的测试解决方案

随着项目规模扩大&#xff0c;需求管理变得复杂&#xff0c;如何高效追溯需求与测试的关联性成为一大挑战。Parasoft dotTEST 提供了一套强大的需求追溯解决方案&#xff0c;不仅能自动关联单元测试结果与需求&#xff0c;还能兼容几乎所有需求管理系统&#xff08;RMS&#xf…

基于Jeecgboot3.8.1的vue3版本前后端分离的flowable流程管理平台

初步迁移完成了基于jeecgboot3.8.1的vue3版本的前后端流程管理平台,基于flowable6.8.0,同时支持bpmn流程设计器与仿钉钉流程设计器。 功能类似于3.6.3,但增加了一些以下功能: 1、支持多租户 2、支持并行网关的任意跳转、退回与驳回 3、流程表达式 这里流程表达式定义四…

IP 限流 vs. URI 限流

背景&#xff1a; 昨天调程序的时候遇到了一个 BUG&#xff0c;前端无法将文件正确传给后端&#xff0c;后端报错 EOFException&#xff08;EOF 代表 End Of File&#xff09;就是在程序尝试从一个数据流中读取数据时&#xff0c;发现已经到达了数据流的末尾&#xff0c;但它却…

2025年Java常见面试题(持续更新)

数据库事务特性。原子性、一致性、隔离性、持久性如何防止SQL注入&#xff1a;使用#不要使用$符号&#xff1b;对所有的入参做校验&#xff1b;使用存储过程&#xff1b;执行预处理语句和参数化查询&#xff1b;最低权限原则&#xff1b;微服务拆分的原则&#xff1a;微服务的拆…

Spring AI ——在springboot应用中实现基本聊天功能(ChatModel)

文章目录 前言项目版本依赖引入配置key信息编写测试接口注入ChatModel并普通返回注入ChatModel并流式返回自定义模型对象并直接返回总结前言 在Spring AI 中,CchatClient 是一个所有大模型通用性的调用方式,对绝大多数大模型的功能点都具备封装和见解调用性。 但这一点在部…

78、系统工程生命周期阶段及方法

一、系统工程生命周期的七大阶段 系统工程生命周期涵盖从概念萌芽到系统退役的全过程&#xff0c;通常分为以下七个阶段&#xff0c;每个阶段具有明确目标与核心任务&#xff1a; 1.探索性研究阶段 目标&#xff1a;识别利益相关者需求&#xff0c;探索技术可行性。任务&…