当前位置: 首页 > news >正文

计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。

大家好,欢迎阅读《计算机组成原理》的系列文章,本系列文章主要的内容是从零学习计算机组成原理,内容通俗易懂,大家好好学习吧!!!

更多的优质内容,请点击以下链接查看哦~~

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

深入学习计算机组成原理文章体系

在这里插入图片描述

文章目录

  • 什么是计算机系统
  • 硬件的发展历史
  • 冯诺依曼结构
  • 冯诺依曼结构的特点
  • 现代计算机的结构
  • 现代计算机的结构的特点

什么是计算机系统

计算机系统是由硬件和软件组成的,能够执行数据处理信息传输任务的一种计算机技术体系。

我们接下来着重介绍一下硬件相关的知识。

硬件的发展历史

时间名称描述
1946-1957冯诺依曼(第一代计算机)逻辑元件为:电子管,由于电子管的特性,耗电量异常高。
1958-1964第二代计算机逻辑元件为:晶体管,这种晶体管体积比电子管小,耗电较低。缺点是需要焊接硬件。
1964-1971第三代计算机逻辑元价为:中小规模集成电路。这时候开始 操作系统,编程语言形成初步雏形。
1972-现在第四代计算机逻辑元价为:大/超大规模集成电路。这时开始,计算机开始飞速发展。

这里穿插一个小知识,bug的由来

第一代计算机使用机器码编程,就是使用二级制数0101....的形式在纸带上进行编写,就类似于如下图这样

在这里插入图片描述

但是,在早期,如果纸带上面出现了小虫子,就是bug,这个时候机器就不能识别出bug,导致程序出现异常,所以bug这个称呼一直延续至今。

在这里插入图片描述


计算机硬件的组成分为两个体系,一个是早期计算机的冯诺依曼结构,一个是现代计算机的结构

冯诺依曼结构

在这里插入图片描述

  • 存储程序

    将指令以二进制的代码的形式事先输入计算机的主存储器,然后按照其在存储器当中的首地址执行程序的第一条执行指令,以后就按照程序的规则顺序执行其他指令,直至程序执行结束。

  • 输入设备

    将信息转换为机器能识别的形式。

  • 运算器

    实现算术运算(加减乘除)和逻辑运算(与或非)。

  • 输出设备

    将结果信息转换为人类能够熟悉的形式

  • 控制器

    负责指挥程序运行。

冯诺依曼结构的特点

  1. 存储程序:

    冯·诺依曼计算机将 程序和数据存储在同一存储器中程序被看作是一系列指令的集合,可以像数据一样存储、传输和修改。 这种存储程序的方式使得计算机能够灵活地执行不同的任务。

  2. 顺序执行:

    冯·诺依曼计算机 按照指令的顺序依次执行,每条指令的执行都由控制单元负责。这种顺序执行方式保证了指令的正确性和一致性,并且使得程序的运行结果可预测。

  3. 存储器的随机访问:

    计算机的 主存储器被划分为连续的地址空间,并且每个地址对应一个存储单元。这意味着计算机可以通过指定地址直接访问存储单元中的数据或指令,而不需要按照顺序逐个访问。

  4. 单一总线系统:

    冯·诺依曼计算机使用 单一总线系统来连接CPU、内存和输入/输出设备(IO设备)等各个组件。 总线用于传输指令、数据和控制信号,实现了这些组件之间的通信与协调。

  5. 通用性和可编程性:

    冯·诺依曼计算机是 通用 的,可以执行各种不同的任务。它的可编程性使得用户能够根据需要编写和修改程序,从而适应不同的应用场景。

  6. 存储器层次结构:

    为了提高计算机的性能和存储容量,冯·诺依曼结构常常采用 存储器层次结构,包括 高速缓存、内存和辅助存储器等不同级别的存储设备。这种层次结构可以在速度、容量和成本之间做出平衡。

  7. 以计算器为设备的核心

    这种方式导致计算机的运行 效率非常低,因为所有的操作都必须经过计算器。

现代计算机的结构

在这里插入图片描述

可以看到,现代的计算机已经以 存储器为核心 了。

我们平常电脑里面的 CPU就是包括了计算器与控制器。

所以可以把结构图按照以下进行简化。

在这里插入图片描述

现代计算机的结构的特点

现代计算机的结构包括以下几个主要组成部分:

  1. 中央处理器(Central Processing Unit,CPU)

    CPU是计算机的核心,负责执行指令和控制计算机的运行。它包括算术逻辑单元(ALU)、控制单元(CU)和寄存器等部件,用于进行数据运算和控制流程。

  2. 存储器

    存储器用于存储数据、指令和程序。主要包括 随机存取存储器(Random Access Memory,RAM)和只读存储器(Read-Only Memory,ROM)。RAM是临时存储器,用于存储正在执行的程序和数据;而ROM是永久存储器,用于存储固定的程序和数据。

  3. 输入/输出设备

    输入/输出设备用于与外部环境交互,实现数据的输入和输出。 常见的输入设备包括键盘、鼠标、触摸屏等;常见的输出设备包括显示器、打印机、音频设备等。

  4. 总线系统

    总线是不同组件之间传输数据、指令和控制信号的通道。 它分为数据总线、地址总线和控制总线。数据总线用于传输数据,地址总线用于指定数据在存储器中的位置,控制总线用于传输控制信号。

  5. 存储器层次结构

    现代计算机通常采用存储器层次结构,包括寄存器、高速缓存、主存储器和辅助存储器等不同级别的存储设备。 这种层次结构可以在速度、容量和成本之间做出平衡,提高计算机的性能和效率。

  6. 指令集架构(Instruction Set Architecture,ISA)

    ISA定义了计算机的指令集和编程模型。它规定了CPU支持的操作、寄存器的使用方式等,决定了软件与硬件之间的接口。常见的ISA包括x86、ARM等。

  7. 并行处理和多核技术

    现代计算机 采用并行处理和多核技术,将多个处理器核心集成到一个芯片中,实现同一时间处理多个任务或同时执行多条指令。

相关文章:

计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。

大家好,欢迎阅读《计算机组成原理》的系列文章,本系列文章主要的内容是从零学习计算机组成原理,内容通俗易懂,大家好好学习吧!!! 更多的优质内容,请点击以下链接查看哦~~ ↓ ↓ ↓ …...

二十五、MySQL事务的四大特性和常见的并发事务问题

1、事务的四大特性 2、常见的并发事务问题 (1)并发事务问题分类: (2)脏读: 一个事务正在对一条记录做修改,在这个事务完成并提交前,这条记录的数据就处于不一致的状态;…...

辨析常见的医学数据分析(相关性分析回归分析)

目录 1 常见的三种分类结果? 2 什么是相关性分析? 相关性分析的结果怎么看? 3 什么是回归分析? 1)前提 2)常见的回归模型 4 对于存在对照组实验的医学病例如何分析? 1)卡方检验…...

SpringBoot项目中只执行一次的任务写法

SpringBoot项目中只执行一次的任务写法 有时候我们需要进行初始化工作,就说明只要进行一次的工作,那么,在Springboot项目中如何做到任务只进行一次呢 利用定时任务 在Spring Boot项目中,你可以使用Spring框架提供的Scheduled注解…...

TCK、TMS、TDI、TDO的含义

这四个信号是JTAG(Joint Test Action Group)界面的一部分。JTAG是一种用于测试和验证集成电路和印刷电路板的技术,也用于进行设备编程和调试。这四个信号分别是: TCK (Test Clock): 意义:测试时钟&#xff…...

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据...

全文链接:http://tecdat.cn/?p24456 如果你正在进行统计分析:想要加一些先验信息,最终你想要的是预测。所以你决定使用贝叶斯(点击文末“阅读原文”获取完整代码数据)。 相关视频 但是,你没有共轭先验。你…...

【PowerShell】PowerShell的Core版本的额外配置

在PowerShell 7.1 安装完成后,默认情况下打开PowerShell 会直接进入到系统内置的PowerShell,如果希望通过远程连接或者PowerShell Web Access 进入到PowerShell 7环境的界面,就需要进行环境的再配置才能实现PowerShell 7.1 的环境连接。需要为外部的环境提供连接的话需要按照…...

数据结构----链式栈

目录 前言 链式栈 操作方式 1.存储结构 2.初始化 3.创建节点 4.判断是否满栈 5.判断是否空栈 6.入栈 7.出栈 8.获取栈顶元素 9.遍历栈 10.清空栈 完整代码 前言 前面我们学习过了数组栈的相关方法,(链接:线性表-----栈(栈…...

实在智能携手40+央企,探索财务大模型及数智化实践与应用

“这次培训给我一个最大的感触就是,过去以为AI智能化、大模型技术是很高深的事情。但现在,我们通过RPA等数字化工具,自主根据自己的工作岗位,完成业务自动化流程的开发和设计。AI技术没有想象中的那么难入门。” 这是一位参加了“…...

upload-labs文件上传1-5关

第一关 编写一句话木马1.php,编写完成后将后缀名修改为png 将1.png上传,上传时使用bp抓包 抓包后将后缀名修改为png 连接蚁剑 第二关 上传1.php,显示文件类型不正确 使用bp抓包发送重发器,修改文件后缀名后点击发送,…...

git的基本使用

查看当前分支 git branch //查看本地分支 git branch -a // 查看本地和远程的分支切分支 git checkout -b 分支的名字从当前分支切换到其他分支 拉取远程分支到本地 拉取远程develop分支代码到本地develop分支 git checkout -b develop origin/developgit merge B分支合并…...

Mac台式电脑内存清理方法教程

对于一些小白用户,如果觉得以上的清理方法比较复杂却又想要更好的优化Mac电脑内存,专业的系统清理软件是一个不错的选择。比起花几个小时时间浏览文件夹、删除临时文件、缓存和卸载残留。Cleanmymac X,只需单击几下即可完成所有内存清理工作&…...

FL Studio怎么破解?2023年最新FL Studio 21图文安装激活教程?FL 21中文版下载 v21.1.1.3750 汉化 版

fl studio21中文解锁特别破解版是一款功能强大的编曲软件,也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音,让您的计算机成为全功能录音室。除此之外,这款软件功能非常强大,为用户提供了许多音频处理工具,包含…...

Zookeeper高级_四字命令

之前使用stat命令来验证ZooKeeper服务器是否启动成功,这里的stat命令就是ZooKeeper 中最为典型的命令之一。ZooKeeper中有很多类似的命令,它们的长度通常都是4个英文字母,因此我们称之为“四字命令”。 添加配置 vim zoo.cfg 4lw.commands…...

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时,如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…...

折线图geom_line()参数选项

往期折线图教程 图形复现| 使用R语言绘制折线图折线图指定位置标记折线图形状更改 | 绘制动态折线图跟着NC学作图 | 使用python绘制折线图 前言 我们折线的专栏推出一段时间,但是由于个人的原因,一直未进行更新。那么今天,我们也参考《R语…...

百度SEO优化基本原理(掌握SEO基础,提高网站排名)

随着互联网的迅速发展,越来越多的企业开始意识到网站优化的重要性,其中百度SEO优化是企业不可忽视的一项工作。本文将介绍百度SEO优化的基本概念、步骤、原理、解决方法和提升网站标题优化的方法。蘑菇号-www.mooogu.cn 百度SEO优化是指针对百度搜索引擎…...

2023 ICPC 网络赛 第一场 部分题解 (待完善)

D Transitivity 题解: 根据题意可以推出结论: 如果存在连通块,那么这个连通块要满足条件,必然是满连通块. 一共有两种情况 1. 存在一个连通块不是满连通块 设cnt表示连通块的节点个数, num表示连通块边的个数 一个连通块的贡献 cnt*(cnt-1)/2 - num; 那么最终答案 连…...

Hadoop的HDFS高可用方案

一、Hadoop高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似,但 HDFSNameNode 对数据存储及其一致性的要求比 YARN ResourceManger 高得多,所以它的实现也更加复杂 1、HDFS系统高可用简介…...

【计算机基础】让我们重新认识一下Visual Stduio及其操作,知识点汇总!!

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...