劳动节程序员应该知道的知识——计算机1

简介: 劳动节程序员应该知道的知识——计算机

前言

现在AI崛起,计算机已经成为我们不可或缺的一部分,几乎在所有行业和领域都有广泛应用

五一已经快要过去了,程序员们应该都放假了,那我们是不是应该去了解了解我们的伙伴——计算机,了去解计算机是怎样工作的?

            下面我会尽量使用通俗的语言去解释计算机是如何工作的,希望让大家了解计算机的核心工作机制后,打破计算机的神秘感,并且有利于理解我们平时编程时的一些行为、动作的历史渊源。

我们先来了解了解计算机的发展史!

计算机发展史

计算的需求在人类的历史中是广泛存在的,发展大体经历了从一般计算工具机械计算机到目前的电子计算机的发展历程。


其实计算机在很早以前就处处是它的影子:


7244a5acd60a4752a97e4f73980c79c9.png


8a0170444c1f758fe9661217455b3a3a.jpg


计算机发展的主要历程

  1. 机械计算时代:在19世纪和20世纪初期,人们使用机械装置进行计算。最早的计算机由查尔斯·巴贝奇设计,称为“分析机”。但是,这种机械计算机很大,准确度也不高。
  2. 电子管计算时代:在20世纪30年代,电子管的发明引领了计算机的发展。美国的阿塔纳索夫-贝瑞计算机(Atanasoff-Berry Computer)被认为是第一台真正的电子计算机。而艾伦·图灵设计的英国Bombe解密设备也是采用电子管技术。
  3. 晶体管计算时代:20世纪50年代,晶体管取代了电子管,成为新一代计算机的核心部件。这使得计算机变得更小、更快、更可靠和更经济。IBM公司的System/360系列计算机,是晶体管计算机的杰出代表。
  4. 集成电路计算时代:20世纪60年代,集成电路的发明带来了计算机革命。集成电路是将多个晶体管、电阻器、电容器等元件集成在一起形成的微型电路板,可以大幅度压缩计算机的体积和成本。DEC公司的PDP-8和IBM公司的System/370系列计算机是典型的使用集成电路技术的计算机。
  5. 微处理器计算时代:20世纪70年代,Intel公司推出了第一款微处理器芯片(Intel 4004),这标志着个人计算机的诞生。微处理器是一种由CPU、控制单元和存储器组成的芯片,它使得整个计算机系统可以集成在一个小型设备中。Apple II和IBM PC是微处理器计算机的代表。
  6. 个人计算机时代:20世纪80年代,个人计算机开始走向成熟。IBM PC及其兼容机成为最主流的个人计算机,Macintosh则成为了另一种受欢迎的操作系统。计算机逐渐普及到家庭和办公场所,从此改变了人们的工作和生活方式。
  7. 互联网时代:20世纪90年代,互联网的普及和发展彻底改变了计算机的应用方式。人们可以通过互联网进行电子邮件、在线购物、社交媒体等活动,计算机已经成为人们生活和工作中不可或缺的一部分。
  8. 移动计算时代:21世纪以来,移动计算开始崛起。智能手机和平板电脑的出现,使得人们随时随地可以进行各种计算和通讯活动。此外,云计算技术也逐渐发展壮大,为人们提供更方便、高效、安全的计算资源。
  9. 人类对计算的需求,驱动我们不断的发明、改善计算机。目前这个时代是  电子计算机  的时代,发展的 潮流是:更快速、更稳定、更微型。

图灵与冯诺依曼

说起计算机我们首先要了解的就是这两位祖师爷,一位是从理论上奠定了计算机基础,另一位是在发明电子计算机中所起到关键性作用,被西方人誉为“计算机之父”。

图灵

ebd0de409bd4cf71ae83b9b61e9b4676.jpg

谁年轻时不是一个帅哥呢?😃

人物经历

艾伦·麦席森·图灵(Alan Mathison Turing)是一位英国数学家、逻辑学家和密码学家,被誉为计算机科学之父。他的一生经历充满了传奇色彩。

1912年6月23日,图灵出生在英国的伦敦,是一个富有的家庭的儿子。在小时候,他就表现出了超群的智力和对数学的天赋。他自幼勤奋好学,阅读了大量的数学书籍和论文,十分喜欢研究数学问题。

1929年,图灵考入剑桥大学国王学院学习数学,并在1931年获得了数学荣誉学士学位。随后,他继续在剑桥大学攻读博士学位,并在1936年发表了《可计算数及其在问题上的应用》一文,提出了“图灵机”的概念,这是计算机科学中一个非常重要的理论基础。

到了二战期间,图灵加入了英国情报局,负责破解德国的密码系统。他主导开发了一种名为“图灵机器”的机械设备,可以自动破解德国军方的密电。这项工作对于英国在二战期间的胜利起到了重要的作用。

战争结束后,图灵继续在剑桥大学从事计算机和人工智能的研究。他是第一个提出“人工智能”一词的人,也是计算机科学中最有影响力、最具创造性的人物之一。不幸的是,他的生命经历被彩虹情色事件打破。1952年,他因为涉嫌同性恋而被定罪,被迫接受荷尔蒙治疗,并失去了国家安全机构的任职资格。在此背景下,1954年6月7日,图灵在自己家中去世,死因是氰化钾中毒,享年42岁。


直到20世纪70年代,才有越来越多的人们开始重视图灵的成就和贡献。1983年,英国政府正式宣布向图灵道歉,称他是一位“伟大的数学家”,并对他所受到的不公当场表示遗憾。1999年,在《时代周刊》评选的“20世纪最杰出100人”名单上,图灵名列第46位。


总的来说,图灵是一位伟大的数学家、逻辑学家和密码学家,他的成就和贡献影响了整个计算机科学领域,并为人工智能的发展奠定了基础。他的一生经历虽然注定有些不幸和戏剧性,但是他所留下来的精神和思想,将永存于计算机科学史上。

图灵机



4aabb83a269979171ab75f2e30f9462c.jpg

图灵机,又称图灵计算机指一个抽象的机器,于1936年提出的一种抽象的计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动 。

想详细了解可看: 什么是图灵机 - 知乎 (zhihu.com)

冯诺依曼


1d428e9ae6877fff8a23acae61e11400.png

网上流传甚广的一张图:年轻人,你渴望力量吗?🤩(可见大家对祖师爷的崇拜



0f97b1e985b02254746ba9b63338035f.jpg


人物经历

约翰·冯·诺依曼(John von Neumann)是一位匈牙利出生的美国数学家、物理学家和计算机科学家,也是现代计算机体系结构和程序设计的重要先驱之一。

1903年12月28日,冯诺依曼出生在匈牙利的布达佩斯市,是一个富裕的犹太人家庭的孩子。他自幼表现出了卓越的智力和对数学的天赋。在成长过程中,他接触了许多不同领域的知识,并表现出了对物理学、化学和哲学等方面的浓厚兴趣。


1921年,冯诺依曼进入柏林大学学习化学,并于1925年获得了博士学位。随后,他转向了数学领域,并成为了德国著名数学家希尔伯特的学生之一。在此期间,他发表了一系列关于量子力学、矩阵论和函数分析等方面的论文,展现了卓越的数学才华。


1930年,冯诺依曼来到美国,并开始在普林斯顿大学担任数学系教授。在普林斯顿工作的期间,他与爱因斯坦等人合作,成为了美国原子弹计划的顾问之一,并对核武器的研制做出了重要贡献。


二战结束后,冯诺依曼继续从事计算机和物理学的研究,并提出了现代计算机体系结构的重要概念(冯诺依曼体系)。他是第一个将计算机内部存储程序的思想化为实际方案的人,并提出了“存储程序计算机”和“指令集架构”的概念。这些概念对现代计算机的设计和开发产生了深远的影响,也为冯诺依曼赢得了“计算机科学之父”的美誉。


1955年,冯诺依曼被诊断出罕见的骨髓增生性疾病,并于当年2月8日去世,享年51岁。他留下来的贡献和成就不仅影响了计算机科学领域,也影响了物理学、数学和其他许多领域的发展。


总的来说,冯诺依曼的一生经历充满了传奇色彩。他是一位极具才华的数学家、物理学家和计算机科学家,为现代计算机体系结构和程序设计的发展做出了重要贡献。他对于人类思维方式的影响和贡献将永存于历史长河中。


上面说到冯诺依曼体系,直到现在大部分计算机仍然遵守 冯诺依曼体系结构。下面我就来讲讲冯诺依曼体系

冯诺依曼体系

冯诺依曼体系是一种计算机系统的结构和工作原理,也称为冯诺依曼计算机体系结构。该体系结构由匈牙利数学家约翰·冯诺伊曼于1945年提出,被誉为现代计算机体系结构的奠基之作。

冯诺依曼体系结构主要分为四个部分:存储器、算术逻辑单元(ALU)、控制器和输入/输出(I/O)设备。其中,存储器用于存储指令和数据,ALU负责进行算术、逻辑运算等操作,控制器则负责控制指令的执行过程,而I/O设备则用于与外部世界交互。

在冯诺依曼体系结构中,所有指令和数据都以二进制形式存储在内存中,CPU通过总线来读取和写入内存中的数据。CPU可以根据指令集中的指令来执行不同的操作,如加法、减法、乘法、除法等算术运算,以及逻辑运算、比较运算、移位等操作。同时,CPU还可以通过控制器来控制程序的执行流程,实现分支、循环、函数调用等功能。所有这些操作都是由指令集中的指令来实现的。

冯·诺依曼体系的一大优势是其具有较高的通用性,即可以运行各种不同的程序。同时,由于其存储程序的特性,使得修改程序变得更加方便,这是其他类型计算机体系结构所不具备的优势之一。

冯诺依曼体系结构的设计使得计算机能够以通用的方式进行程序设计,并且能够将计算机内部的运算和存储空间分离开来。这对于现代计算机科学的发展具有历史性的意义。同时,冯诺依曼体系结构的出现也标志着计算机科学从硬件设计上实现了程序可重用的革命。

我只是简单介绍了一下冯诺依曼体系,想详细了解的小伙伴可看三分钟带你了解冯.诺依曼结构 - 知乎 (zhihu.com)



f65669fdc6a785f958d14eceb8249b02.png

  • CPU 中央处理器: 进行算术运算和逻辑判断.
  • 存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)
  • 输入设备: 用户给计算机发号施令的设备.
  • 输出设备: 计算机用户汇报结果的设备.

计算机小常识:


针对存储空间

硬盘> 内存>> CPU

针对数据访问速度

CPU >> 内存> 硬盘

计算机的工作原理

计算机的工作原理可以简单地概括为:输入、处理和输出。

  1. 输入(Input):计算机需要从外界获取数据和指令,例如通过键盘、鼠标、扫描仪等设备输入数据,并通过网络或存储设备读取程序。
  2. 处理(Processing):计算机对输入的数据和指令进行处理,并产生结果。处理过程包括数据运算、逻辑判断、控制流程等操作。这是计算机最核心的功能,主要由 CPU(中央处理器)和内存组成,并通过各种输入/输出设备与用户交互。
  1. 输出(Output):计算机将处理结果输出给用户,如显示器、音频设备、打印机等。用户可以看到或听到计算机处理的结果。

在计算机内部,数据和指令通常以二进制形式表示和处理。二进制是一种只包含0和1的数字系统,与十进制相比,它可以更直接地映射到计算机存储器中的电子信号。数据和指令都可以被存储在计算机内存(RAM)中,由CPU通过总线访问。

计算机的工作原理基于通用图灵机模型。这个模型定义了一个机器状态、指令集、数据格式和输入输出方式的规范,可应用于任何计算机体系结构。实际上,现代计算机体系结构包括 CPU、内存、I/O 控制器等组件,并使用操作系统来协调它们的工作。操作系统提供了许多高级函数和服务,隐藏了底层硬件细节,使得程序员可以更容易地编写程序。


可以看出cpu是计算机的灵魂所在,那下面我们来认识认识cpu,看看cpu是如何工作的。

cpu的基本工作流程



20d1056cd0ab0fe5d9df55cc2361ce47.jpg


CPU(中央处理器)是计算机的核心部件,它的工作流程可以分为以下三个步骤。


       1、取指令阶段(Instruction Fetch)🍉


CPU从内存中读取下一条要执行的指令,并将其存储在指令寄存器中。这些指令按照地址顺序存放在内存中,由程序计数器(Program Counter,PC)来记录下一条指令的地址。取指令阶段通常需要多次执行,以读取多个指令。


       2、解码阶段(Instruction Decode)🍉


CPU从指令寄存器中读取指令,并对其进行解码。在这个阶段,CPU会确定该指令需要对哪些数据进行操作,以及操作的方式和结果存放的位置等信息。这些信息被存储在控制单元的控制信号中,用于指导CPU后续的执行过程。


       3、执行阶段(Execution)🍉


CPU根据指令解码阶段提供的控制信号,执行相应的操作,并将结果存储到寄存器或内存中。执行阶段包括算术逻辑运算、数据传输和控制转移等操作。其中,算术逻辑运算包括加法、减法、乘法、除法、位运算和逻辑运算等;数据传输包括从寄存器或内存中读取数据,以及将数据写入寄存器或内存中;控制转移包括跳转、分支和函数调用等操作。


以上三个阶段构成了CPU的主要工作流程。在实际应用中,为了提高CPU的性能和效率,通常会采用流水线(Pipeline)技术,使多条指令可以同时执行不同的阶段。这样可以大大缩短执行时间,提高计算机的运行速度。


6a075d1fef154b71be1459e5b3d7f120.png

当然,电子计算机中的CPU 可不像我们刚才那样,靠自己来驱动这个周期的运转,而是靠背后一个时钟来进行周期驱动的。

时钟频率(又译:时钟频率速度,英语: clock rate),是指同步电路中时钟的基础频率,它以“若干次周期每秒”来度量,量度单位采用 SI单位赫兹(Hz)。它是评定 CPU性能的重要指标。一般来说主频数字值越大越好。

时钟频率_百度百科 (baidu.com)

时钟频率是个什么概念?? - 知乎


6b43d4f0da4b4b7e80d33aab57e7a93c.png

cpu要完成上面工作,需要逻辑门算术逻辑单元 ALU、寄存器(Register) 和内存(RAM)、控制单元 CU、指令多种组件相互配合,可能有人不认识这些组件,下面我就来介绍介绍它们。

逻辑门

电子开关 —— 机械继电器(Mechanical Relay)

机械继电器,也称为电磁继电器,是一种基于电磁原理工作的电气开关。它由线圈、铁芯、触点和弹簧等组成。当线圈通电时,会产生一个磁场,使得铁芯被吸引,同时触点也会跟随移动。当线圈断电时,铁芯会失去磁性,触点则会回到原位。通过这样的方式,机械继电器可以实现电路的开关控制。机械继电器可以用于各种电气设备中,如灯泡、家用电器、电机和汽车电气系统等


9e3e456e4a2a41ebb9dc0db67d85286e.png

门电路(Gate Circuit)

门电路指的是一种基本逻辑电路,用于实现不同的逻辑函数。门电路通常由晶体管、二极管和其他电子元件组成。它们分为以下几种类型:

  1. 与门(AND Gate):当所有输入均为高电平时,输出为高电平或门(OR Gate):当任一输入为高电平时,输出为高电平。
  2. 非门(NOT Gate):输入为高电平时,输出为低电平;输入为低电平时,输出为高电平。
  3. 异或门(XOR Gate):当输入相同时,输出为低电平;当输入不同时,输出为高电平。
  4. 与非门(NAND Gate):当所有输入均为高电平时,输出为低电平。
  5. 或非门(NOR Gate):当任一输入为高电平时,输出为低电平。
  6. 除了以上提到的基本门电路之外,还有许多其他的门电路,如三态门(Tri-state Gate)、模拟开关(Analog Switch)、触发器(Flip-flop)等。在数字电子学中,门电路是构建其他数字电路的基础。



c4a823c38bc79bbded854be300495555.png



目录
相关文章
|
10月前
|
存储 NoSQL 网络协议
关于操作系统、计算机组成原理、编译系统、数据库原理、计算机网络原理总结
关于操作系统、计算机组成原理、编译系统、数据库原理、计算机网络原理总结
106 0
|
8月前
|
数据处理
计算机的基础知识1
计算机的基础知识1
28 0
|
11月前
|
存储 Java Unix
程序员必知必会之计算机系统概论
程序员必知必会之计算机系统概论
75 0
|
存储 安全 程序员
劳动节程序员应该知道的知识——计算机2
劳动节程序员应该知道的知识——计算机
105 0
|
存储 编译器 C语言
计算机底层知识之汇编语言
汇编语言和本地代码是一一对应的 推荐阅读指数⭐️⭐️⭐️⭐️⭐️ 不会转换成本地代码的伪指令 推荐阅读指数 ⭐️⭐️⭐️ 汇编语言的语法是操作码 + 操作数 推荐阅读指数⭐️⭐️⭐️⭐️⭐️ mov指令 推荐阅读指数 ⭐️⭐️⭐️ 对栈进行push 和 pop 推荐阅读指数 ⭐️⭐️⭐️ 函数调用机制 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 函数内部的处理 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 全局变量用的内存空间 推荐阅读指数 ⭐️⭐️⭐️ 循环处理的实现方法 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️
计算机底层知识之汇编语言
|
算法 编译器 数据格式
计算机组成原理/计算机硬件基础 第四章
计算机组成原理/计算机硬件基础 第四章
158 0
计算机组成原理/计算机硬件基础 第四章
计算机组成原理(一)系统概论
计算机组成原理(一)系统概论
121 0
计算机组成原理,计算机系统概论,计算机基本组成
计算机组成原理,计算机系统概论,计算机基本组成
130 0
计算机组成原理,计算机系统概论,计算机基本组成
|
算法 芯片
华南理工大学计算机组成原理重点复习
华南理工大学计算机组成原理重点复习
98 0
|
存储 算法
计算机组成原理学习-哈工大《计算机组成原理》第三章
计算机组成原理学习-哈工大《计算机组成原理》第三章
计算机组成原理学习-哈工大《计算机组成原理》第三章