【计算机组成原理 - 第一章】计算机系统概论(完结)
本章参考王道考研相关课程:
【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili
【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili
【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili
【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili
目录
一、计算机的发展
二、计算机软硬件概念
三、计算机系统层次结构
1、三个级别的语言
2、翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?
四、计算机的基本组成
1、冯诺依曼计算机特点
2、计算机硬件框图
(1)主存储器(cpu可以直接访问)、辅助存储
(2)运算器
(3)控制器
五、计算机工作过程
1、取数指令 编辑
2、乘法指令
3、加法指令
4、存数指令
5、计算机工作过程总结
1、取指阶段(必经阶段)
2、分析阶段(必经阶段)
3、执行阶段(根据不同指令步骤不同)
六、计算机性能指标
1、机器字长
2、存储器的性能指标
3、CPU的性能指标
4、系统整体性能指标
5、主频高的CPU一定比主频低的CPU快吗?为什么?
一、计算机的发展
- 第一代:电子管计算机
- 第二代:晶体管计算机
- 第三代:较小规模集成电路
- 第四代:较大规模集成电路
二、计算机软硬件概念
- 系统软件:标准程序库、语言处理程序、操作系统、服务程序、数据库管理系统、网络软件等
- 应用软件:科学计算类程序,工程设计类程序,数据统计与处理程序
三、计算机系统层次结构
1、三个级别的语言
- 机器语言:二进制代码,计算机唯一可以直接识别和执行的语言
- 汇编语言:用英文单词或其缩写代替二进制指令,必须经过一个称为汇编程序的系统软件翻译,将其转换为机器语言,才能在计算机的硬件系统上执行
- 高级语言:为方便程序员处理问题,经过编译程序编译成汇编语言,然后通过汇编程序转换成机器语言,或直接由高级语言程序翻译成机器语言
- 高级语言 ——编译——> 汇编语言 ——汇编——> 机器语言
- 边翻译边执行叫做解析
2、翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?
翻译程序:包括编译程序和解释程序
- 编译程序:将高级语言一次全部翻译成目标程序
- 解释程序:翻译一句执行一句,并且不会生成目标程序
汇编程序:将汇编语言翻译成机器语言
四、计算机的基本组成
1、冯诺依曼计算机特点
- 计算机由运算器、存储器、控制器、输入设备、输出设备组成
- 指令和数据以同等地位存放于存储器内,并按地址寻访
- 数据和指令均用二进制数表示
- 指令由操作码和地址码组成
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成
- 早期冯诺依曼机最根本特征是【程序存储】,即按照地址访问并顺序执行指令
- 计算机五大功能:数据传送功能、数据存储功能、数据处理功能、操作控制功能、操作判断功能
2、计算机硬件框图
(1)主存储器(cpu可以直接访问)、辅助存储
存储体含有许多存储单元,每个存储单元包含若干个存储元,每个存储元可以0或1
- 存储字:一个存储单元存储一串二进制代码
- 存储字长:这串二进制代码的位数
为了实现按地址存取,主存配置两个寄存器:
- 地址寄存器MAR:指明要读/写哪个存储单元。位数=存储单元的个数
- 数据寄存器MDR:暂存要读/写的数据。位数=存储字长
(2)运算器
- 运算器最少包括3个寄存器和一个算数逻辑单元ALU
- 寄存器:ACC累加器、MQ乘商寄存器、X操作数寄存器
(3)控制器
- 完成一条指令操作:取指阶段PC、分析阶段IR、执行阶段CU
- 控制器由PC程序计数器、IR指令寄存器、CU控制单元组成
- (Program Counter)PC程序计数器:存放下一条指令的地址,将指令传给MAR,有自动+1功能
- (Instruction Register)IR指令寄存器:存放当前执行的指令,拆分出操作码传给CU,拆分出地址码传给MAR,MAR在主存储体中取出数据传给MDR
- (Control Unit)CU控制单元:分析指令,给出控制信号
五、计算机工作过程
【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili(16min开始)
高级语言的一段代码
int a=2,b=3,c=1,y=0;void main() {y=a*b+c; }
1、取数指令 
2、乘法指令
3、加法指令
4、存数指令
5、计算机工作过程总结
CPU区分指令和数据的依据:指令周期的不同阶段
1、取指阶段(必经阶段)
- PC存放下一条指令的地址 ——> MAR(存放欲访问的存储单元地址)
- MAR在存储体内找到存储指令的地址 ——> MDR(存放从主存储体取来的数据)
- MDR将指令 ——> IR(存放当前执行的指令)
- 取数阶段结束 PC++
2、分析阶段(必经阶段)
- IR拆分出操作码 ——> CU
- 分析阶段结束
3、执行阶段(根据不同指令步骤不同)
- IR拆分出地址码 ——> MAR
- MAR在存储体内找到存储的数据的地址 ——> MDR
- MDR ——> ACC
- 执行阶段结束
六、计算机性能指标
1、机器字长
CPU一次能处理数据的位数,一般等于内部寄存器的大小,决定了计算机的运算精度
2、存储器的性能指标
- MAR:位数反映存储单元的数量
- MDR:位数反映存储字长(存储字长=存储单元二进制码的位数)
总容量 = 存储单元个数×存储字长 bit(b)
= 存储单元个数×存储字长÷8 byte(B)
1 byte = 8 bit
eg:MAR为32位,MDR为8位
总容量 =
描述存储容量、文件大小时:
K—
M—
G—
T—
P=
3、CPU的性能指标
1、时钟周期:CPU中最小时间单位(单位:微秒、纳秒)
2、CPU主频(时钟频率):CPU内数字脉冲信号振荡频率,主频越高的CPU不一定比主频低的CPU快
CPU主频=1/时钟周期 (单位:Hz)
3、CPI:执行一条指令所需的时钟周期数,不同指令CPI不同,相同指令CPI也可能变化
4、CPU执行时间(运行一个程序花费的时间) =(指令条数×CPI)÷主频
eg:某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3,问该程序走该CPU上执行需要多久?
100×3÷1000=0.3s
5、IPS:每秒执行多少条指令 IPS=主频÷平均CPI
KIPS、MIPS——比如:2MIPS,即每秒能执行
条指令
6、FLOPS:每秒执行多少次浮点运算
KFLOPS、MFLOPS、GFLOPS、TFLOPS
7、核数——处理器个数(核心数:八核)
描述频率、速度时:
K=
M=
G=
T=
![]()
4、系统整体性能指标
1、数据通路带宽:数据总线一次所能并行传送信息的位数,各硬件部件通过数据总线传输数据
2、吞吐量:指系统在单位时间内处理请求的数量,主要取决于主存的存储周期
3、响应时间
4、基准程序(动态测试):像鲁大师这种跑分软件,一般情况下,基准测试程序能够反映机器性能的好坏。但由于基准程序中的语句存在频度的差异,因此运行结果并不能完全说明问题
5、主频高的CPU一定比主频低的CPU快吗?为什么?
衡量CPU运算速度的指标有很多,不能以单独的某个指标来判断CPU的好坏。
CPU的主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、 Cache大小等)。由于主频并不直接代表运算速度,因此在一定情况下很可能会出现主频较高的CPU实际运算速度较低的现象
相关文章:
【计算机组成原理 - 第一章】计算机系统概论(完结)
本章参考王道考研相关课程: 【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili 【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili 【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili 【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili 目录 一、…...

C++类与对象(下)【详析】
类与对象(下) 目录类与对象(下)一、再谈构造函数1.构造函数体赋值2.初始化列表定义:注意点:总结:3.explicit关键字引入:explicit:二、 static成员回顾:static…...

exe反编译为.py文件
介绍公司以前的一个exe包,我们需要查看里面python源码,但是以前的py源码文件找不到,所以只能反编译,介绍一下反编译的过程。首先准备:pyinstxtractor.py这个文件,网上很多,自己下载准备查看二进…...

38 openEuler搭建FTP服务器-FTP总体介绍
文章目录38 openEuler搭建FTP服务器-FTP总体介绍38.1 FTP简介38.2 FTP使用到的端口38.3 vsftpd简介38 openEuler搭建FTP服务器-FTP总体介绍 38.1 FTP简介 FTP(File Transfer Protocol)即文件传输协议,是互联网最早的传输协议之一࿰…...

三天吃透操作系统面试八股文
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...

vue后台管理系统——添加i18n国际化功能——技能提升
昨天在写后台管理系统时,遇到一个需求就是需要实现国际化功能。 antd和element-ui这两个框架其实都是有国际化的。 具体展示形式就是如下: 点击右上角头部的语言,切换语言,然后整个系统的文字都改变成对应的语言展示。 切换成…...

理清gcc、g++、libc、glibc、libstdc++的关系
0 理清gcc、g++、libc、glibc、libstdc++的关系 0.1 $ dpkg -L libc6 $ dpkg -L libc6 /lib/x86_64-linux-gnu /lib/x86_64-linux-gnu/ld-2.31.so /lib/x86_64-linux-gnu/libBrokenLocale-2.31.so /lib/x86_64-linux-gnu/libSegFault.so /lib/x86_64-linux-gnu/libanl-2.31.s…...

一、快速入门 MongoDB 数据库
文章目录一、NoSQL 是什么1.1 NoSQL 简史1.2 NoSQL 的种类及其特性1.3 NoSQL 特点1.4 NoSQL 的优缺点1.5 NoSQL 与 SQL 数据库的比较二、MongoDB 基础知识2.1 MongoDB 是什么2.2 MongoDB 的体系结构2.3 MongoDB 的特点2.4 MongoDB 键特性2.5 MongoDB 的核心服务和工具2.6 Mongo…...

PMP第一章到第三章重要知识点
第1章引论 1.1指南概述和目的 PMBOK指南收录项目管理知识体系中被普遍认可为“良好实践”的那一部分: “普遍认可”:大多数时候适用于大多数项目,获得一致认可。 “良好实践”:能提高很多项目成功的可能性。 全球项目管理业界…...

【事务与锁】当Transactional遇上synchronized
事务与锁 - Transactional与Synchronize🥰前言问题回放问题一1、代码与结果复现2、原因分析3、解决方法问题二1、问题复现2、原因分析事务Transactional与锁synchronized1、synchronized与Transactional区别2、可能带来的问题3、针对问题二的解决前言 最近工作中遇…...

Pytorch模型转TensorRT步骤
Pytorch模型转TensorRT步骤 yolov5转TRT 流程 当前项目基于yolov5-6.0版本,如果使用其他版本代码请参考 https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5 获取转换项目: git clone https://github.com/wang-xinyu/tensorrtx.git git …...

产品经理入门——必备技能之【产品运营】
文章目录一、基础介绍1.1 用户生命周期 & 产品生命周期1.2 运营的目的1.3 运营的阶段1.4 运营的主要工作(海盗模型)二、AARRR模型2.1 Acquisition 拉新2.2 Activision 促活2.3 Retention 留存2.4 Revenue 转化2.5 Referral 传播总结产品运营技能是产…...

【Java实现文件上传】java后端+vue前端实现文件上传全过程详解(附源码)
【写在前面】其实这篇文章我早就想写了,只是一直被需求开发耽搁,这不晚上刚好下班后有点时间,记录一下。需求是excel表格的上传,这个是很多业务系统不可或缺的功能点,再此也希望您能够读完我这篇文章对文件上传不再困惑…...

什么是SSD?SSD简述
什么是SSD?SSD简述前言一. SSD组成二. SSD存储介质存储介质按材料不同可分为三大类:光学存储介质、半导体存储介质和磁性存储介质三. SSD接口形态固态硬盘有SATA 3.0接口、MSATA接口、M.2接口、PCI-E接口、U.2接口五种类型。三. SSD闪存颗粒分类闪存颗粒…...

MySQL基础------sql指令1.0(查询操作->select)
目录 前言: 单表查询 1.查询当前所在数据库 2.查询整个表数据 3.查询某字段 4.条件查询 5.单行处理函数(聚合函数) 6.查询时给字段取别名 7.模糊查询 8.查询结果去除重复项 9.排序(升序和降序) 10. 分组查询 1…...

Python数据分析处理报告--实训小案例
目录 1、实验一 1.1、题目总览 1.2、代码解析 2、实现二 2.1、题目总览 2.2、代码解析 3、实验三 3.1、题目总览 3.2、代码解析 4、实验四 3.1、题目总览 3.2、代码解析 哈喽~今天学习记录的是数据分析实训小案例。 就用这个案例来好好巩固一下 python 数据分析三…...

OpenCV入门(十二)快速学会OpenCV 11几何变换
OpenCV入门(十二)快速学会OpenCV 11几何变换1.图像平移2.图像旋转3.仿射变换4.图像缩放我们在处理图像时,往往会遇到需要对图像进行几何变换的问题。图像的几何变换是图像处理和图像分析的基础内容之一,不仅提供了产生某些图像的可…...

小菜鸟Python历险记:(第二集)
今天写的文章是记录我从零开始学习Python的全过程。Python基础语法学习:Python中的数值运算一共有7种,分别是加法()、减法(-)、除法(/)得到的结果是一个浮点数、乘法(*&a…...

ContentProvider程序之间数据的相互调用
1权限的获取和调用 权限分为普通权限和危险权限,除了日历信息,电话,通话记录,相机,通讯录,定位,麦克风,电话,传感器,界面识别(Activity-Recognit…...

金三银四最近一次面试,被阿里P8测开虐惨了...
都说金三银四涨薪季,我是着急忙慌的准备简历——5年软件测试经验,可独立测试大型产品项目,熟悉项目测试流程...薪资要求?5年测试经验起码能要个20K吧 我加班肝了一页半简历,投出去一周,面试电话倒是不少&a…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...