个人主页北极的代码欢迎来访作者简介java后端学习者❄️个人专栏苍穹外卖日记SSM框架深入JavaWeb✨命运的结局尽可永在不屈的挑战却不可须臾或缺前言大家好我是代码不加冰今天给大家分享一下我看《计算机是如何跑起来》一书的收获和理解主要是关于计算机组成原理的当然还是了解为主这本书讲的挺简单的也就是常说的四大件之一。我们每天都在使用计算机从智能手机到笔记本电脑从网上购物到人工智能聊天。然而对于绝大多数人来说计算机内部是如何运作的仍然是一个神秘的黑盒。我们按下电源键屏幕亮了我们点击图标程序运行了。这中间到底发生了什么《计算机是怎样跑起来的》这本书的第一章正是要打破这个黑盒将计算机还原到它最本质的三个根本性原则。摘要本章的核心观点在于尽管现代技术复杂多变但计算机的根本原理从未改变。只要掌握了以下三大原则无论未来出现多么新潮的技术名词你都能迅速看透其本质。这三大原则分别是硬件基础计算机是执行输入、运算、输出的机器。软件本质程序是指令和数据的集合。思维差异计算机的处理方式有时与人们的思维习惯不同即“万物皆数字”。下面我们将逐一深入解析这三大原则。1.1 硬件的基础输入、运算、输出的三位一体现代计算机看似能够处理复杂的视频渲染、大型游戏逻辑或大数据分析但若剥开层层外壳你会发现它其实一直在重复做一件极其简单的事那就是接收输入执行运算输出结果。输入Input这是计算机获取指令或数据的途径。无论是键盘敲击的文字、鼠标移动的轨迹、麦克风收录的声音还是传感器探测的温度都属于输入。没有输入计算机就是一具没有知觉的空壳不知道自己要做什么。运算Processing/Computation这是计算机的核心价值所在。计算机收到输入后不能像电线一样直通输出它必须对数据进行“加工”。这个加工过程就是运算。它不仅仅是数学上的加减乘除还包括逻辑判断比如比较两个数谁大、数据的移动与复制等。如果一台机器只输入不运算那它就是一根没有意义的导线。输出Output这是计算机展示运算结果的方式。显示器显示画面、打印机打印文档、音箱播放音乐这些都是输出。如果只运算不输出计算机就变成了一个只进不出的“垃圾箱”毫无意义。思考实验试着用这个理论解释一下“计算器”。你按下数字键“2”和“”以及“2”这是输入芯片内部的电路进行二进制加法这是运算屏幕显示数字“4”这是输出。无论多么复杂的软件归根结底都是由这样无数个微小的“输入 - 运算 - 输出”单元组合而成的。1.2 软件的本质指令与数据的集合硬件提供了舞台而软件则是剧本。书中明确指出所谓的“程序”其实无非就是“指令”与“数据”的集合。指令Instructions指令是下达给计算机的命令。它告诉计算机接下来该做什么。比如“把A地址的数据复制到B地址”或者“比较C和D的值”。我们平时编写的代码C、Python、Java等最终都会被转换成一条条这样直白的机器指令。数据Data数据是指令执行时操作的对象。在程序中这些数据通常被称为“变量”或“常量”。例如在数学函数y f(x)中x是输入数据被操作的对象y是输出数据运算的结果而f代表的就是那一堆指令。这里的启示在于不存在没有数据只有指令的程序也不存在没有指令只有数据的程序。指令和数据是程序这枚硬币的两面。当你写好一份文档它存储在硬盘上时其实就是一段长长的数据当你双击打开它CPU就会执行文字处理软件的指令去解读并显示这段数据。1.3 思维方式的鸿沟对计算机来说一切都是数字这是初学者最容易忽略却最重要的一点。人类处理信息是模拟的、模糊的而计算机是数字的、精确的。在计算机的世界里无论你是文字、图片、声音、视频还是程序本身统统都会被转换成数字特别是0和1组成的二进制数。文字的数字化为什么敲击键盘上的“A”屏幕上就显示“A”这是因为计算机内部有一个“字符编码表”如ASCII或Unicode。在这个表中大写字母A被映射为数字65。你按下A键计算机传输的是数字65存储的是数字65显示的也是根据数字65画出来的图形。颜色的数字化在计算机里颜色由RGB红绿蓝三原色构成。如果你想显示一种“纯红色”计算机会把它表示为(R:255, G:0, B:0)。纯蓝色是(0,0,255)。这也是为什么我们说“编码”的意义所在——编码就是把我们人类能看懂的信息如文字、图片翻译成计算机能看懂的“数字”。正是因为计算机“只认数”所以它的处理逻辑往往和我们人类不太一样。人类看到“123”是一个数字看到“123abc”可能觉得是乱码但计算机会一丝不苟地根据编码规则去解读这些数字不管结果是不是你想要的。1.4 实战应用用三大原则拆解复杂技术如果不掌握这些原则我们看最新的技术文档往往会觉得晦涩难懂。书中举了一个关于微软.NET技术的例子。原文“作为.NET核心的XML Web服务使用通用技术SOAP、XML促使企业间的计算机协同工作。”拆解后原则一硬件流程所谓协同工作就是一台计算机输入数据通过网络传给另一台计算机运算最后把结果输出回来。原则二软件构成程序是指令和数据的集合所以我们需要一套规范来定义“指令”该怎么写这就是SOAP以及“数据”该是什么格式这就是XML。结果只要大家都遵守这套数字规范不同的计算机就能互相通信了。你看一旦把复杂技术分解到三大原则上它就不再神秘了。1.5 总结与预告本章的内容为我们奠定了坚实的基础硬件不复杂再牛的超级计算机也是在反复执行“输入-运算-输出”这三步。软件不神秘再庞大的软件系统拆解到最后都是“指令数据”。编码是桥梁记住“万物皆数字”你就能理解为什么计算机能处理如此多样的任务。最后书中简单预习了第二章的内容。为了支撑这三大原则的运行计算机内部必须有一套物理骨架。CPU中央处理器是负责运算的大脑内存是负责临时存储指令和数据的地方而I/O输入输出设备则是连接外部世界的接口。这三者通过总线连接在一起并在时钟信号就像心跳一样的驱动下一步步工作。下一章我们将跟随作者的步伐甚至尝试“手动”组装一台最简易的计算机看看这些冰冷的芯片到底是如何在电信号的流动中真正跑起来的。结语如果对你有帮助请点赞关注收藏我会持续更新!
计算机组成原理入门:一个公式读懂硬件、软件和数字思维
个人主页北极的代码欢迎来访作者简介java后端学习者❄️个人专栏苍穹外卖日记SSM框架深入JavaWeb✨命运的结局尽可永在不屈的挑战却不可须臾或缺前言大家好我是代码不加冰今天给大家分享一下我看《计算机是如何跑起来》一书的收获和理解主要是关于计算机组成原理的当然还是了解为主这本书讲的挺简单的也就是常说的四大件之一。我们每天都在使用计算机从智能手机到笔记本电脑从网上购物到人工智能聊天。然而对于绝大多数人来说计算机内部是如何运作的仍然是一个神秘的黑盒。我们按下电源键屏幕亮了我们点击图标程序运行了。这中间到底发生了什么《计算机是怎样跑起来的》这本书的第一章正是要打破这个黑盒将计算机还原到它最本质的三个根本性原则。摘要本章的核心观点在于尽管现代技术复杂多变但计算机的根本原理从未改变。只要掌握了以下三大原则无论未来出现多么新潮的技术名词你都能迅速看透其本质。这三大原则分别是硬件基础计算机是执行输入、运算、输出的机器。软件本质程序是指令和数据的集合。思维差异计算机的处理方式有时与人们的思维习惯不同即“万物皆数字”。下面我们将逐一深入解析这三大原则。1.1 硬件的基础输入、运算、输出的三位一体现代计算机看似能够处理复杂的视频渲染、大型游戏逻辑或大数据分析但若剥开层层外壳你会发现它其实一直在重复做一件极其简单的事那就是接收输入执行运算输出结果。输入Input这是计算机获取指令或数据的途径。无论是键盘敲击的文字、鼠标移动的轨迹、麦克风收录的声音还是传感器探测的温度都属于输入。没有输入计算机就是一具没有知觉的空壳不知道自己要做什么。运算Processing/Computation这是计算机的核心价值所在。计算机收到输入后不能像电线一样直通输出它必须对数据进行“加工”。这个加工过程就是运算。它不仅仅是数学上的加减乘除还包括逻辑判断比如比较两个数谁大、数据的移动与复制等。如果一台机器只输入不运算那它就是一根没有意义的导线。输出Output这是计算机展示运算结果的方式。显示器显示画面、打印机打印文档、音箱播放音乐这些都是输出。如果只运算不输出计算机就变成了一个只进不出的“垃圾箱”毫无意义。思考实验试着用这个理论解释一下“计算器”。你按下数字键“2”和“”以及“2”这是输入芯片内部的电路进行二进制加法这是运算屏幕显示数字“4”这是输出。无论多么复杂的软件归根结底都是由这样无数个微小的“输入 - 运算 - 输出”单元组合而成的。1.2 软件的本质指令与数据的集合硬件提供了舞台而软件则是剧本。书中明确指出所谓的“程序”其实无非就是“指令”与“数据”的集合。指令Instructions指令是下达给计算机的命令。它告诉计算机接下来该做什么。比如“把A地址的数据复制到B地址”或者“比较C和D的值”。我们平时编写的代码C、Python、Java等最终都会被转换成一条条这样直白的机器指令。数据Data数据是指令执行时操作的对象。在程序中这些数据通常被称为“变量”或“常量”。例如在数学函数y f(x)中x是输入数据被操作的对象y是输出数据运算的结果而f代表的就是那一堆指令。这里的启示在于不存在没有数据只有指令的程序也不存在没有指令只有数据的程序。指令和数据是程序这枚硬币的两面。当你写好一份文档它存储在硬盘上时其实就是一段长长的数据当你双击打开它CPU就会执行文字处理软件的指令去解读并显示这段数据。1.3 思维方式的鸿沟对计算机来说一切都是数字这是初学者最容易忽略却最重要的一点。人类处理信息是模拟的、模糊的而计算机是数字的、精确的。在计算机的世界里无论你是文字、图片、声音、视频还是程序本身统统都会被转换成数字特别是0和1组成的二进制数。文字的数字化为什么敲击键盘上的“A”屏幕上就显示“A”这是因为计算机内部有一个“字符编码表”如ASCII或Unicode。在这个表中大写字母A被映射为数字65。你按下A键计算机传输的是数字65存储的是数字65显示的也是根据数字65画出来的图形。颜色的数字化在计算机里颜色由RGB红绿蓝三原色构成。如果你想显示一种“纯红色”计算机会把它表示为(R:255, G:0, B:0)。纯蓝色是(0,0,255)。这也是为什么我们说“编码”的意义所在——编码就是把我们人类能看懂的信息如文字、图片翻译成计算机能看懂的“数字”。正是因为计算机“只认数”所以它的处理逻辑往往和我们人类不太一样。人类看到“123”是一个数字看到“123abc”可能觉得是乱码但计算机会一丝不苟地根据编码规则去解读这些数字不管结果是不是你想要的。1.4 实战应用用三大原则拆解复杂技术如果不掌握这些原则我们看最新的技术文档往往会觉得晦涩难懂。书中举了一个关于微软.NET技术的例子。原文“作为.NET核心的XML Web服务使用通用技术SOAP、XML促使企业间的计算机协同工作。”拆解后原则一硬件流程所谓协同工作就是一台计算机输入数据通过网络传给另一台计算机运算最后把结果输出回来。原则二软件构成程序是指令和数据的集合所以我们需要一套规范来定义“指令”该怎么写这就是SOAP以及“数据”该是什么格式这就是XML。结果只要大家都遵守这套数字规范不同的计算机就能互相通信了。你看一旦把复杂技术分解到三大原则上它就不再神秘了。1.5 总结与预告本章的内容为我们奠定了坚实的基础硬件不复杂再牛的超级计算机也是在反复执行“输入-运算-输出”这三步。软件不神秘再庞大的软件系统拆解到最后都是“指令数据”。编码是桥梁记住“万物皆数字”你就能理解为什么计算机能处理如此多样的任务。最后书中简单预习了第二章的内容。为了支撑这三大原则的运行计算机内部必须有一套物理骨架。CPU中央处理器是负责运算的大脑内存是负责临时存储指令和数据的地方而I/O输入输出设备则是连接外部世界的接口。这三者通过总线连接在一起并在时钟信号就像心跳一样的驱动下一步步工作。下一章我们将跟随作者的步伐甚至尝试“手动”组装一台最简易的计算机看看这些冰冷的芯片到底是如何在电信号的流动中真正跑起来的。结语如果对你有帮助请点赞关注收藏我会持续更新!