计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。
大家好,欢迎阅读《计算机组成原理》
的系列文章,本系列文章主要的内容是从零学习计算机组成原理
,内容通俗易懂,大家好好学习吧!!!
更多的优质内容,请点击以下链接查看哦~~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
深入学习计算机组成原理文章体系
文章目录
- 什么是计算机系统
- 硬件的发展历史
- 冯诺依曼结构
- 冯诺依曼结构的特点
- 现代计算机的结构
- 现代计算机的结构的特点
什么是计算机系统
计算机系统是由硬件和软件组成的,能够执行数据处理
和信息传输任务
的一种计算机技术体系。
我们接下来着重介绍一下硬件相关的知识。
硬件的发展历史
时间 | 名称 | 描述 |
---|---|---|
1946-1957 | 冯诺依曼(第一代计算机) | 逻辑元件为:电子管,由于电子管的特性,耗电量异常高。 |
1958-1964 | 第二代计算机 | 逻辑元件为:晶体管,这种晶体管体积比电子管小,耗电较低。缺点是需要焊接硬件。 |
1964-1971 | 第三代计算机 | 逻辑元价为:中小规模集成电路。这时候开始 操作系统,编程语言形成初步雏形。 |
1972-现在 | 第四代计算机 | 逻辑元价为:大/超大规模集成电路。这时开始,计算机开始飞速发展。 |
这里穿插一个小知识,bug的由来
第一代计算机使用机器码编程,就是使用二级制数0101....
的形式在纸带上进行编写,就类似于如下图这样
但是,在早期,如果纸带上面出现了小虫子,就是bug,这个时候机器就不能识别出bug,导致程序出现异常,所以bug这个称呼一直延续至今。
计算机硬件的组成分为两个体系,一个是早期计算机的冯诺依曼结构
,一个是现代计算机的结构
。
冯诺依曼结构
-
存储程序
:将指令以二进制的代码的形式事先输入计算机的主存储器,然后按照其在存储器当中的首地址执行程序的第一条执行指令,以后就按照程序的规则顺序执行其他指令,直至程序执行结束。
-
输入设备
:将信息转换为机器能识别的形式。
-
运算器
:实现算术运算(加减乘除)和逻辑运算(与或非)。
-
输出设备
:将结果信息转换为人类能够熟悉的形式
-
控制器
:负责指挥程序运行。
冯诺依曼结构的特点
-
存储程序:
冯·诺依曼计算机将 程序和数据存储在同一存储器中。程序被看作是一系列指令的集合,可以像数据一样存储、传输和修改。 这种存储程序的方式使得计算机能够灵活地执行不同的任务。
-
顺序执行:
冯·诺依曼计算机 按照指令的顺序依次执行,每条指令的执行都由控制单元负责。这种顺序执行方式保证了指令的正确性和一致性,并且使得程序的运行结果可预测。
-
存储器的随机访问:
计算机的 主存储器被划分为连续的地址空间,并且每个地址对应一个存储单元。这意味着计算机可以通过指定地址直接访问存储单元中的数据或指令,而不需要按照顺序逐个访问。
-
单一总线系统:
冯·诺依曼计算机使用 单一总线系统来连接CPU、内存和输入/输出设备(IO设备)等各个组件。 总线用于传输指令、数据和控制信号,实现了这些组件之间的通信与协调。
-
通用性和可编程性:
冯·诺依曼计算机是 通用 的,可以执行各种不同的任务。它的可编程性使得用户能够根据需要编写和修改程序,从而适应不同的应用场景。
-
存储器层次结构:
为了提高计算机的性能和存储容量,冯·诺依曼结构常常采用 存储器层次结构,包括 高速缓存、内存和辅助存储器等不同级别的存储设备。这种层次结构可以在速度、容量和成本之间做出平衡。
-
以计算器为设备的核心
这种方式导致计算机的运行 效率非常低,因为所有的操作都必须经过计算器。
现代计算机的结构
可以看到,现代的计算机已经以 存储器为核心 了。
我们平常电脑里面的 CPU就是包括了计算器与控制器。
所以可以把结构图按照以下进行简化。
现代计算机的结构的特点
现代计算机的结构包括以下几个主要组成部分:
-
中央处理器(Central Processing Unit,CPU)
:CPU是计算机的核心,负责执行指令和控制计算机的运行。它包括算术逻辑单元(ALU)、控制单元(CU)和寄存器等部件,用于进行数据运算和控制流程。
-
存储器
:存储器用于存储数据、指令和程序。主要包括 随机存取存储器(Random Access Memory,RAM)和只读存储器(Read-Only Memory,ROM)。RAM是临时存储器,用于存储正在执行的程序和数据;而ROM是永久存储器,用于存储固定的程序和数据。
-
输入/输出设备
:输入/输出设备用于与外部环境交互,实现数据的输入和输出。 常见的输入设备包括键盘、鼠标、触摸屏等;常见的输出设备包括显示器、打印机、音频设备等。
-
总线系统
:总线是不同组件之间传输数据、指令和控制信号的通道。 它分为数据总线、地址总线和控制总线。数据总线用于传输数据,地址总线用于指定数据在存储器中的位置,控制总线用于传输控制信号。
-
存储器层次结构
:现代计算机通常采用存储器层次结构,包括寄存器、高速缓存、主存储器和辅助存储器等不同级别的存储设备。 这种层次结构可以在速度、容量和成本之间做出平衡,提高计算机的性能和效率。
-
指令集架构(Instruction Set Architecture,ISA)
:ISA定义了计算机的指令集和编程模型。它规定了CPU支持的操作、寄存器的使用方式等,决定了软件与硬件之间的接口。常见的ISA包括x86、ARM等。
-
并行处理和多核技术
:现代计算机 采用并行处理和多核技术,将多个处理器核心集成到一个芯片中,实现同一时间处理多个任务或同时执行多条指令。
相关文章:

计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。
大家好,欢迎阅读《计算机组成原理》的系列文章,本系列文章主要的内容是从零学习计算机组成原理,内容通俗易懂,大家好好学习吧!!! 更多的优质内容,请点击以下链接查看哦~~ ↓ ↓ ↓ …...

二十五、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): 意义:测试时钟ÿ…...

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】 📢:文章若有幸对你有帮助,可点赞 👍…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...