计算机的历史发展及原理

简介: 计算机的历史发展及原理

一.前言

计算机的发展史可以追溯到古代的计算工具,但现代计算机的起源可以追溯到20世纪中叶的电子计算机。

二.五代计算机

  1. 第一代计算机(1940年代末到1950年代初):第一代计算机是基于真空管技术的巨型机器,如ENIAC(美国)和EDSAC(英国)。它们庞大、耗电量高,但在科学、军事和商业领域起到了重要作用。
  2. 第二代计算机(1950年代到1960年代初):第二代计算机采用了晶体管代替真空管,使计算机更小、更快、更可靠。这一时期出现了IBM 1401等商业计算机,以及COBOL和FORTRAN等高级编程语言。
  3. 第三代计算机(1960年代到1970年代中期):第三代计算机使用了集成电路(IC)技术,使得计算机更小型化、更强大、更节能。此时期的代表性计算机有IBM System/360和DEC PDP-11。
  4. 第四代计算机(1970年代中期到1980年代末):第四代计算机采用了大型集成电路(LSI)和超大规模集成电路(VLSI)技术,使计算机更小、更快、更经济。个人计算机(PC)开始出现,如Apple II和IBM PC。
  5. 第五代计算机(从1980年代末到现在):第五代计算机以进一步的微电子技术发展为特征,如互联网、个人数字助理(PDA)、智能手机、平板电脑等。同时,也发展出了更多的计算机应用领域,如人工智能、大数据分析等。

三.计算机之父

计算机是有许多人一起完成,并不是所谓的一个人,所以计算机之父是一个广泛的群体,在这里提几个代表性人物

  1. Charles Babbage(查尔斯·巴贝奇):他是19世纪初叶的英国数学家和工程师,被称为计算机科学与计算机工程的奠基人之一。他设计了“分析引擎”,被认为是世界上第一台通用计算机的雏形。
  2. Ada Lovelace(阿达·洛夫莱斯):她是查尔斯·巴贝奇的合作者,也是19世纪的英国贵族、数学家和作家。她为巴贝奇的分析引擎编写了一系列笔记,其中探讨了计算机概念和算法,被认为是世界上第一个程序员。
  3. Alan Turing(艾伦·图灵):他是20世纪最重要的数学家和计算机科学家之一。他在第二次世界大战期间帮助破译敌方的加密通信,提出了图灵机的概念,被认为是通用计算机的理论基础,并对计算机科学和人工智能的发展做出了巨大贡献。

四.计算机的原理

计算机的原理是基于一系列的硬件和软件组件相互协作实现数据处理、存储和传输的过程。在基本的层面上,计算机的原理可以分为以下几个关键部分:

1. 输入(Input):计算机通过各种输入设备(如键盘、鼠标、触摸屏等)接收外部的指令和数据,并将其转换成计算机能够理解和处理的形式。

2. 处理(Processing):计算机的处理过程中,中央处理器(CPU)是关键的组件。CPU 将接收到的指令进行解析,并执行相应的操作,包括算术运算、逻辑运算和控制指令。

3. 存储(Storage):计算机使用存储器(如主存储器和辅助存储器)来存储数据、程序和运算结果。主存储器(如随机存取存储器RAM)用于临时存储数据和程序,而辅助存储器(如硬盘、固态驱动器)用于长期存储大量的数据和程序。

4. 输出(Output):计算机通过输出设备(如显示器、打印机、扬声器等)将处理后的数据和结果显示或输出给用户。

5. 控制(Control):计算机的控制部分负责协调和控制各个组件的工作,确保指令和数据按照正确的顺序进行处理。这也包括操作系统的功能,管理计算机资源和提供用户界面。

6. 数据传输(Data transfer):计算机通过数据总线进行内部和外部的数据传输,实现不同组件之间的信息交流。

此外,计算机的原理还包括计算机的基本组成部件(如中央处理器、内存、磁盘等)、编程和软件的作用、操作系统的管理和调度等方面。

总的来说,计算机的原理就是通过输入、处理、存储、输出、控制和数据传输等环节,将用户的指令和数据转化为可处理的形式,并经过计算和操作得到结果,并最终通过输出设备呈现给用户。这个过程涉及到硬件和软件之间的紧密协作,以实现各种计算和操作的功能。


五.计算机的组成部分

它由硬件和软件两部分组成。

5.1  硬件:

计算机的硬件部分包括以下几个主要组件:
  - 中央处理器(CPU):它是计算机的大脑,负责执行指令、控制和处理数据。
  - 存储器:包括主存储器(如随机存取存储器RAM)和辅助存储器(如硬盘和固态驱动器),用于存储数据和程序
  - 输入设备:例如键盘、鼠标、触摸屏等,用于将用户的命令和数据输入到计算机中。
  - 输出设备:例如显示器、打印机、扬声器等,用于将计算机处理的结果显示给用户。
  - 主板:它承载了CPU、内存、扩展卡和其他硬件组件之间的连接。
  - 扩展卡和接口:用于连接外部设备,如图形卡、声卡、网络卡等。

.5.2.   软件:

计算机的软件部分包括系统软件和应用软件
  - 系统软件:操作系统是最基本的系统软件,它管理和控制计算机的硬件和软件资源。其他系统软件包括编程语言、编译器、驱动程序等。
  - 应用软件:应用软件是用来完成各种特定任务的程序。例如,办公套件(如Microsoft Office),图像处理软件,游戏软件等。

计算机通过执行指令集和算法来进行各种操作,包括数据输入、存储、处理和输出。它们具有高速运算能力、精确性、多任务处理能力和可靠性,广泛应用于科学研究、工程设计、商业、娱乐、通信等各个领域。

近年来,随着人工智能、机器学习、云计算和物联网等技术的发展,计算机技术正不断向前发展,推动着科技和社会的进步。

相关文章
|
机器学习/深度学习 传感器 算法
基于PID和LQR的四旋翼无人机控制系统研究附matlab代码
基于PID和LQR的四旋翼无人机控制系统研究附matlab代码
|
存储 资源调度 网络协议
重新思考C-RAN的协议栈 | 带你读《5G系统关键技术详解》之十
由于 COTS 平台和传统的 DSP 架构平台之间的区别,更 为重要的是以小区为中心和以用户为中心的设计原则的差异,需要重新考虑 C-RAN 中的 整个软件系统架构,以尽可能地利用云计算特征和 COTS 平台的能力。
重新思考C-RAN的协议栈  | 带你读《5G系统关键技术详解》之十
|
算法 Java C++
【C/C++ 内存知识扩展】内存不足的可能性分析
【C/C++ 内存知识扩展】内存不足的可能性分析
357 0
|
机器学习/深度学习 数据采集 算法
☀️机器学习实战☀️基于 YOLO网络 的人脸识别 |(文末送机器学习书籍~)
目录 一、 项目进展 1.1 第一阶段 1.2 第二阶段 1.3 第三阶段 1.4 第四阶段 二、 项目难点 三、解决思路 3.1 问题一 3.1.1 算法方面 3.2 问题二 3.2.1 数据集 3.1.2 YOLOv3 To YOLOv5 四、网络介绍 4.1 YOLOv3 4.1.1 主干网络 Darknet-53 4.1.2 训练结果 4.2 YOLOv5 4.2.1 输入端 4.2.2 Backbone主干网络 4.2.3 Neck 4.2.4 结果演示 4.3 YOLOv5 + MoblieNetV3 4.3.1 深度可分离卷积 五、代码&参考文献 六、福利送书 最后
958 0
☀️机器学习实战☀️基于 YOLO网络 的人脸识别 |(文末送机器学习书籍~)
|
缓存 安全 网络安全
libcurl教程
原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html     译者:JGood(http://blog.csdn.net/JGood )     译者注:这是一篇介绍如何使用libcurl的入门教程。
1883 0
|
Java Android开发 开发者
|
编解码 开发工具 Android开发
Android平台RTSP|RTMP播放器如何实现TextureView渲染
本文介绍了在Android平台上使用TextureView进行RTSP和RTMP视频流渲染的技术背景和实现方法。TextureView相较于SurfaceView具备更高性能、更强功能性和更灵活的绘制方式等优势,但也有必须在硬件加速环境下运行和较高内存占用等局限。文中详细展示了如何在SmartPlayerV2工程中创建和配置TextureView,并通过代码示例解释了如何根据视频分辨率信息调整显示比例,以及处理TextureView的各种生命周期回调。此外,还列举了该播放器SDK支持的多项高级功能,如多实例播放、多种编码格式支持、硬解码能力等,旨在帮助开发者更好地理解和实现高性能的直播播放器。
650 3
|
监控 Devops jenkins
DevOps实践:持续集成与持续部署(CI/CD)的实现
【8月更文挑战第28天】本文将深入探讨DevOps文化的核心组成部分——持续集成(CI)和持续部署(CD)。通过实际案例,我们将学习如何利用工具和策略来自动化软件开发流程,提高效率,确保代码质量和快速迭代。你将了解从零开始构建CI/CD流程的具体步骤,以及如何克服常见障碍。
|
编解码
【经典蓝牙】蓝牙AVRCP协议分析
蓝牙AVRCP协议是蓝牙设备之间音视频的控制协议。定义了音频/视频的控制、浏览、查询、通知等一系列的命令集。常用来蓝牙耳机对手机的音乐进行控制,以及获取手机的音乐信息等场景。AVRCP协议有两个角色,分别是controller(CT)和 target(TG)。CT: 发送控制命令到对端,控制对端媒体播放器的设备,例如蓝牙耳机,蓝牙遥控器等。TG:接收对端的控制命令,并执行操作,进行回复的设备,例如手机,电脑等。
5559 0
【经典蓝牙】蓝牙AVRCP协议分析
|
SQL 分布式计算 Hadoop
Flink SQL 如何实现列转行?
在 SQL 任务里面经常会遇到一列转多行的需求,今天就来总结一下在 Flink SQL 里面如何实现列转行的,先来看下面的一个具体案例. 需求 原始数据格式如下: name data JasonLee [{"content_type":"flink","url":"111"},{"content_type":"spark","url":"222"},{"content_type":"hadoop","url":"333"}] data 格式化