操作系统 -- cpu

cpu是什么?

CPU 是计算机的大脑,它主要和内存进行交互,从内存中提取指令并执行它

程序实际上就是一条条指令,程序的运行过程就是指令一步步的执行起来,cpu本质上就是执行指令

cpu的组成

  • 控制器 – 把内存中的指令, 数据等读入到寄存器中
  • 寄存器 – 用来暂存指令数据等处理对象
  • 运算器 – 负责运算从内存读入到寄存器的数据
  • 时钟 – 负责发出cpu开始即使的始终信号
    在这里插入图片描述

控制器

用于控制整个cpu的工作, 主要包含 指令寄存器(IR), 程序计数器(PC), 地址寄存器(AR), 指令编译器(ID)

指令寄存器(IR)

当cpu执行一条指令时, 先把他从内存储器到缓冲寄存器中, 在送入IR暂存, 指令编译器根据IR的内容产生各种微操作指令, 控制其他的组成部件工作, 完成所需的功能

程序计数器(PC)

pc具有寄存信息和计算两种功能, 又称为指令计数器, 程序执行分为两种情况 , 一是顺序执行, 二是转移执行, 当程序开始执行前, 将程序的起始地址送入pc, 该地址在程序加载的内容是确定的, 因此pc的内容即是程序第一条指令的地址, 执行指令时cpu自动修改pc的内容, 以便使其保持的总是将要执行的下一条指令的地址

地址寄存器(AR)

AR保存当前cpu所访问的内存单元的地址, 由于内存和cpu存在着操作速度上的差异, 所以需要使用AR保持地址信息, 直到内存的读写操作完成为止

运算器

算术逻辑单元(ALU)

ALU是运算器的重要组成部件, 负责处理出局, 实现对数据的算术运算和逻辑运算

数据缓冲寄存器(DR)

在对内部存储器进行读写操作时, 用DR暂时存放由内存储器读写的一条指令或一个数据, 将不同时间段内读写的数据隔离开来, DR作为cpu和内存, 外部设备之间的数据传送中转站

cpu处理指令的流程

  1. cpu先读取 “程序计数器” 的值, 即指令的内存地址, cpu的控制单元会操作地址总线指定需要访问的内存地址, 通知内存准备数据, 数据准备好后通过数据总线将指令数据传给cpu, cpu收到传来的数据, 将指令数据存入到指令寄存器
  2. cpu分析指令寄存器中的指令, 确定指令的类型和参数, 如果是计算类型的指令, 就把指令交给"逻辑运算单元"运算, 如果是存储类型的指令, 则由"控制单元"执行
  3. cpu执行完指令后, 程序计数器的值自增, 表示指向下一条指令

我们知道, cpu处理的指令是从缓存中获取的, cpu处理指令的速度非常快, 但是将指令从缓存中加载到寄存器中的速度相对来说是比较慢的, 那么怎么处理这个问题呢? 接下来就要引出缓存的概念了

寄存器/缓存/内存的关系

寄存器

寄存器是cpu的组成部分, 是一种直接整合到cpu中的, 有限的告诉访问速度的存储器, 他是有一些与非门组合成的, 分为通用寄存器和特殊寄存器, cpu访问寄存器的速度是最快的, 但是寄存器的容量非常小

缓存

缓存时cpu的一部分, 位于cpu中

在没有缓存之前, cpu一直都是在内存中读取数据的, 但由于两者速度差异, cpu每次都要等内存的’回信’, 缓存的设计是用来解决cpu与内存速度差异问题

假设一个8核的cpu, 每个核都有自己独立的L1 Cache和L2 Cache, 而L3 Cache是8核共享的
缓存大小 : 离核心越近, 等级越高越小, 速度越快, L1 Cache缓存最小, 速度最快

内存的数据会笑加载到共享的L3 Cache中, 在加载到每个核心独有的L2 Cache, 最后进入到最快的L1 Cache

在这里插入图片描述

内存

cpu从寄存器读取最快, 接下来是缓存 , 接下来是内存

工作状态

内核态

运行的程序的是操作系统,可以操作计算机硬件

在内核态运行的指令被称为特权指令, 能访问所有的内存空间和对象, 且所占用的处理机是不允许被抢占的

用户态

运行的程序是应用程序,不能操作计算机硬件

在用户态执行的指令叫非特权指令, 能访问的内存空间和对象收到限制, 处理机会被抢占

工作状态的切换

应用程序可以通过操作系统提供的一些api, 库函数来操作硬件, 实现由用户态转到内核态

比如发生缺页异常, 也会由用户态转化为内核态

为什么从用户态转化为内存态比较耗时呢 ?

因为涉及到了上下文切换

下一篇文章具体讲解cpu的上下文切换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值