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

【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件

计算机组成原理(一)

计算机内部是通过电信号传递数据

电信号:分为高电平和低电平,分别代表1/0

[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4lar3S2l-1677643789134)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228165823634.png)]

  • 数字、文字、图像如何用二进制表示?

  • CPU如何对二进制数进行加减乘除?

  • 如何存储这些二进制数的?

  • 如何从内存中取出想要的数据?

  • CPU如何识别和执行我们写的程序?

    这些问题我们在下面会得到解释,请往下看

计算机系统的概述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l4DTfalE-1677643850672)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228170155373.png)]

计算机系统=硬件+软件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TH3T3V3q-1677643705128)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230226221726764.png)]

软件分为系统软件和应用软件

系统软件:用来管理整个计算机系统。eg:操作系统

应用软件:按任务需求编制成的各种程序.eg:抖音,王者荣耀

硬件的发展:

第一代计算机:

逻辑元件是电子管,因此被称为电子管时代

体积超大、耗电量超大

第二代计算机:

逻辑元件:晶体管,被称为晶体管时代

体积和功耗降低了,出现了面对过程的编程语言

并且fortran的操作系统

第三代计算机:

逻辑元件:中小规模集成电路,因此被称为中小规模集成电路时代

第四代:

超大规模集成电路时代

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4jWxcad-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228171443823.png)]

机械字长:

计算机一次整数运算所能处理的二进制位数

计算机硬件的基础组成

存储系统:

将指令以二进制代码的形式事先输入计算机的主存储器。

然后将其在存储器中的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直到程序执行结束。

冯诺依曼机结构:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zsyoJ7Sz-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228193040254.png)]

黑色的线是数据线

蓝色的线是控制器接受和指挥各个部件的控制线or反馈线

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hNYxdPKV-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230227081617093.png)]

CPU=运算器+控制器

现代计算机以存储器为中心

存储器分为主存储器和辅助存储器

冯.诺依曼计算机的特点:

  • 1.计算机由五大部件组成,
  • 2.指令和数据以同等地位存于存储器,可按地址寻访
  • 3.指令和数据用二进制表示
  • 4.指令由操作码和地址码组成
  • 5.存储程序
  • 6.以运算器为中心

CPU+主存储器=主机

辅助存储器、输入输出设备为I/O设备

而I/O设备+主机=硬件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFAL6KK4-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230227082646657.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZWu5GjK-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230227082659908.png)]

认识各个硬件部件

主存储器:

主存储器:存储体+MAR(地址寄存器)+MDR(数据寄存器)

数据在存储体内按地址存储

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GyIhZV60-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228212056478.png)]

存储体分为一个一个存储单元

存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数,,一般是8个bit的整数倍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AP4451MJ-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228225003869.png)]

数据在存储体内按地址存储

MAR:反映存储单元的个数

MDR:存储字长

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xzmd5cAp-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228213158117.png)]

MAR=4位(4个比特位),对应2的四次方个存储单元(因为四个比特位,对应4的全排列种可能)

MDR=16位,一个字(存储字长)=16bit

运算器:

运算器:用来实现算术运算、逻辑运算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMdAPl6m-1677643705131)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228213353656.png)]

ACC:累加器,用于存放操作数or运算结果

MQ:乘商寄存器,在乘、除运算时,用来存放操作数or运算结果

X:通用的操作数寄存器,用于存放操作数

ALU:算术逻辑单元,通过内部复杂的登录实现算术运算、逻辑运算

ACC、MQ都可以用来存放操作数or运算结果

但X只能用来存放操作数

控制器:

CU:控制单元,分析指令,给出控制信号

IR:指令寄存器,存放当前的指令

PC:程序计数器,存放下一条指令的地址,有自动加1功能

完成一条指令的顺序:

PC——IR——CU

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ypA72DsK-1677643705131)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228213632010.png)]

计算机的工作过程:

  • 下列这个代码在计算机的工作过程是怎么样的呢?
#include<iostream>
int main()
{int a = 2, b = 3, c = 1, y = 0;y = a * b + c;return 0;
}

代码(高级语言)先编译装入主存储器

MAR带个(),寄存器打个括号,指的是寄存器里面的内容

M代表主存储器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YxS5YOSD-1677643705131)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228213903639.png)]

第一过程:

PC先指向主存储器地址为0的地址,PC通过控制线路传给MAR,MAR指向主存地址为0的地址

存储体将MAR的地址取来,再将主存地址为0的内容反馈给MDR。MDR=000001 0000000101

将MDR的内容(操作码+地址码)传给IR(指令寄存器)

IR将其中的操作码000001传给CU(控制单元,给出控制信号),CU分析后,得知是"“取数”"指令

IR的地址码0000000101传给MAR,导致MAR=5

主存储器中的MAR地址的数据传给MDR,MDR=0000000000000010=2

MDR将数据传给ACC,并存放在ACC中,导致ACC=0000000000000010=2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aRcY0Api-1677643705131)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228215221595.png)]

第二过程:

PC+1,PC=1后,ACC此时为2

PC通过数据线传给MAR,MAR=1

存储体通过MAR传来的地址传其数据给MDR=000100 000000110

MDR传给IR,IR=000100 000000110

IR将其操作码000100传给CU,CU分析后得知这是乘法指令

IR的地址码000000110传给MAR,MAR=6

MAR将其地址传给存储体,存储体传给MDR,MDR=0000000000000011=3

MDR将其数据传给MQ,MQ=0000000000000011=3

ACC=2,将ACC的数值传给X,X=2

MQ*X的数值传给ACC寄存起来,再通过ALU实现乘法运算,导致ACC=6(如果乘积太大,就需要MQ辅助存储)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V1DvWBku-1677643705131)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228215608816.png)]

PC+1=2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HX1tKk6d-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228215916495.png)]

PC+1=3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q5Q4GjCt-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228220130980.png)]

PC=4

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iO0rCWJm-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228220228753.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVzfsTtR-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228220407710.png)]

计算机系统的层次结构

[外链图片转存中...(img-c07cFItn-1677643705132)]

在这里插入图片描述
[外链图片转存中...(img-yNNWEdLa-1677643705133)]

相关文章:

【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件

计算机组成原理&#xff08;一&#xff09; 计算机内部是通过电信号传递数据 电信号&#xff1a;分为高电平和低电平&#xff0c;分别代表1/0 数字、文字、图像如何用二进制表示? CPU如何对二进制数进行加减乘除? 如何存储这些二进制数的? 如何从内存中取出想要的数…...

使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释

二代测序产生的数据类型 常规的下一代高通量测序&#xff08;next generation sequencing, NGS&#xff09;实验通常产生大量短片段(reads)&#xff0c;通常我们需要将这些reads比对到参考基因组/转录组上&#xff0c;即将它们置于生物学上有意义的基因背景下&#xff0c;才能…...

第九届蓝桥杯省赛——7缩位求和

题目&#xff1a;在电子计算机普及以前&#xff0c;人们经常用一个粗略的方法来验算四则运算是否正确。比如&#xff1a;248 * 15 3720把乘数和被乘数分别逐位求和&#xff0c;如果是多位数再逐位求和&#xff0c;直到是1位数&#xff0c;得2 4 8 14 > 1 4 5;1 5 65…...

【c++】STL常用容器5—list容器

文章目录list基本概念list构造函数list赋值和交换list大小操作list插入和删除list数据存取list反转和排序list基本概念 功能&#xff1a;将数据进行链式存储。 链表&#xff08;list&#xff09;是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链…...

【牛客刷题专栏】0x0D:JZ5 替换空格(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转)&#xff0c;它登陆后会保存刷题记录进度&#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏&#xff1a;个人CSDN牛客刷题专栏。 题目来自&#xff1a;牛客/题库 / 在线编程 / 剑指offer&#xff1a; 目录前言问题…...

聚观早报 | 苹果2024年放弃高通;腾讯回应进军类 ChatGPT

今日要闻&#xff1a;苹果2024年放弃高通&#xff1b;腾讯回应进军类 ChatGPT&#xff1b;小米发布无线AR眼镜探索版&#xff1b;50%的美国企业已在使用ChatGPT&#xff1b;Snap推出ChatGPT驱动的聊天机器人 苹果2024年放弃高通 高通公司 CEO 兼总裁克里斯蒂亚诺・安蒙&#xf…...

Elasticsearch:如何正确处理 Elasticsearch 摄取管道故障

在我之前的文章 “Elastic&#xff1a;开发者上手指南” 中的 “Ingest pipeline” 章节中个&#xff0c;我有很多文章是关于 ingest pipeline 的。在今天的文章中&#xff0c;我将重点介绍如何处理在摄取管道中的错误。在我之前的文章 “Elasticsearch&#xff1a;如何处理 in…...

指标体系—北极星指标体系

北极星指标体系 每个产品都有很多指标,每个指标都反映了对应业务的经营情况。但是在实际业务经营中,却要求我们在不同的产品阶段寻找到合适的指标,让这个指标可以代表当前产品阶段的方向和目标,让这个指标不仅对业务经营团队,而且对产品的用户、对产品的价值都能有很好的…...

【操作系统】内存管理

虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存&#xff0c;从而让程序获得更多的可用内存。 为了更好的管理内存&#xff0c;操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间&#xff0c;这个地址空间被分割成多个块&#xff0c;每一块称为一页。…...

家庭消耗品跟踪管理软件HomeLists

什么是 HomeLists &#xff1f; HomeLists 是一款自托管耗材统计软件&#xff0c;能通过提醒等帮助您跟踪家庭消耗品。 安装 在群晖上以 Docker 方式安装。 在注册表中搜索 homelists &#xff0c;选择第一个 aceberg/homelists&#xff0c;版本选择 latest。 本文写作时&…...

django模型简要(1)

1. AbstractUser(内置用户模型类)的使用 ### 需要在settings.py中添加如下&#xff1a; AUTH_USER_MODEL app.MyUser 说明&#xff1a;这是为了覆盖django默认的User model&#xff1b;app即模型所属app&#xff0c;MyUser即AbstractUser实现类。 2.on_delete选项 从django3.…...

【shell 编程大全】sed详解

sed详解1. 概述 今天单独拉出一章来讲述下sed命令。因为sed命令确实内容太多&#xff0c;不过也是比较灵活的&#xff0c;好了不废话了。我们开始吧 1.2 原理解析 shell脚本虽然功能很多&#xff0c;但是它最常用的功能还是处理文本文件&#xff0c;尤其是在正常的业务操作流程…...

关于sudo配置

前言这里做一个小补充&#xff0c;主要讲一下关于利用sudo对指令提权以及普通用户无法使用sudo指令的问题。在前面的文章【Linux】一文掌握Linux权限中&#xff0c;我们讲到了关于权限的一些问题。我们知道root身份下&#xff0c;一切畅通无阻&#xff0c;而权限只是用来限制我…...

EEGLAB处理运动想象脑电数据

最近在看论文时&#xff0c;经常看到作者处理数据的过程&#xff0c;之前都是一代而过&#xff0c;知道怎么处理就可以了&#xff0c;一直没有实践&#xff0c;最近需要一些特殊的数据&#xff0c;需要自己处理出来&#xff0c;这里尝试着自己用MATLAB处理数据&#xff0c;记录…...

span标签的使用场景

目录 前言 一、span标签是什么&#xff1f; 二、span常用 1.可以嵌套a标签。 2.直接使用 3.加样式使用 4.加按钮使用 5.加a标签的综合使用 6.跟table结合使用 总结 前言 本篇章主要记录一下开发日常中&#xff0c;所常遇见的使用span标签的场景。 一、span标签是什么…...

Kafka面试问题总结

kafka架构2.基础概念Producer&#xff08;生产者&#xff09; : 产生消息的一方。Consumer&#xff08;消费者&#xff09; : 消费消息的一方。Broker&#xff08;代理&#xff09; : 可以看作是一个独立的 Kafka 实例。多个 Kafka Broker 组成一个 Kafka Cluster。同时&#x…...

FPGA案例开发手册——基于全志T3+Logos FPGA核心板

前 言 本文档主要提供评估板FPGA端案例测试方法,适用的开发环境为Windows 7 64bit和Windows 10 64bit。 本文案例基于创龙科技的全志T3+Logos FPGA核心板,它是一款基于全志科技T3四核ARM Cortex-A7处理器 + 紫光同创Logos PGL25G/PGL50G FPGA设计的异构多核全国产工业核心板…...

或许你想要的画图工具在这里

之前文章发布后&#xff0c;有小伙伴问下面的画怎么画的&#xff08;偷偷告诉你&#xff0c;其实我是用铅笔水彩笔画的&#xff09;&#xff0c;哈哈&#xff0c;开玩笑了。其实这些图都是用Excalidraw 画出来的。 我们平常不管是工作中&#xff0c;还是在日常写文章&#x…...

2023年功能测试还值得入行吗?

前言 鉴于笔者从13年入行IT行业&#xff0c;经历了只有开发没有测试的阶段&#xff0c;经历了14年只要会基本的功能测试在一线就能薪资过万的阶段&#xff0c;经历了17年只要会一点自动化&#xff0c;会一点性能就能蒙骗过面试官的阶段&#xff0c;更经历了19年所有面试官对于…...

2022-2023山东大学机器学习期末回忆及复习建议

2023年第一次闭卷考试&#xff0c;让我们准备时都很无力&#xff0c;不知道试题究竟是什么难度&#xff0c;是否要掌握手推公式还有一些晦涩的知识点之类的&#xff0c;看到试题才发现其实闭卷也有好处&#xff0c;与往年题相比难度下降了不少。 一、名词解释 1、测试集 2、Boo…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...