【计算机组成原理 1】计算机硬件概念

0️⃣ 参考

  • 王道计算机考研408

1️⃣ 冯·诺依曼机

  • 核心思想【存储程序】
    存储程序就是将指令先放入内存中,再从内存读取指令执行,从而实现自动化。
  • 核心 【运算器】
    在这里插入图片描述
  • 说明:在计算机系统中,软件和硬件在逻辑上是等效的
    例如:乘法的实现,既可以在存储器中使用硬件电路实现乘法允许,也可以使用软件多次加法模拟

六大特点

  1. 由五个硬件部分组成【输入设备、输出设备、存储器、运算器、控制器】
  2. 指令和数据以同等地位存入存储器,并且可以按地址寻访
  3. 指令和数据都是二进制
  4. 指令由操作码和地址组成
  5. ”存储程序“
  6. 以运算器为中心

弊端

可以发现数据一开始放入存储器时,不能直接放入存储器需要经过运算器、读取数据时不能直接从存储器读取,还要经过运算器

所以运算器压力🍐很大,至此,现代计算机诞生。

2️⃣ 现代计算机

  • 核心特点:【以存储器为中心】,解决了冯·诺依曼机让运算器压力大的问题
  • CPU诞生:【运算器+控制器】,紧密联系,提高效率
    在这里插入图片描述

设备总结

主机

在这里插入图片描述

设备

在这里插入图片描述

3️⃣ 存储器

基本结构图

在这里插入图片描述

读取过程

    1. CPU先将需要取的地址放入MAR
    2. 主存储器控制逻辑去找地址对应得值
    3. 找到后写入MDR
    4. 最后CPU通过数据线路取走MDR的数据
    1. CPU将想要写入的位置放在MAR
    2. CPU将想要写入的数据放在MDR
    3. CPU通过控制总线告诉主存储器,“我要写”
    4. 主存储器通过这三个信息就明白了,就去存

存储体

  • 存储单元:一串二进制代码
  • 存储字:就是存储单元中存的东西(一串二进制代码)

  • 存储字长:存储单元中二进制代码的长度

  • 存储元:小电容,存储一个bit

计算细节和混淆点

存储体中取出的数据是要放入MDR的,所以MDR位数 = 存储体位数(存储字长)

  • 例如

    • MAR = 4位,说明有个序号,也就是有16个存储单元【整体的个数】
    • MDR = 16位,说明存储字长为16,也就是一个字(word,不是字节)的大小为16bit
  • 混淆点【字 和 字节 和 比特位】

    • 字(word),不确定,看计算机
    • 字节(Byte),1B = 8bit,8个比特位,是固定的【100Mbps,大约就是100/8 MB/s】
    • 比特位(bit),可以简称比特,也可以简称位

4️⃣ 运算器

  • ACCAccumulate Register】累加器,存放操作数或运算结果

  • MQMultiple-Quotient Register】乘商存储器,存放操作数或运算结果

  • X 通用的操作数存储器,多个

  • ALUArithmetic and Logic Unit】算术逻辑单元,核心,其他都是寄存器,它才是老大

在这里插入图片描述

5️⃣ 控制器

  • CUControl Unit】控制单元,核心

  • IRinstruction Register】指令寄存器,存放当前执行指令

  • PCProgram Counter】程序计数器,存放下一条指令地址,自动加1
    在这里插入图片描述

宏观的完成一条指令

  1. 取指令 PC
  2. 分析指令 IR
  3. 执行指令 CU

6️⃣ 执行过程【难点】

高级语言 -> 机器语言

在这里插入图片描述



第一条指令

在这里插入图片描述

(PC)是指读取PC中的数据

  1. (PC) -> MAR 【此时MAR = 0】,由于PC存储下一条指令的地址,所以最开始从PC中拿,地址!地址!地址!这里比较绕,下一条地址也就是这次该执行的地址,不要专牛角尖
  2. M(MAR) -> MDR【MDR = 000001 0000000101】,由地址在存储体中找到相应的指令或值
  3. (MDR)-> IR【IR = 000001 0000000101】
  4. OP(IR) -> CU 将IR中的操作码部分取出,交给CU分析,然后分析出是取数指令
  5. AD(IR) -> MAR 【MAR = 0000000101(5)】,由CU分析出取数,就取出IR中地址码的数
  6. M(MAR) -> MDR 【MDR = 0000000000000010(2)】
  7. (MDR) -> ACC 【ACC = 2】,在控制单元的控制下,将数据放到ACC中


第二条指令

在这里插入图片描述

PC执行完上一条指令后,会自动+1,所以现在PC = 1

  1. (PC) -> MAR 【MAR = 1】
  2. M(MAR) -> MDR 【MDR = 00100 0000000110】
  3. (MDR) -> IR 【IR = 00100 0000000110】
  4. OP(IR) -> CU 【CU = 00100】

  1. CU分析后发现,是一个乘法操作,开始指挥IR去取数
  2. AD(IR) -> MAR 【MAR = 0000000110(6)】
  3. M(MAR) -> MDR 【MAR = 0000000000000011(3)】
  4. (MDR)-> MQ 【MQ = 3】
  5. CU发现是乘法操作,先(ACC) -> X【X = 2】,将被乘数放入X3 * 1,3是被乘数
  6. (MQ)(X)-> ACC 【ACC = 32 = 6】,如果结果很大,会放入MQ辅助存储


第三条指令

在这里插入图片描述

可以发现前面取数指令是相同的,下面直接就省略了

  1. CU分析后发现是一条加法指令
  2. AD(IR) -> MAR 【MAR = 0000000111(7)】
  3. M(MAR) -> MDR 【MDR = 0000000000000001(1)】
  4. M(MDR) -> X 【X = 1】
  5. (ACC) + (X) -> ACC 【ACC = 7】,由ALU实现加法运算


第四条指令

在这里插入图片描述

  1. CU分析后发现是一条存储指令
  2. AD(IR) -> MAR 【MAR = 0000001000(8)】
  3. (ACC) -> MDR 【MDR = 7】,先将要存储的数据放在MDR中
  4. 控制单元会通过控制总线告诉主存储器,此次要进行写操作,然后主存储器就会把MDR放入MAR的地址中【原始数据y = 8】


第五条指令

  1. CU分析后发现是一条停机指令,就结束了

总结分析

慢慢不难发现,前面的取数操作基本上是一样的,变化的是在CU分析完操作码后的操作

  • 冯·诺依曼机的特点更加明显
    • 五大部件
    • 指令和数据平等存放在存储器中
    • 指令和数据都是二进制
    • 指令 = 操作码 + 地址码
    • 存储程序
    • 以运算器为中心

7️⃣ 计算机系统的层次结构

五层结构

  • M4【高级语言机器】,执行高级语言

  • M3【汇编语言机器】,执行汇编语言

  • M2【操作系统机器】,向上提高操作系统指令


  • M1【传统机器】,执行机器指令

  • M0【微程序机器】,执行微指令

在这里插入图片描述

三个级别的语言

  • 高级语言 【编译器、解释器】

  • 汇编语言【相当于机器码的助记符号】

  • 机器语言【真正能执行的】

编译、汇编、解释程序统称为:翻译程序

在这里插入图片描述

机体与机组的区别

  • 计算机体系结构,研究的是硬件和软件之间的接口设计
  • 计算机组成原理,研究的是如何用硬件实现定义的接口

8️⃣ 计算机性能指标

存储器

总容量 = 存储单元的个数( 2 M A R 2^{MAR} 2MAR) * 存储单元的容量(len(MDR))

  • 例如
    • MAR为32位,MDR为8bit
      则,总容量为 2 32 ∗ 8 b i t = 4 G b ∗ 8 b i t = 4 G B 2^{32}* 8bit = 4Gb * 8bit = 4GB 2328bit=4Gb8bit=4GB

2 10 = 1 K b ∗ 8 b i t = 1 K B 2^{10} = 1Kb * 8bit = 1KB 210=1Kb8bit=1KB
2 20 = 1 M b ∗ 8 b i t = 1 M B 2^{20} = 1Mb * 8bit = 1MB 220=1Mb8bit=1MB
2 30 = 1 G b ∗ 8 b i t = 1 G B 2^{30} = 1Gb * 8bit = 1GB 230=1Gb8bit=1GB
2 40 = 1 T b ∗ 8 b i t = 1 T B 2^{40} = 1Tb * 8bit = 1TB 240=1Tb8bit=1TB

CPU【重点】

在这里插入图片描述

  • CPU时钟周期:也就是上图中一段的脉冲信号【单位:微秒、纳秒】
  • CPU主频 1 C P U 时钟周期 \frac{1}{CPU时钟周期} CPU时钟周期1【单位:Hz】
  • CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期【是一个数】,这个还会受到其他硬件约束,所以一般都是考虑平均CPI
  • 执行一条指令的耗时:CPI * CPU时钟周期
  • CPU执行时间 指令条数 ∗ C P I C P U 主频 \frac{指令条数 * CPI}{CPU主频} CPU主频指令条数CPI

例如:
CPU主频1000Hz,程序包含100条指令,平均CPI位3,则该程序在CPU上执行需要多久?
100 ∗ 3 1000 \frac{100 * 3}{1000} 10001003

IPS(Instructions Per Second):每秒钟执行多少条指令【IPS= C P U 主频 平均 C P I \frac{CPU主频}{平均CPI} 平均CPICPU主频】,当然也有KIPS、MIPS…

  • FLOPS:每秒执行多少次浮点运算,当然也有KFLOPS、MFLOPS、GFLOPS、TFLOPS

注意
这里K是103,M是106…是1000的倍数,与容量的要区分开

9️⃣ 系统整体性能指标

常见指标

  • 数据通路带宽:也就是数据传输总线的容量
  • 吞吐量:系统在单位时间内处理请求的数量
  • 响应时间:处理到处理结束的时间
  • 基准程序:…鲁大师…

CPU小问题

  • 主频高一定比主频低的快吗?

    • 不一定,因为CPI不一样
    • 例如:A主频2GHz CPI=10,B主频1GHz CPI=1。
      • A(IPS)= 2 10 = 0.5 \frac{2}{10} = 0.5 102=0.5
      • B(IPS)= 1 1 = 1 \frac{1}{1} = 1 11=1
      • 所以B更快
  • CPI也相同会更快吗?

    • 不一定,指令系统不同,也是不一样的
  • 基准程序越快越好吗?

    • 不一定,因为,每个电脑的侧重点不同,存在语句的频度差异

1️⃣0️⃣温馨提示

注意单位

  • 描述存储容量、文件大小时【 k = 2 10 k = 2^{10} k=210
  • 描述频率、速率时【 k = 1 0 3 k = 10^3 k=103…】

字节与字

  • 是要看系统定的【word
  • 字节B】,就是等于8bit

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Debian 系统设置SSH 连接时长

问题现象: 通过finalshell工具连接Debian系统远程操作时,总是一下断开一下断开,要反复重新连接 ,烦人! 解决办法: 找到ssh安装目录下的配置文件:sshd_config vi sshd_config : 找到…

基于Springboot+Vue的Java项目-火车票订票系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

Matlab实现CNN-LSTM模型,对一维时序信号进行分类

1、利用Matlab2021b训练CNN-LSTM模型,对采集的一维时序信号进行分类二分类或多分类 2、CNN-LSTM时序信号多分类执行结果截图 训练进度: 网络分析: 指标变化趋势: 代码下载方式(代码含数据集与模型构建,附…

基于Springboot的爱心商城系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的爱心商城系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

Idea异常 | Process 453 is still running

问题现象 Idea启动报错"Cannot connect to already running IDE instance. Exception: Process 453 is still running" 问题原因 通常原因是Idea未正常关闭,导致进程锁文件没有删除。同样Pycharm等其它JeBrains等产品也有可能出现这个问题 解决办法 查…

图像预处理工具_CogImageFileTool

CogImageFileTool工具可以用来将单张图片或idb格式的图片数据库读入内存。也可使用CoglmageFileTool工具将图片插入到.idb数据库里。 添加工具 参数介绍 文件名 写入模式 读取模式 删除

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.4

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

Django初步了解

目录 一、什么是Django 二、Django的设计模式 三、涉及的英文缩写及其含义 四、安装(官方教程) 一、什么是Django Django是一个Python Web框架,可以快速开发网站,提供一站式的解决方案,包括缓存、数据库ORM、后台…

CAPS Wizard for Mac:打字输入辅助应用

CAPS Wizard for Mac是一款专为Mac用户设计的打字输入辅助应用,以其简洁、高效的功能,为用户带来了全新的打字体验。 CAPS Wizard for Mac v5.3激活版下载 该软件能够智能预测用户的输入内容,实现快速切换和自动大写锁定,从而大大…

用Jenkins实现cherry-pick多个未入库的gerrit编译Android固件

背景: 在做Android固件开发的时候,通常我们可以利用gerrit-trigger插件,开发者提交一笔的时候自动触发jenkins编译,如果提交的这一笔的编译依赖其他gerrit才能编译过,我们可以在commit message中加入特殊字段,让jenkins在编译此笔patch的时候同时抓取依赖的gerrit代码下…

Maven介绍 主要包括Maven的基本介绍,作用,以及对应的Maven模型,可以对Maven有一个基本的了解

1、Maven介绍 1.1 什么是Maven Maven是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 官网:https://maven.apache.org/ Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会&…

【办公类-22-13】周计划系列(5-5)“周计划-05 周计划表格内教案部分“节日”清空改成“节日“” (2024年调整版本)Win32

背景需求: 本学期19周,用了近10周的时间,终于把周计划教案部分的内容补全了(把所有教案、反思的文字都撑满一个单元格), 一、原始教案 二、新模板内的教案 三、手动添加文字后的样式(修改教案…

第 4 篇 : Netty客户端互发图片和音/视频

说明 因为图片和音/视频不能确定其具体大小, 故引入MinIO。客户端之间只发送消息, 通过上传/下载来获取额外信息 1. MinIO搭建(参考前面文章), 并启动 2. 登录MinIO创建3个Bucket: image、voice、video 3. 客户端改造 3.1 修改 pom.xml <?xml version"1.0" …

党建3d互动虚拟现实网上展厅有何优势?

在数字化浪潮席卷全球的今天&#xff0c;企业如何迅速踏上虚拟世界的征程&#xff0c;开启元宇宙之旅?答案就是——3D虚拟云展。这一创新平台&#xff0c;华锐视点以虚拟现实技术和3D数字建模为基石提供3D云展搭建服务&#xff0c;助力企业轻松搭建起虚拟数字基础设施&#xf…

【linux】动静态库的使用与制作

本章节是基础IO的的最后一个话题!! 目录 浅谈一下动静态库&#xff1a;动静态库的制作与使用&#xff1a;静态库&#xff1a;怎么办&#xff1a;方法一&#xff1a;方法二&#xff1a;方法三&#xff1a;方法四&#xff1a; 是什么&#xff1a;为什么&#xff1a; 动态库&#…

机器学习:基于Sklearn、XGBoost框架,使用逻辑回归、支持向量机和XGBClassifier预测帕金森病

前言 系列专栏&#xff1a;机器学习&#xff1a;高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目&#xff0c;每个项目都处理一组不同的问题&#xff0c;包括监督和无监督学习、分类、回归和聚类&#xff0c;而且涉及创建深度学…

USB HID报告描述符学习

参考资料 HID 报告描述符 (qq.com)https://mp.weixin.qq.com/s?__bizMzU1ODI3MzQ1MA&mid2247485748&idx1&sn112bd8014eb96b03308b3b808549e8d4&chksmfc284ff1cb5fc6e770c2d2ece46c17bf2529901b45a357938978fa62163723556ad497b05c47&cur_album_id3340417…

低代码+定制物资管理:创新解决方案探析

引言 在当今快速变化的商业环境中&#xff0c;企业面临着不断增长的挑战&#xff0c;如提高效率、降低成本、满足客户需求等。为了应对这些挑战&#xff0c;企业需要不断创新并采用先进的技术解决方案。在这样的背景下&#xff0c;低代码开发和定制化物资管理成为了引领企业变…

大象机器人开源六轴协作机械臂myCobot 320 手机摄影技术!

引言 有没有遇到过这样的情况&#xff1a;当你手持手机或相机准备拍摄视频时&#xff0c;心中已经构想了完美的画面&#xff0c;但却因为实际的限制无法捕捉到理想中的角度&#xff1f;这种情况可能会让人感到挫折。例如&#xff0c;如果想要从地面一只蚂蚁的视角拍摄&#xff…

罗宾斯《管理学》第15版笔记/课后习题/考研真题答案

第Ⅰ篇 管理导论 第1章 工作场所中的管理者和你 1.1 知识结构导图 1.2 考点难点归纳 1.3 课后习题详解 1.4 考研真题详解 附加模块一 管理史 知识结构导图 考点难点归纳 课后习题详解 考研真题详解 第2章 决 策 2.1 知识结构导图 2.2 考点难点归纳 2.3 课后习题详解…