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

news2024/11/17 23:59:47

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

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

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

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

在这里插入图片描述

文章目录

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

什么是计算机系统

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

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

硬件的发展历史

时间名称描述
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.coloradmin.cn/o/1036265.html

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

相关文章

【Log】为类中的所有日志打印添加前缀

文章目录 前言验证探索后记 前言 有没有一种办法,在一个类中(业务逻辑)。logger.info 的时候自动加上日志前缀,这样子查日志更方便。stackoverflow 上面有对该问题的讨论,实测可用,这里记录一下。 来自stackoverflow 简洁可用的…

离线部署 python 3.x 版本

文章目录 离线部署 python 3.x 版本1. 下载版本2. 上传到服务器3. 解压并安装4. 新建软连信息5. 注意事项 离线部署 python 3.x 版本 1. 下载版本 python 各版本下载地址 本次使用版本 Python-3.7.0a2.tgz # linux 可使用 wget 下载之后上传到所需服务器 wget https://www.py…

使用Go开源的一款性能监控软件,开箱即用,自动化图表生成

使用Go开源的一款性能监控软件,开箱即用,自动化图表生成。 uptrace介绍 uptrace是一体化工具,优化性能并监视错误和日志的开源监控系统。Uptrace是一个经济高效的跟踪解决方案,可帮助您监控、了解和优化复杂的分布式系统。对您的…

运行springBoot项目

本文背景:接手后端Maven管理的springBoot项目,但是不太清楚具体怎么运行项目 写此文章作为纪念 参考链接:IDEA运行SpringBoot项目(图文详细讲解)_idea项目运行_叫我小楠的博客-CSDN博客 步骤如下: 1.设…

3D打印预处理软件——CHITUBOX Pro 1.4.1

CHITUBOX PRO登场 革命性的3D打印数据处理软件,让你发挥3D打印的无限潜力 支持多种主流CAD文件格式 除了传统的stl和obj文件,CHITUBOX Pro还支持导入各种主流的CAD文件格式,包括3ds、3mf、3dm、stp、step、wrl、x3d、sat、sab、dae、dxf、f…

uniapp合法域名配置

首先打开微信开发者平台 找到开发管理 打开开发设置 找到服务器域名>修改 request 写入域名前缀即可 > 完成 重启小程序即可 感谢观看

React redux更新数据的诡异特征==》彻底掌握redux更新state机制的精髓

此文章是跟随我上一篇文章《Redux Toolkit中action派发但state值不更新的原因》写的。 本来一切都搞定了,此时我突发奇想: 如果让api服务端不发送包含x-pagination的header信息,web端会不会报错。因为按照web端 redux原有的逻辑:…

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

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

GNU C中({})表达式的返回值

文章目录 先放结论废话({})复合表达式介绍最后的废话 先放结论 ({子表达式1;子表达式2;})是GNU C中的一个拓展,返回值是最后一个表达式的返回值,也就是子表达式2的返回值。 废话 这个表达式是在看Linux源码的时候发现的(内核小白随便翻看到的…

将强化学习引入NLP:原理、技术和代码实现

目录 1. 强化学习简介1.1 什么是强化学习?1.2 强化学习的核心组件1.2.1 智能体 (Agent)1.2.2 状态 (State)1.2.3 动作 (Action)1.2.4 奖励 (Reward) 2. 强化学习与NLP的结合2.1 为什么在NLP中使用强化学习?2.2 强化学习在NLP中的应用场景2.2.1 对话系统2…

SAP Oracle表空间扩展技术手册

1、DBACOCKPIT下查看表空间 当表空间不足(达到99%)时,需要按以下步骤扩充表空间(每次扩充20000M,20G): (也可以通过DB13,DB02查看表空间) 新浪博客 Tablespace PSAPSR3 is 100% used | SAP Community Oracle是通过增加数据文件的方式来为表空间扩容。为指定表空间增…

【2023全新保姆级教图文教程】三分钟快速安装好Anacaonda3+Pycharm运行Python

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文…

抖音seo账号矩阵源码系统

1. 开通多个抖音账号,并将它们归纳为一个账号矩阵系统。 2. 建立一个统一的账号管理平台,以便对这些账号进行集中管理,包括账号信息、内容发布、社区交互等。 3. 招募专业的运营团队,对每个账号进行精细化运营,包括内…

恢复删除文件?不得不掌握的4个方法!

“删除了的文件还可以恢复吗?有个文件我本来以为不重要了,就把它删除了,没想到现在还需要用到!这可怎么办?有没有办法找回来呢?” 重要的文件一旦丢失或误删可能都会对我们的工作和学习造成比较大的影响。怎…

【JavaScript保姆级教程】Javascript常量

文章目录 前言一、常量1.1 常量是什么1.2 常量的作用 二、示例代码2.1 示例1:声明一个常量2.2 示例2:常量的命名规则2.3 示例3:常量与变量的区别 总结 前言 欢迎来到【JavaScript保姆级教程】!在本篇教程中,我们将讨论…

基于微信小程序的小说图书商城管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信端的主要功能有:管理员的主要功能有:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉…

CSDN热榜分析3:实现领域热榜的爬取

文章目录 领域热榜爬取函数领域热榜按钮功能实现 热榜分析系列: CSDN热榜分析🔥 UI界面🔥 领域热榜 领域热榜爬取函数 CSDN热榜共有21个子领域,包括C、云原生、人工智能、前沿技术、软件工程、后端、Java、JavaScript、PHP、P…

NSSCTF

[SWPUCTF 2021 新生赛]gift_F12 在源代码界面找到了flag [SWPUCTF 2021 新生赛]jicao 源码 <?php highlight_file(index.php); include("flag.php"); $id$_POST[id]; $jsonjson_decode($_GET[json],true); if ($id"wllmNB"&&$json[x]"…

Learn Prompt- Midjourney 图片生成:常用参数

在上一页当中&#xff0c;我们在解说基本设置的同时&#xff0c;举例了不少以--开头的参数。 参数是添加到提示中的选项&#xff0c;可更改图像的生成方式&#xff0c;图像的纵横比&#xff0c;在 Midjourney模型版本之间切换&#xff0c;更改使用的 Upscaler 等等。使用参数的…

基于FPGA的图像直方图统计实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、图像数据传输 4.2、直方图统计算法 4.3、时序控制和电路设计 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 timescal…