01. 计算机系统

计算机系统简单概述

        计算机系统是一个综合性的系统,旨在按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息。以下是关于计算机系统的详细介绍:

一、定义与组成

        计算机系统是由硬件和软件组成的,用于执行计算、存储和处理数据的系统。它主要由两个部分组成:

  • 硬件系统
    • 硬件是计算机系统的物理基础,包括各种看得见、摸得着的物理设备。硬件系统主要由以下组件组成:
    • 中央处理器(CPU):包括运算器和控制器,是计算机系统的核心,用于数据加工处理、完成各种算术、逻辑运算及控制功能。
    • 存储器:用于存储程序、数据和文件,包括内存储器(如RAM)和外部存储器(如硬盘、光盘等)。
    • 输入/输出设备:如键盘、鼠标、显示器、打印机等,用于人机交互和信息交换。
  • 软件系统
    • 软件是计算机系统的灵魂,是管理和控制计算机硬件、合理组织计算机工作、以及计算机与用户或其他系统相互通信的一类程序和数据集合。软件系统主要包括:
    • 系统软件:如操作系统、数据库管理系统等,用于管理计算机资源、提供用户接口、控制硬件运行等。
    • 应用软件:根据用户需求开发的,用于解决特定问题的程序和数据集合,如办公软件、图像处理软件等。

二、主要特点

  1. 精确、快速:计算机系统的计算精度理论上不受限制,且操作速度极快,一次操作所需时间已小到以纳秒计。
  2. 通用性好:计算机是可编程的,不同程序可实现不同的应用。
  3. 易用:丰富的高性能软件及智能化的人机接口,大大方便了使用。
  4. 联网:多个计算机系统能超越地理界限,借助通信网络,共享远程信息与软件资源。

三、发展历程

        计算机系统的发展经历了从电子管时代到超大规模集成电路时代的演变,每一次技术的革新都极大地推动了计算机技术的发展。现代计算机系统小到微型计算机和个人计算机,大到巨型计算机及其网络,形态、特性多种多样,已广泛用于科学计算、事务处理和过程控制等领域。

  1. 第一代计算机(1946-1957) 电子管时代
  2. 第二代计算机(1958-1964) 晶体管时代
  3. 第三代计算机(1965-1970) 集成电路时代
  4. 第四代计算机(1971以后) 大规模集成电路时代

四、系统种类

        计算机系统按其形态、特性和用途可分为多种类型,如Windows系列操作体系、Mac OS体系、类Unix体系等。每种系统都有其独特的特点和适用场景。

        总之,计算机系统是一个复杂而精密的系统,它在现代社会中发挥着越来越重要的作用。随着技术的不断进步和创新,计算机系统的功能和性能将会得到进一步的提升。

世界上第一台计算机

        世界上第一台电子计算机是ENIAC,全称为Electronic Numerical Integrator And Computer,即电子数字积分计算机。以下是关于ENIAC的详细介绍:

  • 诞生时间和地点:ENIAC于1946年2月14日在美国宾夕法尼亚大学诞生,并于次日正式对外公布。
  • 研发背景:研发电子计算机的想法产生于第二次世界大战期间。当时,为了提高军事武器的研制效率,特别是为了满足炮弹部队的射击需求,需要计算复杂的弹道轨迹。而当时的计算工具效率低下,难以满足军事需求。因此,科学家和工程师们开始尝试利用电子管代替继电器以提高计算速度。
  • 主要研发人员:承担开发任务的人员包括科学家约翰·冯·诺依曼和“莫尔小组”的工程师埃克特、莫希利、戈尔斯坦以及华人科学家朱传榘。总工程师埃克特在当时年仅25岁。
  • 基本概况:
    • 体积和重量:ENIAC长30.48米,宽6米,高2.4米,占地面积约170平方米,重达30英吨。
    • 耗电量和造价:耗电量150千瓦,造价48万美元。
    • 计算能力:每秒可进行5000次加法或400次乘法运算,这是当时其他计算机难以比拟的。
    • 组成结构:包含了17,468根真空管(电子管)、7,200根水晶二极管、1,500个中转、70,000个电阻器、10,000个电容器、1500个继电器和6000多个开关等部件。
  • 应用领域:由于ENIAC的强大计算能力,它被美国国防部用于进行弹道计算,极大地提高了军事武器的研制效率。

        总之,ENIAC的诞生标志着人类进入了电子计算机时代,为后续的计算机技术和工业发展奠定了坚实的基础。

冯·诺依曼体系结构

  • 冯·诺依曼

        冯·诺依曼体系结构,也称为普林斯顿结构,是现代计算机设计的基础,由数学家约翰·冯·诺依曼在1945年提出。这一体系结构的核心思想为数字计算机的数制采用二进制,并强调计算机应该按照程序顺序执行。以下是冯·诺依曼体系结构的主要特点和组成部分:

  • 特点
    • 程序存储思想:程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,程序指令和数据的宽度相同。
    • 单一性:冯·诺依曼体系是一个单独的体系,主要由存储器和处理器两部分构成。
    • 可靠性:由于存储器和处理器是分开工作的,所以其中一部分出故障时,另一部分还能正常工作。
    • 容错性:能够容忍一定的不正常情况出现而不会造成整个计算机体系的故障。
    • 共享功能:各部件之间相互共享功能资源,使得处理速度明显加快。
  • 组成部分
    • 运算器:用于完成各种算术运算、逻辑运算和数据传送等数据加工处理。
    • 控制器:用于控制程序的执行,是计算机的大脑。运算器和控制器组成计算机的中央处理器(CPU)。
    • 存储器:用于记忆程序和数据,程序和数据以二进制代码形式不加区别地存放在存储器中,存放位置由地址确定。
    • 输入设备:用于将数据或程序输入到计算机中,例如鼠标、键盘。
    • 输出设备:将数据或程序的处理结果展示给用户,例如显示器、打印机。
  • 应用
    • 冯·诺依曼原理是现代通用计算机设计的基础,绝大部分的计算机系统都采用了这一原理。

        冯·诺依曼体系结构的提出,为计算机的发展奠定了坚实的基础,并深刻影响了后续计算机技术的演进。

早期计算机系统的输入设备:穿孔纸带

        然而,尽管冯·诺依曼体系结构具有显著的优势,但它也存在一些潜在的挑战和局限性。例如,其单一的内存-总线架构在处理复杂的大规模数据和并行计算任务时可能会遇到瓶颈。此外,由于所有的数据和指令都需要通过同一总线进行传输,这也可能导致性能瓶颈和数据传输的延迟。

        为了解决这些问题,研究者们开始探索并开发新的计算机体系结构,这些体系结构在保持冯·诺依曼体系结构优点的同时,也尝试克服其局限性。例如,非均匀内存访问(NUMA)和共享内存多处理器(SMP)体系结构就被设计为能更好地处理并行计算和大规模数据处理。这些体系结构通过使用多个处理器和内存模块,将数据和计算任务分布到不同的节点上,从而提高了整体的性能和效率。

        另外,近年来,随着人工智能和大数据技术的快速发展,对计算机体系结构的需求也在不断变化。为了应对这些新的挑战,研究者们正在探索新的计算范式,如神经形态计算和量子计算。这些新的计算范式可能会打破冯·诺依曼体系结构的局限,为我们提供全新的计算能力和可能性。

        尽管如此,冯·诺依曼体系结构依然在计算机科学领域中占据着重要的地位。其简单而优雅的设计原则、强大的功能和可靠性使得它成为计算机科学和工程技术的重要基础。未来,随着新技术的不断发展和应用,我们可能会看到更多基于冯·诺依曼体系结构或其衍生体系的计算机系统被设计和实现,以满足日益增长的计算需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10233.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git进阶之旅:.gitignore 文件

介绍: 在项目中,我们可能一起提交多个文件 git add -A:提交所有变化git add -u:提交被修改(modified) 和被删除文件(deleted) 文件,不包括新文件(new) git add .:提交新文件(new) 和被修改文件(modif…

指针(C语言)从0到1掌握指针,为后续学习c++打下基础

目录 一,指针 二,内存地址和指针 1,什么是内存地址 2,指针在不同系统下所占内存 三,指针的声明和初始化以及类型 1,指针的声明 2,指针 的初始化 1, 初始化方式优点及适用场景 4,指针的声明初始化类型…

Leetcode 45. 跳跃游戏 II

这题是一个动态规划问题,首先我先说一下自己的动态规划解题步骤: 1,首先需要明确动态规划数组的含义:这个是根据题目来定的,这一个题目的数组含义:dp【i】指的是从0跳到i所需要的最小的步骤。 2&#xff…

【Block总结】PConv,部分卷积|即插即用

论文信息 标题: Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks 论文链接: https://arxiv.org/pdf/2303.03667 GitHub链接: https://github.com/JierunChen/FasterNet 创新点 该论文的核心创新在于提出了一种新的运算符——部分卷积(PCo…

Maven的单元测试

1. 单元测试的基本概念 单元测试(Unit Testing) 是一种软件测试方法,专注于测试程序中的最小可测试单元——通常是单个类或方法。通过单元测试,可以确保每个模块按预期工作,从而提高代码的质量和可靠性。 2.安装和配…

【漫话机器学习系列】069.哈达马乘积(Hadamard Product)

哈达马乘积(Hadamard Product) 哈达马乘积(Hadamard Product)是两个矩阵之间的一种元素级操作,也称为逐元素乘积(Element-wise Product)。它以矩阵的对应元素相乘为规则,生成一个新…

【设计测试用例自动化测试性能测试 实战篇】

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 设计测试用例…

AJAX综合案例——图书管理

黑马程序员视频地址: AJAX-Day02-10.案例_图书管理AJAX-Day02-10.案例_图书管理_总结_V1.0是黑马程序员前端AJAX入门到实战全套教程,包含学前端框架必会的(ajaxnode.jswebpackgit),一套全覆盖的第25集视频&#xff0c…

5.3.2 软件设计原则

文章目录 抽象模块化信息隐蔽与独立性衡量 软件设计原则:抽象、模块化、信息隐蔽。 抽象 抽象是抽出事物本质的共同特性。过程抽象是指将一个明确定义功能的操作当作单个实体看待。数据抽象是对数据的类型、操作、取值范围进行定义,然后通过这些操作对数…

Jason配置环境变量

jason官网 https://jason-lang.github.io/ https://github.com/jason-lang/jason/releases 步骤 安装 Java 21 或更高版本 安装 Visual Studio Code 根据操作系统,请按照以下具体步骤操作 视窗 下载 Jason 的最新版本,选择“jason-bin-3.3.0.zip”…

关于bash内建echo输出多行文本

echo命令 使用下述命令可以判断当前使用的echo命令是内建命令还是外部命令 type echo有下述输出,说明是内建命令 bash的内建命令输出多行文本时会拆分多次写入 如果希望不拆分多次写入,可以借用tee工具 tee工具可以将命令的输出同时发送到终端和文件…

消息队列篇--通信协议篇--TCP和UDP(3次握手和4次挥手,与Socket和webSocket的概念区别等)

1、TCP和UDP概述 TCP(传输控制协议,Transmission Control Protocol)和UDP(用户数据报协议,User Datagram Protocol)都算是最底层的通信协议,它们位于OSI模型的传输层。*传输层的主要职责是确保…

unity学习22:Application类其他功能

目录 1 是否允许后台运行 1.1 Application.runInBackground,显示是否允许后台运行 1.2 设置的地方 2 打开URL 2.1 Application.OpenURL("") 打开超链接 3 退出游戏 3.1 Application.Quit() 退出游戏 4 场景相关 5 返回游戏状态 6 控制游戏的行…

deepseek R1 14b显存占用

RTX2080ti 11G显卡,模型7b速度挺快,试试14B也不错。 7B显存使用5.6G,14B显存刚好够,出文字速度差不多。 打算自己写个移动宽带的IPTV播放器,不知道怎么下手,就先问他了。

.NET Core缓存

目录 缓存的概念 客户端响应缓存 cache-control 服务器端响应缓存 内存缓存(In-memory cache) 用法 GetOrCreateAsync 缓存过期时间策略 缓存的过期时间 解决方法: 两种过期时间策略: 绝对过期时间 滑动过期时间 两…

C++,STL 六大组件:容器、迭代器、算法、函数对象、适配器、分配器

文章目录 引言一、容器(Containers)主要分类 二、迭代器(Iterators)三、算法(Algorithms)四、函数对象(Functors)五、适配器(Adapters)六、分配器&#xff08…

996引擎 - NPC-添加NPC引擎自带形象

996引擎 - NPC-添加NPC引擎自带形象 截图参考添加NPC参考资料截图参考 添加NPC 编辑NPC表:Envir\DATA\cfg_npclist.xls 1.1. 需要临时隐藏NPC时可以在id前加 // 1.2. 如果NPC朝向不对,可以调整dir 列。(按8方向,上是0顺时针数。我这里给的4) 1.3. 形象代码:NPC代码、怪物…

【懒删除堆】力扣2349. 设计数字容器系统

设计一个数字容器系统,可以实现以下功能: 在系统中给定下标处 插入 或者 替换 一个数字。 返回 系统中给定数字的最小下标。 请你实现一个 NumberContainers 类: NumberContainers() 初始化数字容器系统。 void change(int index, int numb…

利用飞书机器人进行 - ArXiv自动化检索推荐

相关作者的Github仓库 ArXivToday-Lark 使用教程 Step1 新建机器人 根据飞书官方机器人使用手册,新建自定义机器人,并记录好webhook地址,后续将在配置文件中更新该地址。 可以先完成到后续步骤之前,后续的步骤与安全相关&…

SpringBoot 日志

目录 一. 日志概述 二. 日志的使用 1. 打印日志 (1) 获取日志对象 (2) 输出要打印的内容 2. 日志框架简介 (1) 门面模式简介 (2) SLF4J 框架简介 3. 日志的格式 4. 日志的级别 5. 日志配置 (1) 配置日志级别 (2) 日志持久化存储 ① 配置日志文件名 ② 配置日志的…