前言

起因是在复习计算机网络的时候,遇到了一个曼彻斯特编码的问题,这个是计算机网络物理层的时候会遇到的的问题。关于曼彻斯特编码的应用请看这段摘自Wiki百科的:

曼彻斯特编码被物理层用来编码一个同步位流的时钟和数据。因此,曼彻斯特编码被用在以太网媒介系统中。曼彻斯特编码提供一个简单的方式给编码简单的二进制序列而没有长的周期及转换级别,因而防止时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误。在这个技术下,实际上的二进制数据被传输通过这个电缆,不是作为一个序列的逻辑1或0来发送的(NRZ)。与NRZ相反,这些位被转换为一个稍微不同的格式,它通过使用直接的二进制编码。[1]

曼彻斯特编码还被用于局域网传输。[1]

其实啊,主要是考试题目要出信号图的编码题,就像下面这样的

于是就有个想法想找本书系统的学一下编码什么什么的,然后就买了一本带“编码”两个字的这本书

意料之外的编码

从回到家后开始看看了八天,大体上是看完了。的确是编码,但是没有曼彻斯特编码有关的内容。作者是Charles Petzold,这人可以百度或者谷歌的到。他写的这本书的流程是一个演进式的,前一个章节式下一个或者后续章节的基础。说是讲编码,确实是讲了编码,二进制的代数系统,一开始用的摩尔斯电码、布莱叶盲文。不过出乎预料的是他用短短的篇幅构建了一台计算机,是计算机而不是计算器。仔细看看标题,“隐匿在计算机软硬件背后的语言”,情理之中,意料之外。

这是一本奇书

没错在这里我就要开始吹这本书了!

这是一本奇书,我在这里再说一次!

第一个“奇”在于,这本书涉及的领域。这本书要说出生的话,是具有纯种的理工科血统的。其中涉及了数学、物理、化学、计算机结构体系、数字电路、关系代数、汇编语言。

第二个“奇”在于,将上述的各个学个给串联了以来,成为构成计算机不可缺少的,理论技术上的一环。这里特别想引用乔帮主的一句名言:

“你不能在展望未来的时候把点点滴滴串连起来;你只能在回顾的时候把它们联系起来。所以你必须相信,这些点会在你的未来以某种方式连接起来。你必须相信某些东西——你的勇气、命运、生命、因缘。因为相信这些点滴会在人生的路上连接起来,会给你跟随自己内心的信心,即使它会引导你离开陈腐的道路,这将使一切变得不同。” ——————Steven Paul Jobs

一个接着一个的惊喜

从电灯炮的简单电路开始,到电磁体、电报技术的发展、继电器(Relays)的出现!由继电器组成的逻辑门电路,构成了更为有作用的功能单元:加法器、计数器、选择器、触发器、译码器。数据可以被存储在特定的功能单元之中,能被其他功能单元所使用,用来计算和传递!

相应的作者坐观历史的演进,从继电器(Relays)到真空管(Vacuum Tube),再到现在集成电路(IC)的基础——晶体管(Transistor)。尽管材料的进步,导致变化的发生,数字电路中的逻辑门永远都能为这些东西里注入灵魂!

存储的出现,编码指令能被存储,这个简易的计算装置能够进行自动化操作。Jump指令的出现,真正的让这个计算装置从计算器变成了计算器!指令和数据在RAM中存储,被顺序的执行,Jump让其能够在地址中让执行流跳转,变得不在只能执行一个“计算过程”。编码真的做到了让一堆通了电的器件化腐朽为神奇!

总结

看这本书是一场有浓厚回味的旅程。作者的文笔将复杂变得能让常人理解,我想这也是作者被成为大师的原因之一。大学期间,学过了之前提到的几门课程,总觉得不得要领,不知道学了能干什么,正是这本书展示了所学的知识所用的地方。让我心中的“点”,逐渐的能够连成“线”,期待能够形成怎样的图形。

隐藏在计算机软硬件,隐匿在计算机软硬件背后的语言相关推荐

  1. 编码:隐匿在计算机软硬件背后的语言(7)--存储器组织

    在上一篇文章编码:隐匿在计算机软硬件背后的语言(6)--反馈与触发器中,我们知道一个反向器.两个与门和两个或非门可以构成一个D型电平触发器.它可以存储一位信息,为了表达地更清晰,我们把输入端和输出端重 ...

  2. 《编码隐藏在计算机软硬件背后的语言》读感

    如果把有关JAVA这类的书据比喻成武侠小说中的擒拿手,SHH比喻成降龙十八掌,那么<编码隐藏在计算机软硬件背后的语言>这本书无疑是计算机行业的内功心法,让人能从最简单的信息产生,编码再到逻 ...

  3. 编码——隐匿在计算机软硬件背后的语言上

    编码:隐匿在计算机软硬件背后的语言是讲述计算机工作原理的.不过,你千万不要因为"工作原理"之类的字眼就武断地认为,它是晦涩而难懂的.作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述 ...

  4. 编码:隐匿在计算机软硬件背后的语言(2)--二进制

    1比特是可能存在的最小的信息量,任何小于1比特的内容根本算不上是信息. 信息是指多个可能性中的一种. 最常见的二进制数的表现形式也许就是无处不在的通用产品代码(UPC,Universal Produc ...

  5. 【JS】隐匿在计算机软硬件背后的语言

    在重温<编码:隐匿在计算机软硬件背后的语言>第12章--二进制加法器时,心血来潮用JS写了一个模拟串行加法器. 测试断言工具TestUtils.js function assertTrue ...

  6. 如何用继电器实现逻辑门(与或非门)- 编码隐匿在计算机软硬件背后的语言读后感

    首先了解一下继电器,说起继电器就不得聊一下电报机.(想直接了解如何实现逻辑门的直接往下翻,不过还是推荐看一下为什么会产生逻辑门,加深印象) 摩尔斯(发明摩尔斯密码的人)在1836年通知专利局,他发明了 ...

  7. 计算机神书『编码:隐匿在计算机软硬件背后的语言』

    在知乎回答了一个关于书籍推荐的问题:有哪些短小精悍的好书推荐? 如果只推荐一本计算机类的神书,那必然是<编码:隐匿在计算机软硬件背后的语言>. 渴望交流是大多数人的天性.在本书中,&quo ...

  8. 《编码:隐匿在计算机软硬件背后的语言(Code:The Hidden Language of Computer Hardware and Software)》读书笔记

    声明 该文章是阅读<编码:隐匿在计算机软硬件背后的语言>一书之后整理出的读书笔记.若有错误,还需继续修正与增删. Preface 作者Charles Petzold是Windows编程界的 ...

  9. 读《编码:隐匿在计算机软硬件背后的语言》有感

    <编码>这本书真是非常适合所有现代人,大家都生活在一个信息革命的世界里,我们所用的电脑,智能手机这些高端玩意到底是怎么来的,难道突然知识爆炸性的出现在先辈的脑里了吗?诚然20世纪科技的发展 ...

  10. 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》

    浅谈这本书 如果让我做一个排名,我想这本书,可以在我的顶级程序员书单系列排名第8-10位.这本书讲述了从最简单的加法器到触发器到存储器到一台计算机demo的搭建,整本书的语言都十分通俗易懂,作者简直就 ...

最新文章

  1. mysql显示错误代码1067_每日一记--Mysql错误代码1067
  2. windows mobile设置插移动卡没反应_u盘插入电脑没反应怎么办 u盘插入电脑没反应解决方法【详解】...
  3. springboot2.0入门(helloworld)
  4. RUP大讲堂(第五讲)-基于用例的需求工程技术
  5. ML/DL-复习笔记【九】- 神经网络中各层的计算量与参数量
  6. 第7章 XSL高级应用
  7. Java证书工具keytool用法总结
  8. 后勤管理系统-在线报修系统
  9. 一篇适合小白的Shiro教程
  10. linux 7 开机启动脚本,centos7 超简单实现开机自动启动多脚本管理
  11. Spring Cloud Eureka源码分析之心跳续约及自我保护机制
  12. 曹金明:Zynga大败局--数据控是如何把游戏做败的
  13. channel.QueueDeclare各个参数详解
  14. char *p = hello world!
  15. 三刷红宝书之 JavaScript 的引用类型
  16. Arduino uno控制蜂鸣器播放音乐(以《大鱼》为例)
  17. 网络爬虫:爬取某地区短租房信息
  18. 魔兽地图编辑器插件YDWE的使用与基本设置8 游戏平衡常数
  19. 项目总结(css3中的阴影效果)
  20. Mac开发-暗黑主题禁用以及适配

热门文章

  1. PC端微信打不开小程序解决
  2. android mapping文件作用,Android打包代码混淆后的Mapping文件路径
  3. HDU 2586 How far away ? tarjan算法求LCA
  4. html css js php是否区分大小写 总结
  5. java的regex_Java的Regex --正则表达式
  6. 软件文档写作学习总结——绪论
  7. 纯html5单击箭头切换图片,简单的实现点击箭头图片切换的js代码
  8. Java使用PDFBox API实现对PDF文档进行关键字检索
  9. web 系统发展历程
  10. Java解析X509证书代码