• 【逻辑与计算机设计】数码系统和数字系统 | Digital systems and number systems


    本系列博客为复习逻辑与计算机设计的笔记,内容主要参考自:

    • Introduction to Logic and Computer Design. International edition, 2008 Alan B.Marcovitx McGraw-Hill

    0x00 数码系统(Digital system)

    Takes a set of discrete information inputs and discrete internal information (system state) and generates a set of discrete information outputs.

    接受一组离散的信息输入和离散的内部信息(系统状态)并产生一组离散的信息输出。

    0x01 数码系统的种类(Types of digital systems

    📚 No state present

    • 组合逻辑系统(Combinational Logic System)
    • Input = Function(Input)

    📚 State present:

    • 状态在离散时间更新  =>  同步时序系统(Synchronous Sequential System)
    • 状态在任何时候更新  =>  异步时序系统(Asynchronous Sequential System)
    • State = Function(State,Input)  
    • Input = Function(State)或 Function(State,Input)

    注:① 同步:Synchronous     ② 异步:Asynchronous

    0x02 数码系统的例子(Digital system example)

    数码计时器(A Digital Counter):

    (摩托车的里程表)

    ❓ 思考:Synchronous or Asynchronous?  Asynchronous

    数码电脑(Digital computer example)

    ❓ 思考:Synchronous or Asynchronous?  Synchronous!

    嵌入式系统(And embedded systems):

    计算机作为其他产品的组成部分:

    手机、汽车、视频游戏、全球定位系统、智能家居电子产品、智能电视、智能电话……

    0x03 信息表述 - 信号(Information representation - Signals)

    由物理量代表的信息变量,对于数字系统来说,变量采取的是离散值。

    二进制值(binary values)是数字系统中最普遍的值,二进制值可抽象地表示:

    • digit:0 and 1
    • words (symbols)  False (F)  and True (T)
    • words (symbols)  Low (L) and High (H)
    • words on or off

    "Binary values are represented by values or ranges of values of physical quantities."

    二进制值由物理量的值或值域来表示。

    信号的实例1:随时间变化而变化的信号(Signal examples over time):

    信号的实例2: 物理量:电压(Physical Quantity: Voltage)

    0x04 数字系统(Number system)

    N = a_{n-1}r^{n-1}+a_{n-2}r^{n-2} + ... + a_2r^2 + a_1r+a_0

    • n:number of digits
    • r:radix of base
    • a_i:coefficients

    0\leq a_i< r

    Dicimal number:

    Binary number:

     

     0x05 数字系统和转换(Number systems and Conversion)

     

    0x06 八进制和十六进制(Octal and Hexadecimal numbers

    Octal number system:

    Hexadecimal number system:

    0x07 Number system conversions example

    0x08 有符号数(Representation of negative numbers : signed numbers)

    Sign-Magnitude Representation:

    一个数字由大小和符号这两部分组成。

    符号在二进制数字中由一个额外的位来表示 —— 符号位:

    n 位有符号数的范围:

    加减法时需要比较符号和大小(slower than complement number system ):

     

    0x09 二进制补码2’s complement)

    二进制补码(Two’s Complement):

    正数的补码是它本身:即 1 的原码是 0000 0001 ,补码还是 0000 0001。

    负数的补码转原码:符号位和数值位全部取反后 +1

    0x0A 二进制补码的加减法(2’s complement addition and subtraction

    加法法则(Addition Rules):

    4-bit 二进制补码的加法

    溢出(overflow):产生超过数字范围的结果的操作

    (两个正数相加后结果是负数,符号位为1表示为负)

    只要和的符号与两个加数的符号不同,就会发生加法溢出。


    减法法则(Subtraction Rules

    4-bit 二进制补码的减法:

    补足下限,加上最小下限(complementing the subtrahend and adding the minuend

    二进制补码的加法和减法使用的是相同的程序(相同的逻辑电路)  *加法器

    0x0B BCD码(Binary Coded Decimal)

    【百度百科】BCD码(Binary-Coded Decimal‎),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

    Binary Coded Decimal (BCD) Code 

    BCD 码是 8、4、2、1 码,8、4、2 和 1 是权重,BCD 是一种加权代码。

    这种代码是最简单、最直观的十进制数字的二进制代码,它使用与二进制数字相同的2次方,但只对 0 到 9 的前十个数值进行编码。

    1001 (9) = 1000 (8) + 0001 (1)

    有多少个 "无效 "的代码词?什么是 "无效 "的代码词?

    0x0C BCD加法(BCD addition)

     

    Warning: Conversion or Coding?

    不要把十进制数转换为二进制数,与用二进制代码表示十进制数编码混为一谈!
     

    0x0D 格雷码(Gray code)

    【百度百科】典型的二进制格雷码(Binary Gray Code)简称格雷码,因1953年公开的弗兰克·格雷(Frank Gray,18870913-19690523)专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换和位置-数字转换中。法国电讯工程师波特(Jean-Maurice-Émile Baudot,18450911-19030328)在1880年曾用过的波特码相当于它的一种变形。1941年George Stibitz设计的一种8元二进制机械计数器正好符合格雷码计数器的计数规律。

    格雷码(Gray code)曾用过Grey Code、葛莱码、葛兰码、格莱码、戈莱码、循环码、二进制反射码、最小差错码等名字,它们有的是错误的,有的易与其它名称混淆,建议不再使用它们。

    • 连续的数字只相差一个比特(Consecutive numbers differ in only one bit)
    • 有助于对连续设备的位置进行编码(Useful in coding the position of a continuous device)

     

    1. 📌 [ 笔者 ]   王亦优
    2. 📃 [ 更新 ]   2022.9.7
    3. ❌ [ 勘误 ]   /* 暂无 */
    4. 📜 [ 声明 ]   由于作者水平有限,本文有错误和不准确之处在所难免,
    5. 本人也很想知道这些错误,恳望读者批评指正!

    📜 参考资料 

    Introduction to Logic and Computer Design. International edition, 2008 Alan B.Marcovitx McGraw-Hill

    Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. .

    百度百科[EB/OL]. []. https://baike.baidu.com/.

  • 相关阅读:
    2022Java最新学习路线(初学者必看)
    又一职业技术技能标准官宣!
    信息量与信息熵
    【灵动 Mini-G0001开发板】+Keil5开发环境搭建+ST-Link/V2程序下载和仿真+4颗LED100ms闪烁。
    二进制概述-0day漏洞利用原理(1)
    第一章 STM32 CubeMX (CAN通信发送)基础篇
    2023-09-14 C语言泛型选择编程
    java-net-php-python-ssm大学生旅游平台计算机毕业设计程序
    金仓数据库 KingbaseGIS 使用手册(6.18. 线性参考函数)
    计算机毕业设计(附源码)python在线考试系统
  • 原文地址:https://blog.csdn.net/weixin_50502862/article/details/126660414