zoukankan      html  css  js  c++  java
  • 计算机系统要素

    计算机系统要素

    布尔代数

    • 布尔代数处理布尔型(也称为二进制型)数值,比较典型的有true/false、1/0、yes/no、on/off等等。在这里我们使用1和0。
    • 布尔型函数(Boolean function)是指输入输出数值均为布尔型数值的函数。
    • 真值表表示法(Truth Table Representation) 描述布尔函数最简单的方法就是枚举出。
    • 布尔表达式(Boolean Expressions) 除了真值表描述之外,布尔函数还可以在输入变量上使用布尔算子(Boolean operator)来描述。基本的布尔算子有“And”(只有在x和y都为1时,x And y的值等于1),“Or”(x或者y中只要有一个为1时,x Or y的值为1),以及“Not”(当x为0时,Not x为1)。
    • 规范表示法(Canonical Representation) 每个布尔函数都至少由一个布尔表达式来描述,称之为规范表示法(canonical representation)。同样从函数的真值表出发,我们关注函数值为1的那些行。对于每一行,我们构建一种表达法来确定所有输入变量的值,即通过对两个字面量(literals)(每个量可以是变量本身或其反值)施以And操作来得到。
    • 门(gate)是用来实现布尔函数的物理设备。如果布尔函数f有n个输入变量,返回m个二进制的结果,那么用来实现这个函数f的门将会有n个输入管脚(input pins)和m个输出管脚(output pins)。当我们把一些值从一些值V₁…V„从这些门的输入管脚输入,它的内部结构即门的逻辑会计算然后输出f(V₁...V„)的值。好比复杂的布尔函数能够通过相对简单的函数来表达一样,复杂的门电路也是由很多基本的门组成的。最简单的门是由微小的开关设备(称为晶体管,transistors)构成,这些微小开关设备按照设计的拓扑结构进行连接,来实现整个门的功能。
    • 简单门和复合门(Primitive and Composite Gates) 所有的逻辑门都有相同输入和输出的语义表达(0和1),它们可以连起来构成具有任意复杂度的复合门电路(composite gates)。
    • 必须注意门的接口是唯一的。

    布尔运算

    • 二进制数 十进制是以10为基底,而二进制系统则是以2为基底的。
    • 二进制加法两个二进制数能够从右至左一位一位相加,跟十进制加法一样。首先,把两个数的最右边的一位(也称为LSB, Least Significant Bits)加起来。然后,将两个位相加后的进位(0或者1)再与两个数的右起第二位相加。就按照这种方式计算下去,直到两个数最左边的一位(MSB, Most Significant Bits)为止。如果最后的两位数位相加后产生了进位1,那么就说它产生了溢出;否则就说加法运算成功执行。
    • 有符号二进制数 n位二进制系统可以产生2”个不同的组合。如果必须用二进制码表示有符号数,有个简单的方法就是,将这个空间分成两个相同的子集,一个子集用来表示正数,另一个表示负数。从理想的角度来说,编码规则应该按照如下原则来进行:有符号数的引入应该使硬件实现的复杂程度尽可能小。
    • 在任何汁算机里,软硬件平台的整体功能都是由ALU和运行在其上的操作系统共同决定的。因此,当设计新的计算机系统时,ALU应该实现多少种功能的操作,本质上是个性价比的问题。一般原则是,算术和逻辑操作的硬件实现成本通常较高,但是性能较好。

    代码托管情况

    https://git.oschina.net/20145304/the-elements-of-computing-systems

  • 相关阅读:
    【Anagrams】 cpp
    【Count and Say】cpp
    【Roman To Integer】cpp
    【Integer To Roman】cpp
    【Valid Number】cpp
    重构之 实体与引用 逻辑实体 逻辑存在的形式 可引用逻辑实体 不可引用逻辑实体 散弹式修改
    Maven项目聚合 jar包锁定 依赖传递 私服
    Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器
    mysql案例~tcpdump的使用
    tidb架构~本地化安装
  • 原文地址:https://www.cnblogs.com/LLLLLLQL/p/6181098.html
Copyright © 2011-2022 走看看