【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件
计算机组成原理(一)
计算机内部是通过电信号传递数据
电信号:分为高电平和低电平,分别代表1/0
![[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4lar3S2l-1677643789134)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228165823634.png)]](https://img-blog.csdnimg.cn/eadf6d322bc14f2d92dc9208f9c0b8a1.png)
-
数字、文字、图像如何用二进制表示?
-
CPU如何对二进制数进行加减乘除?
-
如何存储这些二进制数的?
-
如何从内存中取出想要的数据?
-
CPU如何识别和执行我们写的程序?
这些问题我们在下面会得到解释,请往下看
计算机系统的概述
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l4DTfalE-1677643850672)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228170155373.png)]](https://img-blog.csdnimg.cn/7d4953dc669745a78467546347dc5908.png)
计算机系统=硬件+软件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TH3T3V3q-1677643705128)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230226221726764.png)]](https://img-blog.csdnimg.cn/cacef2b18e0b424b8c91ae3d8065f45c.png)
软件分为系统软件和应用软件
系统软件:用来管理整个计算机系统。eg:操作系统
应用软件:按任务需求编制成的各种程序.eg:抖音,王者荣耀
硬件的发展:
第一代计算机:
逻辑元件是电子管,因此被称为电子管时代
体积超大、耗电量超大
第二代计算机:
逻辑元件:晶体管,被称为晶体管时代
体积和功耗降低了,出现了面对过程的编程语言
并且fortran的操作系统
第三代计算机:
逻辑元件:中小规模集成电路,因此被称为中小规模集成电路时代
第四代:
超大规模集成电路时代
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4jWxcad-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228171443823.png)]](https://img-blog.csdnimg.cn/89ceafe63c654811aa2ee8f0814d137c.png)
机械字长:
计算机一次整数运算所能处理的二进制位数
计算机硬件的基础组成
存储系统:
将指令以二进制代码的形式事先输入计算机的主存储器。
然后将其在存储器中的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直到程序执行结束。
冯诺依曼机结构:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zsyoJ7Sz-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228193040254.png)]](https://img-blog.csdnimg.cn/e83c893901e6480281deb0a11ed29bdb.png)
黑色的线是数据线
蓝色的线是控制器接受和指挥各个部件的控制线or反馈线
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hNYxdPKV-1677643705129)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230227081617093.png)]](https://img-blog.csdnimg.cn/f68a548f822445d09133a35f55bafaa9.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)]](https://img-blog.csdnimg.cn/b20e4eeaf13849bdb47546f0d68eb508.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZWu5GjK-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230227082659908.png)]](https://img-blog.csdnimg.cn/689e233dd9d94d76b12510a8b7f1d440.png)
认识各个硬件部件
主存储器:
主存储器:存储体+MAR(地址寄存器)+MDR(数据寄存器)
数据在存储体内按地址存储
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GyIhZV60-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228212056478.png)]](https://img-blog.csdnimg.cn/5f00b08cc27342c6a0f2da9ebdbd7e82.png)
存储体分为一个一个存储单元
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数,,一般是8个bit的整数倍
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AP4451MJ-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228225003869.png)]](https://img-blog.csdnimg.cn/bbe84892707245669a2c4a3a130b42fa.png)
数据在存储体内按地址存储
MAR:反映存储单元的个数
MDR:存储字长
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xzmd5cAp-1677643705130)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228213158117.png)]](https://img-blog.csdnimg.cn/3c3c26c6be3d447fa1dd53f28379230f.png)
MAR=4位(4个比特位),对应2的四次方个存储单元(因为四个比特位,对应4的全排列种可能)
MDR=16位,一个字(存储字长)=16bit
运算器:
运算器:用来实现算术运算、逻辑运算
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMdAPl6m-1677643705131)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228213353656.png)]](https://img-blog.csdnimg.cn/df6a9118c697476c9baac98da5172e0a.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)]](https://img-blog.csdnimg.cn/387f3a5d4533440d9011f4a029aa8236.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)]](https://img-blog.csdnimg.cn/8ffbc0e9d30c4bf49f2a3f02725c2034.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)]](https://img-blog.csdnimg.cn/15b085d492954f9e9ad3252adc4f1223.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)]](https://img-blog.csdnimg.cn/60a20e0261d24c528e1fff858cfdb490.png)
PC+1=2
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HX1tKk6d-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228215916495.png)]](https://img-blog.csdnimg.cn/9d5c940da6614bdab9d7b2db66441983.png)
PC+1=3
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q5Q4GjCt-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228220130980.png)]](https://img-blog.csdnimg.cn/7c2f5864fe86430491b1e84c88e90139.png)
PC=4
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iO0rCWJm-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228220228753.png)]](https://img-blog.csdnimg.cn/3d80a282db0d4a47bdc0d5f74ed0b8d9.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVzfsTtR-1677643705132)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230228220407710.png)]](https://img-blog.csdnimg.cn/a67b1e9bf033491ea5bbdeaddc733416.png)
计算机系统的层次结构
![[外链图片转存中...(img-c07cFItn-1677643705132)]](https://img-blog.csdnimg.cn/7f5ac0006e5f49eea3aaaa06661edbae.png)

![[外链图片转存中...(img-yNNWEdLa-1677643705133)]](https://img-blog.csdnimg.cn/cb202e8d21864940a0ba43e025d3b128.png)
相关文章:
【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件
计算机组成原理(一) 计算机内部是通过电信号传递数据 电信号:分为高电平和低电平,分别代表1/0 数字、文字、图像如何用二进制表示? CPU如何对二进制数进行加减乘除? 如何存储这些二进制数的? 如何从内存中取出想要的数…...
使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释
二代测序产生的数据类型 常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录组上,即将它们置于生物学上有意义的基因背景下,才能…...
第九届蓝桥杯省赛——7缩位求和
题目:在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。比如:248 * 15 3720把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得2 4 8 14 > 1 4 5;1 5 65…...
【c++】STL常用容器5—list容器
文章目录list基本概念list构造函数list赋值和交换list大小操作list插入和删除list数据存取list反转和排序list基本概念 功能:将数据进行链式存储。 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链…...
【牛客刷题专栏】0x0D:JZ5 替换空格(C语言编程题)
前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录前言问题…...
聚观早报 | 苹果2024年放弃高通;腾讯回应进军类 ChatGPT
今日要闻:苹果2024年放弃高通;腾讯回应进军类 ChatGPT;小米发布无线AR眼镜探索版;50%的美国企业已在使用ChatGPT;Snap推出ChatGPT驱动的聊天机器人 苹果2024年放弃高通 高通公司 CEO 兼总裁克里斯蒂亚诺・安蒙…...
Elasticsearch:如何正确处理 Elasticsearch 摄取管道故障
在我之前的文章 “Elastic:开发者上手指南” 中的 “Ingest pipeline” 章节中个,我有很多文章是关于 ingest pipeline 的。在今天的文章中,我将重点介绍如何处理在摄取管道中的错误。在我之前的文章 “Elasticsearch:如何处理 in…...
指标体系—北极星指标体系
北极星指标体系 每个产品都有很多指标,每个指标都反映了对应业务的经营情况。但是在实际业务经营中,却要求我们在不同的产品阶段寻找到合适的指标,让这个指标可以代表当前产品阶段的方向和目标,让这个指标不仅对业务经营团队,而且对产品的用户、对产品的价值都能有很好的…...
【操作系统】内存管理
虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。…...
家庭消耗品跟踪管理软件HomeLists
什么是 HomeLists ? HomeLists 是一款自托管耗材统计软件,能通过提醒等帮助您跟踪家庭消耗品。 安装 在群晖上以 Docker 方式安装。 在注册表中搜索 homelists ,选择第一个 aceberg/homelists,版本选择 latest。 本文写作时&…...
django模型简要(1)
1. AbstractUser(内置用户模型类)的使用 ### 需要在settings.py中添加如下: AUTH_USER_MODEL app.MyUser 说明:这是为了覆盖django默认的User model;app即模型所属app,MyUser即AbstractUser实现类。 2.on_delete选项 从django3.…...
【shell 编程大全】sed详解
sed详解1. 概述 今天单独拉出一章来讲述下sed命令。因为sed命令确实内容太多,不过也是比较灵活的,好了不废话了。我们开始吧 1.2 原理解析 shell脚本虽然功能很多,但是它最常用的功能还是处理文本文件,尤其是在正常的业务操作流程…...
关于sudo配置
前言这里做一个小补充,主要讲一下关于利用sudo对指令提权以及普通用户无法使用sudo指令的问题。在前面的文章【Linux】一文掌握Linux权限中,我们讲到了关于权限的一些问题。我们知道root身份下,一切畅通无阻,而权限只是用来限制我…...
EEGLAB处理运动想象脑电数据
最近在看论文时,经常看到作者处理数据的过程,之前都是一代而过,知道怎么处理就可以了,一直没有实践,最近需要一些特殊的数据,需要自己处理出来,这里尝试着自己用MATLAB处理数据,记录…...
span标签的使用场景
目录 前言 一、span标签是什么? 二、span常用 1.可以嵌套a标签。 2.直接使用 3.加样式使用 4.加按钮使用 5.加a标签的综合使用 6.跟table结合使用 总结 前言 本篇章主要记录一下开发日常中,所常遇见的使用span标签的场景。 一、span标签是什么…...
Kafka面试问题总结
kafka架构2.基础概念Producer(生产者) : 产生消息的一方。Consumer(消费者) : 消费消息的一方。Broker(代理) : 可以看作是一个独立的 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设计的异构多核全国产工业核心板…...
或许你想要的画图工具在这里
之前文章发布后,有小伙伴问下面的画怎么画的(偷偷告诉你,其实我是用铅笔水彩笔画的),哈哈,开玩笑了。其实这些图都是用Excalidraw 画出来的。 我们平常不管是工作中,还是在日常写文章&#x…...
2023年功能测试还值得入行吗?
前言 鉴于笔者从13年入行IT行业,经历了只有开发没有测试的阶段,经历了14年只要会基本的功能测试在一线就能薪资过万的阶段,经历了17年只要会一点自动化,会一点性能就能蒙骗过面试官的阶段,更经历了19年所有面试官对于…...
2022-2023山东大学机器学习期末回忆及复习建议
2023年第一次闭卷考试,让我们准备时都很无力,不知道试题究竟是什么难度,是否要掌握手推公式还有一些晦涩的知识点之类的,看到试题才发现其实闭卷也有好处,与往年题相比难度下降了不少。 一、名词解释 1、测试集 2、Boo…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
