该懂的知识-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 ...
随机推荐
- WebGPU 中消失的 VAO
1 VAO 是 OpenGL 技术中提出来的 参考: 外链 其中有一段文字记录了 VAO 是什么: A Vertex Array Object (VAO) is an object which con ...
- Mybatis插件,能做的事情真的很多
大家好,我是架构摆渡人.这是实践经验系列的第九篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. Mybatis是我们经常用的一款操作数据库的框架,它的插件机制 ...
- Let's Encrypt 证书 wget 报错
最近发现一个奇怪的问题,网站使用 let's encrypt 的免费证书,浏览器访问时正常,但是wget的时候报错.报错信息如下: wget https://www.example.com --202 ...
- hive DML 操作
数据导入 向表中装载数据(Load) 1.语法 load data [local] inpath '数据的 path' [overwrite] into table student [partitio ...
- linux 编译C++
转载请注明来源:https://www.cnblogs.com/hookjc/ makefile文件内容: main:main.o fun1.o fun2.o g++ -o main main.o ...
- Kubernetes实战之部署ELK Stack收集平台日志
主要内容 1 ELK概念 2 K8S需要收集哪些日志 3 ELK Stack日志方案 4 容器中的日志怎么收集 5 K8S平台中应用日志收集 准备环境 一套正常运行的k8s集群,kubeadm安装部署 ...
- @property增强
1.@property增强 自从Xcode 4.x后,@property可以同时生成setter和getter的声明和实现 @interface Person : NSObject { int _ag ...
- rabbitmq集群实现
官方文档 一.环境准备 1.1 IP地址规划 1.2 配置主机域名解析 ##每个节点修改主机名 # hostnamectl set-hostname mq1.example.local # hostn ...
- 虫师Selenium2+Python_7、unittest单元测试框架
P173--通过unittest单元测试框架别写测试用例 from calculator import Count import unittest class TestCount(unittest ...
- python内置模块之re模块
内容概要 re模块常用方法 findall search match re模块其他方法 split sub subn compile finditer findall 对无名分组优先展示 re实战之爬 ...