计算机原理入门(非常详细)从零基础入门到精通,看完这一篇就够了

目录

一、计算机组成概述

1.计算机系统简介

1.1、早期的冯·诺依曼机

1.2、现代计算机组结构

2、计算机的组成

2.1、存储器

2.2运算器

2.3控制器

3、计算机的执行过程

4、计算机的性能指标

二、系统总线

1、总线的结构

2、总线的分类

三、存储器

1、存储器的分类

2、存储器的层次结构

3、主存储器

4、高速缓冲存储器

4.1、缓存的工作原理

4.2、缓存与主存的地址映射

四、CPU的结构和功能

1、CPU的功能

2、CPU的结构图

3、CPU的寄存器

3.1、用户可见寄存器

3.2、用户不可见寄存器

3.3、用户控制和状态寄存器

4、CPU的控单元

五、指令周期

1、指令周期的数据流


一、计算机组成概述

    本章节从计算机简介、组成、执行过程、性能指标四个方面进行论述。


1.计算机系统简介

计算机系统软硬件

硬件:计算机的实体,如主机、外设等。

软件:由具有各类特殊功能的信息(程序组成),可分为两类:系统软件、应用软件。

计算机系统层次结构

1.1、早期的冯·诺依曼机

他提出程序存储思想,根据这一原理制造的计算机被称为冯·诺依曼结构计算机

**程序存储:**指令以代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。即按地址访问并顺序执行指令

五大特点:

  1. 计算机硬件系统由五大部件组成(存储器、运算器、控制器、输出设备、输入设备)
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序

以运算器为中心,且是单处理机,基本工作方式是控制流驱动方式

在这里插入图片描述

1.2、现代计算机组结构

在这里插入图片描述

2、计算机的组成

计算机有五大部分组成:

<1> 输入设备,是指将外部信息以计算机能读懂的方式输入进来,如键盘,鼠标等

<2> 输出设备,就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印

机。

<3> 存储器,存储器分为 主存储器(内存储器,CPU能直接访问)和 辅助存储器(外存储器,协助主存储器记忆更多的信息,辅助存储器的信息需要导入到主存储器中,才可以被CPU访问)。

<4> 运算器,是计算机的运算单元,用于算术运算和逻辑运算,运算器的核心单元是算术逻辑单元(ALU)。

<5> 控制器,控制器是计算机的指挥中心,有其指挥各部件自动协调第进行工作,现代计算机将运算器和控制器集成到一个芯片上,合成为中央处理器,简称CPU。有程序计数器(PC)、指令寄存器(IR)和控制单元(CU)。

2.1、存储器
    **主存储器**是由**地址寄存器(MAR)**,**数据寄存器(MDR)**,**存储体**,**时序控制逻辑**组成。


    地址寄存器存放访存地址,经过地址译码后找到所选的存储单元。

    数据寄存器,是存储器与其他部件的中介,用于暂存要从存储器读或写的信息。

    时序控制逻辑用于产生存储器操作所需的各种时序信号。


    **主存储器**的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式(**相联存储器**既可以既可以按照**地址寻址**,又可以按照**内容寻址**,为了与传统存储器区别,又称为**内容寻址的存储器**!)


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) 中断周期的数据流

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

网络安全学习路线&学习资源

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

“脚本小子”成长进阶资源领取

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

本文转自 https://blog.csdn.net/2401_84578953/article/details/140609560?spm=1001.2014.3001.5501,如有侵权,请联系删除。

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值