image.png
本书作者:美,Charles Petzold
阅读版本:2012年出版,左飞、薛佟佟译
阅读次数:第1次阅读
阅读日期:2021/10/10
阅读用时:20小时

整体阅读感受

1.文章使用电路这种方式,来解释编码的基础组成部分,使之通俗易懂。
2.拂开编码神秘的面纱,现在对于编码的态度也更亲近,少了些许恐惧。

摩尔斯电码

是什么?用长闪、短闪来表现26个字母以及一些符号
为什么?使用摩尔斯电码来表达“how are you?”只需要闪32下,而使用手电筒开关来表示却需要闪131下。

SOS:三点 三横 三点 摩尔斯电码也叫做二进制码。摩尔斯电码树状排列规律推演出以2为基数的幂函数。 image.png

布莱叶盲文

是什么?简单好用的盲文
为什么?盲文的起源并非布莱叶设计的这一套,但是布莱叶作为盲人所设计的盲文,相对其他势力健全的人设计的盲文更简单易用。

“you and me”的表示方式:左侧布莱叶盲文,右侧改进后的二级布莱叶盲文 image.png

二进制数

是什么?比特(bit)是最小信息量单位。1bit是最小的信息量。
为什么?比特可以表示各种信息,并进行信息的转化,适合计算机使用。
1.当莫尔斯码用比特来表示时,看起来就像是条形码的一个截面。

”hi there“的表示方式:摩尔斯电码(上)、比特(下) image.png

2.布莱叶盲文用比特表示更简单。凸起的点表示1,平坦的点表示0。

code的表示方式:布莱叶盲文(上)、比特(下) image.png

3.除此之外,比特还可以表示文字、图片、声音、音乐、电影
也可以表示产品编码、胶片速度、影评结果、英国军队的入侵,以及心爱之人的意图。

布尔代数

是什么?传统代数是数的运算,布尔代数是集合的运算。
为什么?布尔代数颠覆了传统代数的运算概念,是一种新的数学逻辑。
1.传统代数的+✖️表示数的相加和相乘,布尔代数的+✖️(U和倒U)表示集合的并集和交集

2.在布尔代数中,1和0这两个符号有特别的含义,它们看起来像数字但不是真正意义上的数字。

1表示全集,0表示空集。 image.png

3.OR、AND、NOT可表示集合

交集(+)可以用OR表示 并集(✖️)可以用AND表示 从全集中去除某些元素(-)可以用NOT表示 image.png

一、缓冲器
是什么?输入和输出相同。
为什么?输入信号很微弱时放大信号;延迟一个信号。

image.png

二、反相器
是什么?输入和输出相反。
为什么?创造更多的选项。

概念: image.pngimage.png 应用: image.pngimage.pngimage.png 等价: image.pngimage.png

三、逻辑门
1.与门(AND)

概念:

image.pngimage.pngimage.png

2.或门(OR)

概念: image.pngimage.pngimage.png

3.或非门(NOR)

概念: image.pngimage.png

4.与非门(NAND)

概念: image.pngimage.png

字节

存储量:字节
数据位:比特(二进制位数)

1EB = 1024PB 1PB = 1024TB 1TB = 1024GB 1GB = 1024MB 1MB = 1024KB 1KB = 1024B 1B = 8bit(b)

易失性存储器(临时存储):电流断开时,数据消失,为了保证存储数据不丢失,易失性存储器需要恒定的电流。

自动操作

一台计算机由处理器(CPU)、存储器、输入与输出四部分构成。
计算机程序设计也被叫做编写代码,简称「编码」。
能被处理器响应的操作码叫做机器码,也叫做「机器语言」。

操作码: image.png

从算盘到芯片

「第一个被发现的有生命的bug」,是一只「飞蛾」,出现在IBM发明的Mark II计算机中。
逻辑门可以被装配组成加法器、选择器、触发器、解码器、计数器。
图灵机:用来分析哪些事情计算机可以做到,哪些做不到。
图灵测试法:测试机器智能的方法。
算盘-真空管产品-晶体管产品-集成电路(芯片/IC)产品

处理器的速度决定了计算机的最终用途,那些表现比人脑还慢的计算机是毫无用处的。 image.png

两种典型的微处理器

「call指令」能纪录“从何处跳转”,即保存了跳转之前的相关信息。这可以使处理器返回到原来的位置,只需要使用「Return指令」。

这两个指令可以帮助,在程序中使用子程序。 image.png

微处理器是如何与外围设备(除存储器之外的设备)「互相通信」的呢?

外围设备配备了与存储器相似的接口,微处理器通过与外围设备的接口(特定地址)对其进行读写操作。 image.png

NOP指令代表不操作指令。使用这个指令,可以保证不会引起任何错误事件的发生。

ASCII码和字符

数字计算机中,存储器唯一可以存储的是比特,因此如果想要在计算机上处理信息,就必须把它们按位存储。

总线

总线可以简单概括为所有数字信号的集合,而这些信号被提供给计算机上的每一块电路板,信号类型:

  • 地址信号
  • 数据输入信号
  • 数据输出信号
  • 控制信号

带宽:传输媒介能够传输的信息量都是受带宽限制的。
光标:是一个下划线,用来显示键盘上输入的下一个字符会在屏幕什么位置显示出来。
键盘:是一个简单的开关。

image.png

软盘:插入软盘驱动器,与计算机进行连接,完成读取磁盘内容。
硬盘:永久固定在驱动器内部,不能移动。相对于软盘,存储速度更快、内存更大。

内存:表示随机访问存储器。一旦掉电,存储内容会全部消失,即内存全部释放。
存储器:表示任何存储设备,包括软盘、硬盘、磁带。属于磁介质存储器,可以永久性存储信息,除非主动删除或覆盖。

image.png image.png image.png

操作系统

如果没有软件,一台计算机无法完成任何有意义的工作。
操作系统是许多软件构成的庞大程序集合。

操作系统能够让程序方便的访问计算机的硬件。这种访问操作称为API,即应用程序接口。
《编码-隐匿在计算机软硬件背后的语言》 - 图34

标准化API是一个与计算机硬件无关的接口,即屏蔽了硬件的差异。因此即便计算机硬件差别很大,但都可以运行。也减少对制造商生产硬件的要求,硬件可以存在差别,但软件照样可以运行起来,提高软件的流行能力。

一个操作系统上运行多个程序,则此系统被称为多任务操作系统。目前的操作系统都是多任务,所以也就不用加前缀修饰了。
在多个程序运行时,就需要进行内存分配。如果内存不够用,就需要虚拟内存技术,让程序把暂时用不到的内存快放在临时文件里,待需要时再把它掉入内存。

著名系统的出现:UNIX系统、Linus系统、Mac系统和Windows系统

高级语言与低级语言

机器语言。
image.png
汇编语言:「低级语言」,依赖硬件,不可“移植”。
image.png
程序设计语言:「高级语言」,不依赖特定处理器,具有良好的“可移植性”。
image.png

图形化革命

可视化编程:
image.png
语音识别:
image.png
TCP/IP协议
image.png
HTTP协议
image.png
image.png
服务器端与客户端
image.png