《数字逻辑设计与计算机组成》一 3.4 减法器

简介: 本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第3章,第3.4节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 减法器

减法器用图3-9所示[2]的一种方法生成两个4位输入X和Y的差值D。在方法a中,每次xi < yi时,如果xi + 1 > 0,需要向xi + 1(下一高位)借1,然后在xi上加2。如果xi + 1 = 0,那么当xi + 2 > 0时,就向xi + 2借1,并把2加到xi + 1上。如果xi + 2 = 0,那么就向xi + 3借1,把2加到xi + 2上,等等。这个过程递归一直到xi≥yi,且di = xi - yi为0或1。在图中,x0 = 0小于y0 = 1;这样,需要从x1上借1。然而,因为x1 = 0,需要从x2借1。剩下的比特位也将进行相同的处理。此例不会产生借位输出,因为X = 12 = (1100)2大于Y = 3 = (0011)2,这样D = 12 - 3 = 9 = (1001)2。

image

在方法b中,每一次xi < yi时,都会把抵扣1加到yi + 1(下一高位)上,然后在xi上加2生成di = xi - yi为0或者1。在例子中,x0 = 0小于y0 = 1;这样,需要在y1上加上1,让y1 = 2且2加到x0上,使得x0 = 2。这样d0 = x0 - y0为1(2 - 1 = 1)。下一步,x1 = 0,小于y1 = 2;这样,再次需要把1加到y2上,使其为1,且2加到x1上,使其为2。结果为d1 =
2 - 2 = 0。剩下的比特位也按照相同的方法最终得到D = 9 = (1001)2。
n位的借位传播减法器(BPS)类似于n位的CPA,用n个1位减法器片组合而成。每一片都从X输入一位数,从Y输入一位数,然后一个借位/抵扣位(0或1)和输出一位差值和下一借位/抵扣位,如下第i位所示。n位BSP如图3-10所示。
image

对于第i位的借位和抵扣位加法器算法将在后续讨论。除了圆括号用于强制优先,所以展示了方法a的借位法和方法b的抵扣法概念,差值为d[i]的算式在两种算法中都是一样的。
减法算法
方法a:借位算法(圆括号展示如何进行借位)
image

image

表3-1和公式(3-13)展示了1位减法器片的真值表和逻辑表达式。真值表简单地决定了之前讨论两种减法算法中的一种。考虑到差值和借位(抵扣位)表达式与FA的和值和进位表达式相似。或者,先行借位减法器(BLA)可以用CLA的方法设计。
image

相关文章
|
Java 中间件 Serverless
CSE:阿里在线应用如何演进成Serverless架构
**Cloud Service Engine**,简称**CSE**,是中间件部门研发的面向通用Serverless计算的中间件产品,目标是具备AWS Lambda的各种优势,同时可以解决AWS Lambda的关键技术缺陷。 AWS Lambda如果用于核心业务,可能会有以下缺陷:(仅代表个人观点) * 要求用户以Function为单位开发,全新的开发框架,云厂商强绑定。社区主
4222 0
|
存储 编解码 监控
G-Code 详解
玩过一段时间3D打印机的朋友,都会接触到G-code文件。所谓G-code文件, 指的是3D模型在进入3D打印机实际打印之前,必须要经过切片器处理而成的一种中间格式文件。
6246 0
|
8月前
|
XML 缓存 API
eBay 商品详情 API 深度解析:从基础信息到变体数据获取全方案
本文详解如何通过 eBay 的 GetItem 和 GetMultipleItems 接口获取商品详情数据,涵盖基础属性、价格、变体、卖家信息等,并提供可复用的 Python 代码。内容包括 API 核心参数、响应结构、代码实现、实战注意事项及扩展方向,助力跨境电商开发。
ly~
|
存储 自然语言处理 前端开发
有哪些常见的 PHP 文件管理系统?
elFinder:开源Web文件管理器,支持文件的基本操作及拖放管理,具备多种文件预览、权限管理功能,适用于网站后台文件管理和共享主机环境。 FileRun:多语言、易用的文件管理工具,提供强大的搜索和版本控制功能,支持外部存储集成,适用于企业内部文件共享与协作。 KCFinder:轻量级PHP文件管理器,易于集成,支持文件上传下载限制,与富文本编辑器兼容,适用于博客系统和内容编辑场景。 AjaXplorer:基于Ajax技术的文件管理系统,提供流畅体验和插件扩展,支持文件分类和共享,适用于团队协作和灵活文件分享场景。
ly~
954 1
|
消息中间件 canal 缓存
彻底搞懂Redis和Mysql如何保证数据一致性
彻底搞懂Redis和Mysql如何保证数据一致性
彻底搞懂Redis和Mysql如何保证数据一致性
|
SQL 索引
SQL查看表字段信息如:字段名、字段类型、字段精度、字段大小、索引、主键等
表名、字段名、字段类型、字段精度、字段大小 字段名、是否为主键、字段类型、字段大小、索引名
1947 0
SQL查看表字段信息如:字段名、字段类型、字段精度、字段大小、索引、主键等
|
监控 Unix Linux
高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务
高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务
|
JavaScript 前端开发 关系型数据库
Mac M1快速配置开发环境
Mac M1快速配置开发环境
734 0
Mac M1快速配置开发环境
|
缓存 IDE JavaScript
Spring-Boot开发者工具:自动重启、LiveReload、远程开发、默认的开发时属性值
Spring-Boot开发者工具:自动重启、LiveReload、远程开发、默认的开发时属性值
Spring-Boot开发者工具:自动重启、LiveReload、远程开发、默认的开发时属性值