编码:隐匿在计算机软硬件背后的语言
第一章 电筒密谈
摩斯电码:使用点和划的组合来表示各种字母,可以使用电信号来传输这种点和划的组合。不同的字母之间用较长的时间间隔表示。手电筒的也可以模拟这种信号。可以用"滴"和"答"2中声音来代替点和划。
第二章 编码与组合
摩斯电码中字母由点和划来表示,但是一个字母由几个点和划表示是不固定的。
要表示26个字母需要2+2^2+2^3+2^4=30。也就是最少需要4个点和划的组合。
第三章 布莱叶盲文与二元编码
1.布莱叶盲文中用一个六筒来表示文字和数字,2^6 = 64,即可以表示64个字符。
2.一级布莱叶中每一个六筒被表示一个字母
3.二级布莱叶中每一个六筒其实是一个常用的单词或词组,其中也包括了一些标点符号。但是其中最重要的是一个转义字符,如果出现这个字符,表示接下来的字符要被转移成数字,这样这些数字的表示就可以和字母重合了。那么最终表示的符号量就更多了。还有一个大写标识,出现这个标识,表示后面的字母表示成大写,这个标识叫"换码代码"
第四章 手电筒剖析
1.手电筒通过接通电源来点亮,电源,手电筒必须通过导线相连,无断路
2.串联并联都可以
3.在电池的外部,电流从电源的正极流向负极
第五章 绕过拐弯的通信
1.开关控制电路的通和断
2.使用简单的V来表示电源
第六章 发报机与断电器
1.电磁铁,通电产生磁性,吸引铁片。断点,消除磁性,取消对贴片的吸引
2.电报机内部就是电磁铁。短时间敲击形成点,长时间敲击形成划。对方接受就可以通过接受这些点和划可以反向读出摩斯电码
3.改进后,可以通过接收方磁铁的敲击声判断出点和划。
4.由于信号在长距离的传输中会受损,所以可以采用继电器装置来(修正)信号源。修正的意思是获取被减弱的输入信号,再重新输出。
5.继电器的原理是一个开关通过电磁铁控制着另一个开关。
第七章 十进制计数法
第八章 其他进位制记数法
2进制,4进制,8进制
第九章 二进制数
1.条形码就是一种二进制,黑条有四种宽度,最宽的是最短的4倍。
2.条形码中白色表示0,黑色表示1
第十章 逻辑与开关
1.布尔代数操作的是集合。"+"表示并集,"*"表示交集,"1-"表示否
2.逻辑门。"+"表示或门,用OR表示。"*"表示与门,用AND表示。"1-"表示非门,用!表示。
第十一章 逻辑门电路
1.可以用继电器来构造门电路。双掷继电器有两种:一种是通电,另一个开关被闭合,称为通用继电器。另一种是通电,另一个开关打开,成为反向继电器。
2.与门AND:2个通用继电器串联,用符号表示。也可以多个通用继电器串联。
3.或门OR:2个通用继电器并联,用符号表示
4.反相器NOT:使用一个反向继电器,用符号表示
5.或非门NOR:2个反向继电器串联,用符号表示
6.或与门NAND:2个反向继电器并联,用符号表示
7.缓冲器,一个通用继电器,延迟作用,用符号表示
第十二章 二进制加法机
1.进位器可以使用与门来表示
2.加法器可以使用异或门(一个与门,一个或门,一个与非门)来表示,符号表示:
3.由进位器(与门)和加法器(异或门)可以得到一个半加器(无法将前一位的进位添加到本次计算中)
4.全加器由2个半加器和一个或门获取:
5.将多个全加器连接起来,就可以获得一个8位加法器
6.可以构造一个16位的加法器
第十三章 如何实现减法
1.减法的思路是加上一个负数。因为减法需要借位,很麻烦,所有采用反码和补码来计算。
2.反码:在十进制中反码就是用9去减当前数得到的值,二进制中用1去减(这又相当于直接取反)
3.补码:反码+1
4.没有无限大的数或者无线小的数,二进制中8位数字加减是循环的
第十四章 反馈与触发器
1.振荡器,可以自主实现电磁铁的开闭
2.振荡器周期性的输出序列
3.触发器,可以记住电路的状态
4.R-S触发器
5.电平D型触发器
6.电平触发的D型锁存器
7.8位锁存器
8.2-1选择器
9.边沿触发的D型触发器
10.分频器
11.通过分频器可以构成一个计数器
12.还可以为D型触发器添加预置和清零功能
第十五章 字节与十六进制
一个字节8个位,用16进制表示为2个字符
第十六章 存储器组织
1.将传统的时钟信号或者保持位控制的锁存器改变成由写入信号控制的锁存器(只是名字换了,电路结构一点没变)
2.将8个锁存器结合在一起,
3.8-1选择器,将一个8位信号通过3个开关变成1位输出
4.3-8译码器,通过1个输入端和3个开关输出到8个位置
5.读/写存储器,RAM
6.在RAM中,3个地址线称为8*1RAM阵列。2个8*1RAM阵列连接(地址共享),称为8*2RAM阵列(8个地址,每个地址2位数字)。RAM阵列容量=2^地址线数量 * 8
7.一般的地址线为16位,可以存储的容量为64K*8
8.RAM遇到断电会丢失所有数据
第十七章 自动操作
1.将RAM连接到累加器上
振荡器采用的是上升沿触发而非电平触发,电平触发不可控,上升沿触发只会保证触发一次。
步骤:
1.先按下清零开关,计数器变为0000h。
2.闭合RAM上的接管开关,从0000h输入一组8位数。如果数日100个8位数,则存储在000h~0063h中
3.断开接管开关,断开清零开关
4.初始状态,RAM阵列的地址输入为0000h,加法器A的输入是RAM0000h地址的值,B为0,锁存器也为0
5.当振荡器由0->1时,同时发生2件事:锁存器保存加法器的结果;计数器+1
6.当振荡器第二次由0->1时:RAM输出0001h的值,加法器为RAM的值+锁存器的值,锁存器保存加法器的结果;计数器+1
2.将一次计算的结果保存到RAM中
3.自动加法器所需要的步骤
把地址为0000h中的数装载到累加器中
把地址为0001h中的数加到累加器中
把地址为0002h中的数加到累加器中
把累加器中的数保存到地址0003h中
。。。
停止自动加法器的工作
4.通过2个RAM来实现指令和数据的分离
5.将指令和数据结合到一个RAM上
6.指令就是控制电路进行操作的机器码,每一个指令对应一个机器码,这个代码可以用助记符来描述。但是机器码需要与助记符一一对应
7.计算机组成:处理器,存储器,输入设备,输出设备
8.跳转指令是通过改变计数器来控制的
第十九章 8080
1.寄存器和累加器都可以看做是锁存器
2.处理器可以建数据从存储器传送到寄存器,也可以把数据从寄存器送回存储器
3.汇编相关
第二十一章 总线连接
1.总线是提供给计算机中每块电路板的数字信号的集合,信号种类
地址信号:由微处理器提供,用来寻址RAM,也用来寻址连接到计算机的其他部件
数据输入信号:也由未处理器提供,用来写入数据到RAM或其他设备
数据输入信号:通常由RAM提供,微处理器读入的信号
控制信号:来自微处理器或其他部件
2.总线给计算机中的各个电路板提供电源
第二十二章 操作系统
1.虚拟内存技术:当内存不需要某些内存块时,可以把它们存放在临时文件中,等需要时再都会内存
2.文件系统:磁盘存储器中按照文件来组织数据文档方法
第二十三章 定点数和浮点数
单精度表示
双精度表示
编码:隐匿在计算机软硬件背后的语言相关推荐
- 编码——隐匿在计算机软硬件背后的语言上
编码:隐匿在计算机软硬件背后的语言是讲述计算机工作原理的.不过,你千万不要因为"工作原理"之类的字眼就武断地认为,它是晦涩而难懂的.作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述 ...
- 如何用继电器实现逻辑门(与或非门)- 编码隐匿在计算机软硬件背后的语言读后感
首先了解一下继电器,说起继电器就不得聊一下电报机.(想直接了解如何实现逻辑门的直接往下翻,不过还是推荐看一下为什么会产生逻辑门,加深印象) 摩尔斯(发明摩尔斯密码的人)在1836年通知专利局,他发明了 ...
- 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》
浅谈这本书 如果让我做一个排名,我想这本书,可以在我的顶级程序员书单系列排名第8-10位.这本书讲述了从最简单的加法器到触发器到存储器到一台计算机demo的搭建,整本书的语言都十分通俗易懂,作者简直就 ...
- 读书:编码——隐匿在计算机软硬件背后的语言上
摩斯密码 摩斯密码是由"."(短音)与"-"(长音)所组成的,短促的点信号" .",读" 的 "(Di):保持一定时间的 ...
- 【读书笔记】《编码 隐匿在计算机软硬件背后的语言》02 编码与组合
个人希望通过笔记的方式记录研读IT著作的收获,也算是对自己的一个督促,笔记内容不会照搬原文,尽量以最简洁的形式阐述原文,对原文内容会有所取舍并且加上自己的感想等,供自己之后查阅,毕竟好记性不如烂笔头( ...
- 计算机神书『编码:隐匿在计算机软硬件背后的语言』
在知乎回答了一个关于书籍推荐的问题:有哪些短小精悍的好书推荐? 如果只推荐一本计算机类的神书,那必然是<编码:隐匿在计算机软硬件背后的语言>. 渴望交流是大多数人的天性.在本书中,&quo ...
- 编码:隐匿在计算机软硬件背后的语言(7)--存储器组织
在上一篇文章编码:隐匿在计算机软硬件背后的语言(6)--反馈与触发器中,我们知道一个反向器.两个与门和两个或非门可以构成一个D型电平触发器.它可以存储一位信息,为了表达地更清晰,我们把输入端和输出端重 ...
- 编码:隐匿在计算机软硬件背后的语言(2)--二进制
1比特是可能存在的最小的信息量,任何小于1比特的内容根本算不上是信息. 信息是指多个可能性中的一种. 最常见的二进制数的表现形式也许就是无处不在的通用产品代码(UPC,Universal Produc ...
- 《编码:隐匿在计算机软硬件背后的语言(Code:The Hidden Language of Computer Hardware and Software)》读书笔记
声明 该文章是阅读<编码:隐匿在计算机软硬件背后的语言>一书之后整理出的读书笔记.若有错误,还需继续修正与增删. Preface 作者Charles Petzold是Windows编程界的 ...
- 【JS】隐匿在计算机软硬件背后的语言
在重温<编码:隐匿在计算机软硬件背后的语言>第12章--二进制加法器时,心血来潮用JS写了一个模拟串行加法器. 测试断言工具TestUtils.js function assertTrue ...
最新文章
- 用python管理自己的密码
- 亿级流量治理系列:常用的限流算法有哪些?
- springboot数据源配置属性
- 预加载系列一:DNS Prefetching 的正确使用姿势
- 汇编实验4.1文件代号下的文件管理中为什么buf_size为80而buf可以容纳200个字节,矛盾吗?(不矛盾)
- php 获取http headers
- 关闭 进程_关闭一个进程 锐龙CPU骤然降温22.5!
- 如何在Windows 10上限制Wi​​ndows Update的下载带宽
- win7系统一直反复重启_iPhone7开机白苹果反复重启进不了系统维修过程
- response 设置头的类型 (转)
- Solana 交易执行机制
- php结合nginx,mysql
- Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(4):验证代码并编写自己的device
- 小米6不显示与电脑连接到服务器,小米6怎么连接上电脑连不上怎么办
- FISCO-BCOS平台,搭建第一个区块链应用
- mysql导出到excel方法汇总
- 什么是缓存雪崩、击穿、穿透?
- linux notifier的理解和应用
- Ubuntu 常用小命令(持续更新~)
- [内附完整源码和文档] 基于Java的个人通讯录管理系统