深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
时序控制逻辑用于产生存储器操作所需的各种时序信号。
主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式(相联存储器既可以既可以按照地址寻址,又可以按照内容寻址,为了与传统存储器区别,又称为内容寻址的存储器!)
2.2、运算器
2.3控制器
有程序计数器(PC)、指令寄存器(IR)和控制单元(CU)。
3、计算机的执行过程
一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。CPU和主存储器共同构成主机。CPU和主存之间通过一组总线相连,总线中有地址、控制和数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU,根据是读操作还是写操作来控制将MDR中的数据是直接送到数据线上还是将数据线上的数据接收到MDR中。
演示计算机执行乘操作的执行过程
IR存放当下欲执行的指令;PC存放下一条指令的地址;
MAR存放欲访问的存储单元地址;MDR存放从存储单元取来的数据!
地址译码器是主存的构成部分,不属于CPU;地址寄存器虽然一般属于主存,但是现代计算机中绝大多数CPU内集成了地址寄存器!
关于CPU存取速度的比较:寄存器(CPU内部)> Cache(高速的SRAM) > 内存 (SDRAM)
取数
运算
存数
停机
4、计算机的性能指标
二、系统总线
- 总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
- 总线上信息的传送的两种方式:串行和并行。
1、总线的结构
有单总线、双总线、三总线和四总线等。
单总线:
双总线以CPU为核心:
双总线以寄存器为核心:
三总线的两种结构:
四总线结构:
2、总线的分类
- 片内总线:芯片内部的总线
- 系统总线:计算机各部件之间的信息传输线
- 数据总线:双向 与机器字长、存储字长有关
- 地址总线:单向 与存储地址、I/O地址有关,由CPU发出
- 控制总线:有出 有入,存储器读、存储器写、总线允许、中断确认
- 通信总线
- 用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信
- 传输方式:串行通信总线、并行通信总线。
三、存储器
1、存储器的分类
- 按存储器介质份分类
- 半导体存储器(TTL(集成度低、功耗高、速度快)、MOS(功耗低,集成度高))。U盘等;易失
- 磁表面存储器(磁头、载磁体)。如磁盘、磁带等;非易失
- 磁芯存储器(硬磁材料、环状元件);非易失
- 光盘存储器(激光、磁光材料);非易失
- 按存取方式分类
- 存取时间与物理地址无关(随机访问)
- 随机存储器 在程序的执行过程中可读可写
- 只读存储器 在程序的执行过程中只读
- 存取时间与物理地址有关(串行访问)
- 顺序存取存储器 磁带
- 直接存取存储器 磁盘
- 在计算机中的作用分类
- 主存储器
- RAM(可读可写);静态RAM、动态RAM
- ROM(只读);MROM、PROM、EPROM、EEPROM
- 辅助存储器 磁盘、磁带、光盘
- Flash Memory
- 高速缓冲存储器(Cache)
2、存储器的层次结构
- 存储器三个主要特性:速度 容量 价格/位
缓存用来解决主存与CPU速度差距太大的问题,辅存用来解决主存容量问题
3、主存储器
- 主存的基本组成
- 主存与CPU的联系
- 分类
* 随机存储器 RAM(可读可写);静态RAM、动态RAM
* 只读存储器 ROM;MROM、PROM、EPROM、EEPROM - 提高访存速度的措施
* 采用高速器件
* 采用层次结构 Cache-主存
* 调整主存结构
4、高速缓冲存储器
为了避免CPU出现空等现象,用在CPU与主存之间。
4.1、缓存的工作原理
主存和缓存中都有字块,通过字块号主存与缓存想和关联,关联的字块中存放相同数据。CPU想读写主存某字块时,实际去读写缓存中与之对应的字块。缓存的结构如下图:
- 读操作过程:
- 写操作过程: CPU直接写到缓存中,关键点在于保证缓存与主存的一致性。
- 写直达法:
- 写操作时数据既写入cache又写入主存
- 写操作时间就是访问主存的时间,Cache块退出时,不需要对主存执行写操作,更新策略比较容易实现
- 写回法(Write-back)
* 写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存
* 写操作时间就是访问Cache的时间,Cache块退出时,被替换的块需写回主存增加了Cache的复杂性
- 缓存的改机
- 增加Cache的级数,片载(片内)Cache,现在系统中基本都是三级缓存。
- 统一缓存和分立缓存,指令Cache 数据Cache,与指令执行的控制方式有关(是否是流水线)。
4.2、缓存与主存的地址映射
- 直接映射(离CPU近就采用这种方式)某一主存块只能固定映射到某一缓存块 不灵活、速度快
- 全相连映射 某一主存块能映射到任一缓存块 成本高、速度低
- 组相连映射 速度快、cache的命中率高
- Cache中主存块的替换算法
- 随机算法(RAND):随机地确定替换的 Cache块。它的实现比较简单,但没有依据程序访问的局部性原理,故可能命中率较低
- 先进先出算法(FIFO):选择最早调入的行进行替换。它比较容易实现,但也没有依据程序访问的局部性原理,可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入 Cache的块替换掉。
- 近期最少使用算法(LRU):依据程序访问的局部性原理选择近期内长久未访问过的存储行作为替换的行,平均命中率要比FFO要高,是堆栈类算法。
- LRU算法对每行设置一个计数器, Cache每命中一次,命中行计数器清0,而其他各行计数器均加1,需要替换时比较各特定行的计数值,将计数值最大的行换出。
- 最不经常使用算法(LFU):将一段时间内被访问次数最少的存储行换出。每行也设置一个计数器,新行建立后从0开始计数,每访问一次,被访问的行计数器加1,需要替换时比较各特定行的计数值,将计数值最小的行换出。
四、CPU的结构和功能
1、CPU的功能
(1)取指令(PC保存下一条指令的存放地址,IR存放当前指令)
控制器必须具备能自动地从存储器中取出指令的功能
(2)分析指令(CU负责分析指令)
分析指令包括两部分内容:其一,分析此指令要完成什么操作,即控制器需发出什么操作命令;其二,分析参与这次操作的操作数地址,即操作数的有效地址。
(3)执行指令(ALU负责执行运算)
执行指令就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列,通过对运算器、存储器以及I/O设备的操作,执行每条指令。
(4)控制程序 (CU也是控制单元)
CPU必须具有控制程序的顺序执行(称指令控制)、产生完成每条指令的控制命令(称操作控制)、对各种操作加以时间上的控制(称时间控制)。
(5)数据加工(ALU 数据逻辑运算)
对数据进行算术运算和逻辑运算(称数据加工)。
(6)中断处理
处理异常情况和特殊请求
2、CPU的结构图
3、CPU的寄存器
3.1、用户可见寄存器
- 通用寄存器组(RO~R3)
- 存放操作数可作某种寻址方式所需的专用寄存器
- 数据寄存器(DR)
- 存放操作数(满足各种数据类型)两个寄存器拼接存放双倍字长数据
- 地址寄存器(AR)
- 存放地址,其位数应满足最大的地址范围用于特殊的寻址方式段基值栈指针
- 条件码寄存器
- 存放条件码,可作程序分支的依据
- 指令计数器(PC)
- 放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改。
- 程序状态字寄存器(PSW)
- 存放条件码和其他状态信息。
3.2、用户不可见寄存器
- 存储器地址寄存器(MAR)
- 用于存放将被访问的存储单元的地址。
- 存储器数据寄存器(MDR)
- 用于存放欲存入存储器中的数据或最近从存储器中读出的数据。
- 指令寄存器(IR)
- 存放当前欲执行的指令。
3.3、用户控制和状态寄存器
- 控制寄存器 控制CPU操作
P C → M A R → M → M D R → I R
- 状态寄存器
状态寄存器 存放条件码
PSW 寄存器 存放状态字
4、CPU的控单元
控制单元(CU)是提供完成计算机全部指令操作的微操作命令序列部件。微操作命令序列的形成方法有两种:一种是组合逻辑设计方法,为硬连线逻辑;另一种是微程序设计方法,为存储逻辑。
五、指令周期
CPU访存的四种性质
- 取指令 取指周期
- 取地址 间址周期
- 取操作数 执行周期
- 存程序断点 中断周期
指令周期概念
CPU每取出并执行一条指令所需的全部时间称为指令周期,也即CPU完成一条指令的时间。取指阶段完成取指令和分析指令的操作,又称取指周期;执行阶段完成执行指令的操作,又称执行周期。
间接寻址的指令周期就包括取指周期、间址周期、**执行周期**3个阶段,
带有中断周期的指令周期,会检查是是否中断
指令周期流程
1、指令周期的数据流
(1) 取指周期的数据流
(2) 间址周期的数据流
(3) 执行周期的数据流
不同指令的执行周期数据流不同
(4) 中断周期的数据流
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
- 2023届全国高校毕业生预计达到1158万人,就业形势严峻;
- 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
/img-blog.csdnimg.cn/img_convert/d5f06d6b9945fd6e8a5f92a0198e5446.png)
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
[外链图片转存中…(img-HmPmZFqK-1715208421471)]
[外链图片转存中…(img-zShHlTI8-1715208421471)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新