该懂的知识-CPU
进程也好,线程也好,最后都是转换成CPU指令由CPU执行的,所有的CPU指令都需要执行时间,多一个CP,就能够同时执行很多指令。不论如何模拟,最终CPU指令都必须在某一个内核上执行。
CPU的工作是不断执行指令--保存上下文--切换进程。
( 一)CPU的功能和组成
CPU:Central Processing Unit ,中央处理器,是计算机控制,运算中心,它主要通过总线和其他设备进行联系。另外在嵌入式系统设计中,外部设备也常常直接连接到中央处理器的外部I/O中断脚上。总的来说,CPU有四大功能:指令控制(保证程序的顺序执行),操作控制(管理并产生每条指令的操作信号,控制相应部件进行动作),时间控制(对指令的各个操作实施时间的定时),数据加工(算术运算和逻辑运算)
1、运算器
功能:算术运算,逻辑运算;组成:ALU,累加器。
2、控制器
功能:从内存里取出一条指令,并指出下一条指令在内存中的位置。对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作(一次内存读/写操作,一个算术逻辑运算操作,或一个输入/输出操作)。指挥并控制CPU,内存和输入/输出设备之间的数据流动方向。
组成:各类寄存器,控制器和时序发生器。
3、寄存器组
指令寄存器(IR):指令寄存器,用来存放从存储器中取出来的待执行指令,在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。
程序计数器(PC):用来存放正在执行的指令的地址或将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1。若改变程序执行顺序的情况时,一般由转移类指令将目标地址送往PC,实现程序的转移。
数据地址寄存器(AR):用来保存当前CPU所访问数据Cache存储器单元的地址。
数据缓冲寄存器(DR):用来暂时存放从存储器读出的一条指令或一个数据字,反之,当向内存存储一条指令或一个数据字时,也将他们暂时存放在书缓冲寄存器中。
通用寄存器(R0-R3):用来存放操作数或运算结果
状态字寄存器(PSW):状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果的各种条件码内容,如运算结果进位标志,运算结果的溢出标志,运算结果为零标志,运算结果为负标志等等。这些标志位通常分别由一位触发器保存。
该懂的知识-CPU的更多相关文章
- WEB架构师成长之路-架构师都要懂哪些知识 转
Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...
- WEB架构师成长之路之三-架构师都要懂哪些知识
Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...
- 软件设计师考试计算机系统知识——CPU
第一章: 计算机系统知识 1.1.1计算机系统硬件的基本组成 运算器.控制器.存储器.输入设备.输出设备 1.1.2 中央处理器 ①CPU的功能: a.程序控制:CPU通过执行指令来控制程序执行的顺序 ...
- 【一起来烧脑】读懂HTTP知识体系
背景 读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下. 面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTT ...
- [汇编] 002基础知识-CPU和寄存器
CPU是什么 当然这里的内存不仅仅指电脑上的内存,例如:我的金士顿8G内存,七彩虹1G独显,在这里来说,显卡也是有内存的(寄存器) CPU如何控制其它部件的? 问题:CPU是如何和电脑主机中其它芯片有 ...
- 【一起来烧脑】读懂Promise知识体系
知识体系 Promise基础语法,如何处理错误,简单介绍异步函数 内容 错误处理的两种方式: reject('错误信息').then(null, message => {}) throw new ...
- C语言的预编译,程序员必须懂的知识!【预编译指令】【预编译过程】
由“源代码”到“可执行文件”的过程包括四个步骤:预编译.编译.汇编.链接.所以,首先就应该清楚的首要问题就是:预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行变换,而不是对 ...
- 【一起来烧脑】读懂WebApp知识体系
背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...
- 【一起来烧脑】读懂JQuery知识体系
背景 在现在就业的过程中,会运用JQuery是你的加分项,那么什么是JQuery,嗯,jquery是JavaScript的函数库,是一种轻量级的JavaScript库,写得少,做的多,导致jQuery ...
随机推荐
- pytest文档5-参数化parametrize
pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # content of tes ...
- Qt中编译器
很多时候,Qt构建项目编译的过程中会报错,大部分报错是因为qt的设置出现问题,很多时候环境配置时要选择合适的编译器,debugger调试器等,这里对一些名词解释,内容对新手很友好,大佬就不用看啦. M ...
- 使用内联的 CSS 变量技巧,提高灵巧布局效率!
作者:Ahmad shaded 译者:前端小智 来源:sitepoint 点赞再看,微信搜索**[大迁世界]**关注这个没有大厂背景,但有着一股向上积极心态人.本文 GitHub github.com ...
- 文本图Tranformer在文本分类中的应用
原创作者 | 苏菲 论文来源: https://aclanthology.org/2020.emnlp-main.668/ 论文题目: Text Graph Transformer for Docum ...
- 「ZJOI2014」璀灿光华
「ZJOI2014」璀灿光华 实际上,可以不用建水晶立方体... 因为,发光水晶的方向都要枚举一遍. 只需知道发光水晶每个方向有哪些水晶就可以了. 对于一个发光水晶,将它连接的水晶标号. 从该水晶bf ...
- AT2274 [ARC066D] Contest with Drinks Hard
先考虑不修改怎么做,可以令 \(dp_i\) 表示前 \(i\) 个题能获得的最大得分.那么我们有转移: \[dp_i = \min\{dp_{i - 1}, dp_{j} + \frac{(i - ...
- laravel中observe不能监听到updated事件原因
//这种方式不行Student::where('id', $request->student_id)->update($student); $findStudent = Student:: ...
- Mac和Linux远程连接服务器异常修复(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)
感谢大佬:https://blog.csdn.net/wd2014610/article/details/79945424 一.今天在使用SSH,连接远程服务器的时候,刚开始是没问题的. 后来阿里云主 ...
- Python property动态属性
from datetime import datetime, date class User: def __init__(self, name, birthday): self.name = name ...
- 什么是UILabel
UILabel极其常用,功能比较专一:显示文字 UILabel的常见属性 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonat ...