逻辑设计基础_第1章_初识数字逻辑

2023-11-16

这一个月打算学习数字逻辑设计,刚听完课,现在做一下笔记。

第1章 初始数字逻辑

本节知识总结为三个方面,分别是数字逻辑的知识脉络数字逻辑设计的用途三种二进制编码,下面分别说明。

1.1 数字逻辑的知识脉络

首先,学习逻辑代数;其次,根据逻辑代数学习组合逻辑电路和时序逻辑电路;最后,设计数字系统。如下图所示。
在这里插入图片描述
这么课程是学习计算机其他课程的基础,和后续课程的联系如下:
在这里插入图片描述
想深入学习计算机的其他硬件课程,首先要学习这门课程;其次,学习汇编语言、接口技术和组成原理;最后,学习完操作系统等课程后,学习计算机系统结构。

标题数字逻辑的应用

大到天上的飞机,小到手表;都需要经过逻辑设计的知识。
在这里插入图片描述

1.2 初识数字逻辑

  1. 本节说说何为数字逻辑设计;
  2. 数字系统中的开关器件;
  3. 数字系统中的‘0’和‘1’;

1.2.1 什么是数字逻辑设计

下面用两个例子说明。

例1

如果想测量发动机的转速,可以在发动机上安装一个发光装置,这个装置可以持续发出恒定的光;发动机转轴上有一个转盘,光可以通过转盘上的缝隙穿过转盘。
在这里插入图片描述
我们可以通过如下几步完成发动机转速的测量。

  1. 在发动机小孔上安装一个光电转换器,可以将接收到的光,转换为‘’模拟电流‘’;
  2. 将电流经过整形放大,输出标准的具有上升下降的标准电流;
  3. 通过一个秒脉冲发生器(通过逻辑门实现),捕获一秒内的有多少上升和下降的电流信号;
  4. 通过计数器可知道一秒内上升和下降的多少,上升和下降分别代码1和0;
  5. 再通过译码器,将上升和下降译码为十进制的数;
  6. 最后通过显示器显示出来。
    下面两个图对应上面的六个步骤和每个步骤的输出结果
    在这里插入图片描述
    上图红色方框内的四个步骤就是数字逻辑设计的内容。
    在这里插入图片描述

例2 设计一个计算机

如何设计一个计算机呢?
首先,进行系统设计,即把一个计算机划分为几个子系统,计算机有五部分组成,输入输出设备,运算器,存储器和控制器,且设计好他们之间的关联,并确定各子系统的特性;
在这里插入图片描述

其次,进行逻辑设计。比如,如何设计存储器,下图是四位寄存器组成存储器;其他部件也要通过逻辑设计来设计如何实现。
在这里插入图片描述
最后,进行电路设计,即如何用二极管、三极管来实现存储器,控制器等部件。
在这里插入图片描述
上边的三步入下图所示,其中,第二步就是逻辑设计的内容。
在这里插入图片描述

1.2.2 逻辑器件

数字系统经常使用具有两种状态的开关器件:二极管和三极管。

  1. 二极管由PN结组成,具有单项导电性
    在这里插入图片描述
  2. 三极管利用饱和和截止状态做开关
    -
    B是基极,来控制通断。
    如果B的电压值小于某个值,则没有电流通过;
    而如果大于某个值,CE有电流通过。
    二极管和三极管都是通过“开关”控制的,通和断分别代表1和0,因此,数字系统内部使用二进制就很自然了。

1.2.3 数字逻辑中的0和1

代表两种状态,低电平表示0,高电平表示1;开关断开表示0,开关闭合表示1;

1.2.4 为什么使用二进制

  1. 电路简单
  2. 电器元件开关的闭合方便表示
  3. 精确
  4. 存储
  5. 计算机处理

1.3 编码

下面是几种二进制编码,其实质都是利用不同的编码方法表示的二进制数。

  1. BCD码
  2. 余三码
  3. 格雷码

1.3.1 BCD码(8421,2421,5421)

8421码

把每个十进制数用对应的二进制编码代替,对应的十进制位权分别是8 4 2 1
在这里插入图片描述

2421码

和8421码类似,2421码每个位对应的权值分别为:2 4 2 1
在这里插入图片描述
图中5的2421码应该是:0101

5421码

每一位对应的权重分别是5 4 2 1。
在这里插入图片描述

1.3.2 格雷码Gray

格雷码的计算如下:最高位直接写下来,后边依次和其左边一位求异或运算。
格雷码是一种可靠的编码,多位二进制变换,只有一位同一时刻变换。
在这里插入图片描述

1.3.3 余三码

余三码就是在8421基础上加三。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

逻辑设计基础_第1章_初识数字逻辑 的相关文章

  • 在vue项目中echarts父子组件异步传值,解决数据更新,echarts页面不更新问题

    在使用echarts进行数据展示的时候 遇到了一个问题 echarts图表是作为子组件进行展示的 需要父组件发送请求并获取到返回数据后再传给子组件进行数据展示 但是由于子组件比父组件先渲染 所以就会导致子组件获取不到父组件传递的数据 针对这
  • python 建立MYSQL 数据库链接

    usr bin env python3 coding utf 8 name kang 功能 数据库连接模块 用于建立数据库连接和关闭 from pymysql import from config conf import class DBU
  • DRB-GAN: A Dynamic ResBlock Generative Adversarial Network for Artistic Style Transfer

    摘要 提出一种用于艺术风格迁移的动态 ResBlock 生成对抗网络 DRB GAN 风格码被建模为连接风格编码网络和迁移网络的动态 ResBlocks 的共享参数 在编码网络中 融入了风格的类感知注意机制 在迁移网络中 多个 Dynami
  • gitee使用教程,创建项目仓库并上传代码

    一 关于gitee gitee 中文名 码云 原名 Git OSC 是开源中国推出的基于git的代码托管服务 国内访问GitHub速度比较慢 如果想托管自己的代码到云端 gitee是个不错的选择 华为的鸿蒙2 0源码也是放在gitee上的
  • vscode离线安装并扩展第三方库

    1 下载好anaconda vscode vscode扩展包 vscode和扩展包最好同一天下载 因为我第一次用的是一个月前下载的vscode安装 然后扩展包安装时出现了不兼容的情况 我又重新下载了一次最新的vscode 不兼容情况解决啦
  • shardingsphere-jdbc配置常见问题,Type is required

    Type is requied 错误 shardingsphere不能写成sharing sphere 将datasource写成了database names写成name driver class name不能写成driverClassN
  • keil5中找不到本应该有的芯片

    问题描述 从网上下载了一份他人的keil工程 发现打开后无法找到对应芯片 确定已下载该芯片的器件包 如图1所示 打开工程设置后仍无法找到芯片 但新建工程时有 如图2所示 图1 打开工程时显示 图2 打开工程设置界面 解决方法 新建一个所需芯
  • 十万火急的数据采集项目,爬虫代理测试对比

    十万火急的数据采集项目 爬虫代理测试对比 开春上班第一天 正在喝咖啡发神 老大开会宣布公司要重点投入数据爬取和分析业务 为客户做业务做数据支撑要求达到日均1000W级别的数据采集量 让我做一下技术规划 赶紧找出了一年前爬虫框架跑了一下电商数
  • 互联网公司常见面试算法题

    1 假设淘宝一天有5亿条成交数据 求出销量最高的100个商品并给出算法的时间复杂度 先用哈希 统计每个商品的成交次数 然后再用在N个数中找出前K大个数的方法找出成交次数最多的前100个商品 优化方法 可以把5亿个数据分组存放 比如放在500
  • java 直接读取zip文件和文件内容

    不解压zip文件 直接读取zip包内的文件夹以及文件内容 zip包内内容 代码如下 import java io import java nio charset Charset import java util zip ZipEntry i
  • 我总结了大龄程序员未来最好得3个出路

    所谓出路 就是继续下去的方法 30岁的程序员通常要同时面临技术瓶颈 家庭负担以及贷款压力 如果这个时候没有能够坐到一个理想的位置 或者是积累一些资源与人脉 那么其实压力是很大的 那么这个时候还有出路吗 当然有 其实30岁还属于青年 离中年还
  • 微信小程序,图像识别源码

    目录 前言 百度端配置信息 小程序中代码 结语 智能识图小程序源码下载路径 https pan baidu com s 1OGE7vhogS7L7nn0JIFPVWw 提取码 8ze9 前言 基于近期的工作内容关系 在查询一些资料的同时 在
  • hadoop环境搭建之制作本地yum源

    因为需要的三个安装包都在国外服务器 切最大的超过5G 如果不是对网络特别有自信 最好确认完整下载后制作本地yum源安装 推荐 一 安装 Apache HTTP 服务器 直接yum安装即可 yum install httpd 因为前面已经关闭
  • 华为OD,阿里巴巴找黄金宝箱(Ⅱ)(Java实现)

    Java代码 public class Demo2 public static void main String args Scanner scanner new Scanner System in Map
  • 【粉丝问答19】为啥变量没初始化就用了?那是宏定义啊!

    目录 一 问题 二 分析 三 宏定义的注意点 1 只占用编译时间 2 宏替换发生时机 3 预处理包括哪些工作 四 如何快速展开复杂的宏定义 第一步 第二步 五 练习 六 15个经典宏定义小例子 一 问题 为啥内核有的变量没有初始化就敢直接使
  • node.js的学习

    nodejs 官网 Node js nodejs org nodejs中代码由V8引擎解析 内置fs http等api 不包含dom和bom 不可以在nodejs中使用bom和dom nodejs可以做什么 基于Express框架 可以快速
  • 逻辑运算符、位运算符、移位运算符、三目运算符、运算符的优先级

    一 逻辑运算符 逻辑运算符的作用是用于连接布尔表达式的 1 与 并且 规律 只有左右变量同时为true 那么结果才是true 否则就false 2 或 或者 规律 只要两边的布尔表达式有一边为true 那么结果就为true 只有两边同时为f
  • npm安装依赖报错: cb() never called!

    用npm安装依赖报错 npm ERR cb never called npm ERR This is an error with npm itself Please report this error at npm ERR
  • Ubuntu14.04下安装QT 5.6.3

    1 选择qt版本 镜像网址选择版本为5 6 3 http mirror bit edu cn qtproject official releases qt 2 进入到安装包所在的目录 如果安装包无法直接运行的话则执行以下命令 chmod x

随机推荐

  • 异步任务-springboot

    异步 异步与同步相对 当一个异步过程调用发出后 调用者在没有得到结果之前 就可以继续执行后续操作 也就是说无论异步方法执行代码需要多长时间 跟主线程没有任何影响 主线程可以继续向下执行 实例 在service中写一个hello方法 让它延迟
  • 安全转移C盘空间,比如 更改Unity中默认下载在C盘的Package的保存地址

    不同于 快捷方式 快捷方式本质是文件 后缀是link 记载路径信息 符号链接本质是引用 程序访问可直达目标路径 操作 首先在把C盘中的文件路径复制下来 粘贴到Link处 然后把C盘中的文件剪切到其他盘中 复制其他盘中该文件的路径 粘贴到Ta
  • VSCode 入门操作大全 + 实用插件推荐【零基础专属详细教程】

    前言 选择一个好的开发工具很重要 很多刚学编程的小伙伴在 webstorm 和 vscode 上很难抉择 我个人更喜欢使用 vscode 因为其有着简洁的操作风格和丰富的人性化的各种功能 这篇文章带给大家 vscode 的新手操作指南 大家
  • 论文笔记 Bayesian Probabilistic Matrix Factorizationusing Markov Chain Monte Carlo (ICML 2008)

    0 摘要 低秩矩阵逼近方法是协同过滤中最简单 最有效的方法之一 这类模型通常通过寻找模型参数的MAP估计来拟合数据 这一过程即使在非常大的数据集上也能有效地执行 然而 除非正则化参数被仔细地调整 否则这种方法很容易过度拟合 因为它找到了参数
  • 【满分】【华为OD机试真题2023 JS】投篮大赛

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 投篮大赛 知识点字符串 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 你现在是一场采用特殊赛制投篮大赛的记录员 这场比赛由若干回合组成 过去几回合的得分可能会影
  • slf4j使用log4j的配置参数

    slf4j 即简单日志门面 Simple Logging Facade for Java 不是具体的日志解决方案 它只服务于各种各样的日志系统 按照官方的说法 SLF4J是一个用于日志系统的简单Facade 允许最终用户在部署其应用时使用其
  • 技术人员的发展之路

    程序算法与人生选择 我用算法来类比如何做选择 说白了就是怎么去计算 但是并没有讲程序员可以发展的方向有哪些 所以 就算是有这些所谓的方法论 我们可能对自己的发展还是会很纠结和无所事从 尤其是人到了30岁 这种彷徨和迷惑越来越重 虽然我之前也
  • 基础密码学知识和python pycrypto库的介绍使用

    一 密码学基础概念 1 密码 对文本进行编码 使偷窥者无法识别的算法 是一套编码方案 一种特殊的报文编码和相应的解码方式的结合体 加密之前的原始报文称为明文 使用密码之后的报文叫密文 一个简单的例子 这个例子是著名的三字符循环移位密码rot
  • 求你了,别再用 pip 那乌龟的速度去安装库了!

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 PS 如有需要Python学习资料的小伙伴可以点击下方链接自行获取 python免费学习资料 代码以及交流解答点击即可加入 学习 Py
  • mysql pool-recycle_sqlalchemy错误记录

    错误类型 sqlalchemy exc OperationalError mysql connector errors OperationalError MySQL Connection not available 超过mysql连接池 尝
  • Rancher 资料收集

    1 是什么 Rancher 是一个全面的企业级容器管理平台 它可以让容器在各种基础设施平台的生产环境上部署和运行更容易 通过Rancher 企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台 Rancher提供了在生产环境中使用的管
  • 批量添加-动态拼接字符串

    字符串拼接主要包括以下三类 第三种方法是今天的重点 Sring format StringBuilder Append 一 对于少量固定的字符串拼接 我们可以简单利用 string s a b c 这样写 系统或优化成如下代码 不会新建多个
  • Python 基于循环神经网络的情感分类系统设计与实现,附可视化界面.

    1 简介 循环神经网络是一种能够有效处理序列数据的深度学习模型 在情感分类任务中具有广泛的应用 因此开发环节采用了GRU框架作为循环神经网络的实现模型 开发完成的情感分类系统能够自动识别用户的留言情感分类 将留言有效区分为积极或消极 并且在
  • python操作excel文件的构建

    一 使用python构建txt文件 1 应用 做最大字符长度检验 需要构架一定数量的数据 如100 200 对象 open 文件名 打开方式 encoding utf 8 with open 文件名 打开方式 encoding utf 8
  • java -jar 远程调试_Java Remote Debug(idea远程调试)

    概述 对于分布式系统的调试不知道大家有什么好的方法 对于我来说 在知道远程调试这个方法之前就是在代码中打各种log 然后重新部署 上线 调试 这样比较费时 今天咱们来了解了解Java远程调试这个牛逼的功能 本文以Intellij IDEA为
  • 云计算与大数据- 云计算概览练习题及答案

    第1章 云计算概览习题 1 1 选择题 1 下列关于云计算的说法错误的是 D A 可以提供按需使用 按量计费的服务 B 可以满足用户的弹性使用需求 C 用户可以在任意时间和地点通过网络获取所需的资源 D 主要基于非虚拟化资源池 2 以下不属
  • jdbc编程六步

    1 加载驱动 2 获取连接 3 创建预编译对象 4 执行sql 5 处理结果集 6 释放资源
  • 蓝桥杯oj 算法训练 大小写转换

    算法训练 大小写转换 时间限制 1 0s 内存限制 512 0MB 锦囊1 锦囊2 锦囊3 问题描述 编写一个程序 输入一个字符串 长度不超过20 然后把这个字符串内的每一个字符进行大小写变换 即将大写字母变成小写 小写字母变成大写 然后把
  • 数据仓库主题三-(实施篇)

    背景 如何从具体的需求或项目转换为可实施的解决方案 如何进行需求分析 架构设计 详细模型设计等 则是模型实施过程中讨论的内容 业界常用两种数据仓库建设模型思想分为两种kimball和inmon模型 具体的kimball和inmon 模型思想
  • 逻辑设计基础_第1章_初识数字逻辑

    这一个月打算学习数字逻辑设计 刚听完课 现在做一下笔记 第1章 初始数字逻辑 本节知识总结为三个方面 分别是数字逻辑的知识脉络 数字逻辑设计的用途和三种二进制编码 下面分别说明 1 1 数字逻辑的知识脉络 首先 学习逻辑代数 其次 根据逻辑