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

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

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

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

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

在这里插入图片描述

文章目录

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

什么是计算机系统

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

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

硬件的发展历史

时间名称描述
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. 并行处理和多核技术

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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

苹果cms大橙子vfed 5.0去授权完美破解主题模板

大橙模版算是在苹果 cms 众多主题里,较为亮眼的一款了,主题简洁,功能众多,非常的齐全。 今天分享的就是大橙 5.0 版本模板,自定义菜单输入下列代码使用主题设置和资源采集。 vfed 主题设置,/index.php/la…

使用EasyExcel后端导出excel

官方文档:关于Easyexcel | Easy Excel 这里进行简单记录,方便确定是不是适用此方式: 零:实体类中注解用法 一:读excel /*** 强制读取第三个 这里不建议 index 和 name 同时用,要么一个对象只用index&…

Qt地铁智慧换乘系统浅学( 一 )存储站点,线路信息

存储 定义所需要的容器定义最大最小经纬度[统计站点信息 在经纬度网站](https://map.jiqrxx.com/jingweidu/)读取统计的信息存储到容器其他的一些相关函数debug 显示存储的信息更新最小最大经纬度的函数获取两点之间的距离 根据经纬度 定义所需要的容器 extern QMap<QStrin…

AI AIgents时代 - (四.) HuggingGPT MetaGPT

&#x1f7e2; HuggingGPT HuggingGPT是一个多模型调用的 Agent 框架&#xff0c;利用 ChatGPT 作为任务规划器&#xff0c;根据每个模型的描述来选择 HuggingFace 平台上可用的模型&#xff0c;最后根据模型的执行结果生成总结性的响应。 这个项目目前已在 Github 上开源&am…

获取文件创建时间

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Java源码 public void testGetFileTime() {try {String string "E://test.txt";File file new File(string);Path path file.toPath();BasicFileAttributes ba…

vscode终端中打不开conda虚拟包管理

今天&#xff0c;想着将之前鸽的Unet网络模型给实现一下&#xff0c;结果发现&#xff0c;在vscode中运行python脚本&#xff0c;显示没有这包&#xff0c;没有那包。但是在其他的ipynb中是有的&#xff0c;感觉很奇怪。我检查了一下python版本&#xff0c;发现不是我深度学习的…

neo4j下载安装配置步骤

目录 一、介绍 简介 Neo4j和JDK版本对应 二、下载 官网下载 直接获取 三、解压缩安装 四、配置环境变量 五、启动测试 一、介绍 简介 Neo4j是一款高性能的图数据库&#xff0c;专门用于存储和处理图形数据。它采用节点、关系和属性的图形结构&#xff0c;非常适用于…

MySQL学习笔记13

DISTINCT数据去重&#xff1a; 案例&#xff1a;获取tb_student学生表学员年龄的分布情况。 mysql> select * from tb_student; ------------------------------------------------- | id | name | age | gender | address | --------------------------…

Echarts散点图筛选新玩法dataZoom

目录 前言 一、引入Echarts5.4.3 二、新建index.html 三、绑定Echarts展示元素 四、初始数据绑定 五、option设置 六、效果展示 七、参数说明 总结 前言 如果您在日常的工作当中也会遇到如下场景&#xff0c;需要在线对已经展示出来的图表进行进一步的筛选&#xff0c…

DATE和LocalDateTime在Java中有什么区别

在Java中&#xff0c;Date和LocalDateTime是两个表示日期和时间的类&#xff0c;它们有以下区别&#xff1a; 类型&#xff1a;Date是Java旧版提供的日期和时间类&#xff0c;而LocalDateTime是Java 8引入的新日期和时间API中的类。 不可变性&#xff1a;Date是可变类&#x…

寻找单身狗

在一个数组中仅出现一次&#xff0c;其他数均出现两次&#xff0c;这个出现一次的数就被称为“单身狗“。 一.一个单身狗 我们知道异或运算操作符 ^ &#xff0c;它的特点是对应二进制位相同为 0&#xff0c;相异为 1。 由此我们容易知道两个相同的数,进行异或运算得到的结果…

AcWing 5153. 删除(AcWing杯 - 周赛)(结论+枚举)

思路&#xff1a; ACcode: #include<bits/stdc.h> using namespace std; #define int long long string s; void solve() {cin>>s;s"00"s;int lens.size();for(int i0; i<len; i) {for(int ji1; j<len; j) {for(int kj1; k<len; k) {int xs[i]*…

Learn Prompt-经验法则

还记得我们在“基础用法”当中提到的三个经验法则吗&#xff1f; 尝试提示的多种表述以获得最佳结果使用清晰简短的提示&#xff0c;避免不必要的词语减少不精确的描述 现在经过了几页的学习&#xff0c;我认为是时候引入一些新的原则了。 3. 一个话题对应一个chat​ ChatG…

物联网安全优秀实践:2023年设备保护指南

物联网的发展可谓是革命性的&#xff0c;数十亿台设备实时互连、通信和共享数据。因此&#xff0c;考虑物联网安全的最佳实践至关重要。 物联网的重要性日益上升 在数字时代&#xff0c;物联网(IoT)已成为一股革命力量&#xff0c;重塑了企业运营和个人生活方式。从调节家庭温…

【软件设计师-从小白到大牛】上午题基础篇:第三章 数据库系统

文章目录 前言章节提要一、三级模式两级映射真题链接 二、数据库的设计过程真题链接 三、E-R模型真题链接 四、关系代数SQL基础&#xff08;补充&#xff09; 五、规范化理论1、函数依赖2、价值与用途3、键4、范式5、模式分解 六、并发控制真题链接分布式数据库特点&#xff08…

MySQL查询(基础到高级)

目录 一、单表查询&#xff1a; 1.基本查询&#xff1a; 1.1 查询多个字段&#xff1a; 1.2 去除重复记录&#xff1a; 2. 条件查询&#xff1a; 2.1 语法 2.2 条件分类&#xff1a; 比较运算符&#xff1a; between..and..使用示例&#xff1a; ​编辑 in(..) 使用示例&…

作业 练习题

内科护理学 参考试题 一、单项选择题&#xff08;每题2分&#xff0c;共100分&#xff09; 1.由于心排出量突然下降而出现的晕厥称为( )。 A.心脏骤停 B.病窦综合征 C.阿一斯综合征 D.倾倒综合征 2.护理服用洋地黄制剂的患者时&#xff0c;下列措施错误的是( )。 A.给洋地…

MasterAlign相机参数设置-曝光时间调节

相机参数设置-曝光时间调节操作说明 相机参数的设置对于获取清晰、准确的图像至关重要。曝光时间是其中一个关键参数&#xff0c;它直接影响图像的亮度和清晰度。以下是关于曝光时间调节的详细操作步骤&#xff0c;以帮助您轻松进行设置。 步骤一&#xff1a;登录系统 首先&…

JeecgBoot v3.5.5 版本发布,性能大升级版本—开源免费的低代码开发平台

项目介绍 JeecgBoot是一款企业级的低代码平台&#xff01;前后端分离架构 SpringBoot2.x&#xff0c;SpringCloud&#xff0c;Ant Design&Vue3&#xff0c;Mybatis-plus&#xff0c;Shiro&#xff0c;JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

【C++】布隆过滤器简单操纵模拟以及常见题目

&#x1f30f;博客主页&#xff1a; 主页 &#x1f516;系列专栏&#xff1a; C ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ &#x1f60d;期待与大家一起进步&#xff01; 文章目录 前言一、求下标仿函数的建议二、布隆过滤器代码面试题1.近似算法&#xff1a;2.精确算…