进程也好,线程也好,最后都是转换成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的更多相关文章

  1. WEB架构师成长之路-架构师都要懂哪些知识 转

    Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...

  2. WEB架构师成长之路之三-架构师都要懂哪些知识

    Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...

  3. 软件设计师考试计算机系统知识——CPU

    第一章: 计算机系统知识 1.1.1计算机系统硬件的基本组成 运算器.控制器.存储器.输入设备.输出设备 1.1.2 中央处理器 ①CPU的功能: a.程序控制:CPU通过执行指令来控制程序执行的顺序 ...

  4. 【一起来烧脑】读懂HTTP知识体系

    背景 读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下. 面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTT ...

  5. [汇编] 002基础知识-CPU和寄存器

    CPU是什么 当然这里的内存不仅仅指电脑上的内存,例如:我的金士顿8G内存,七彩虹1G独显,在这里来说,显卡也是有内存的(寄存器) CPU如何控制其它部件的? 问题:CPU是如何和电脑主机中其它芯片有 ...

  6. 【一起来烧脑】读懂Promise知识体系

    知识体系 Promise基础语法,如何处理错误,简单介绍异步函数 内容 错误处理的两种方式: reject('错误信息').then(null, message => {}) throw new ...

  7. C语言的预编译,程序员必须懂的知识!【预编译指令】【预编译过程】

    由“源代码”到“可执行文件”的过程包括四个步骤:预编译.编译.汇编.链接.所以,首先就应该清楚的首要问题就是:预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行变换,而不是对 ...

  8. 【一起来烧脑】读懂WebApp知识体系

    背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...

  9. 【一起来烧脑】读懂JQuery知识体系

    背景 在现在就业的过程中,会运用JQuery是你的加分项,那么什么是JQuery,嗯,jquery是JavaScript的函数库,是一种轻量级的JavaScript库,写得少,做的多,导致jQuery ...

随机推荐

  1. sort排序出现安卓与苹果系统排序不一致问题

    sort排序出现安卓与苹果系统排序不一致问题

  2. 使用MobaXterm发布服务器项目文件

    注:笔记旨在记录 目录 一.使用MobaXterm登录服务器 二.后端发布 三.前端发布 一.使用MobaXterm登录服务器 打开MobaXterm,点击左上角Session->SSH,输入账 ...

  3. IoC容器-Bean管理XML方式(p名称空间注入)

    5,p名称空间注入(简化xml配置) (1)使用p名称空间注入,可以简化基于xml配置方式 (了解实际用不多) 第一步 添加 p 名称空间在配置文件中   第二步 进行属性注入,在bean标签里面进行 ...

  4. 前端禁止使用F12、禁止右键

    打开控制台直接跳转页面 //debug调试时跳转页面 var element = new Image(); Object.defineProperty(element,'id',{get:functi ...

  5. 【简记】SpringBoot禁用Swagger

    楔子 Swagger 是 Java Web 开发中常用的接口文档生成类库,在开发和前后端联调时使用它来模拟接口调用能提高开发效率.但是,在生产环境可能并不需要它,一个原因是启用它会延长程序启动时间(动 ...

  6. python操作MySQL数据库连接

    目录 一:python操作MySQL 1.python如何操作MySQL? 2.什么是 PyMySQL? 二:PyMySQL 安装 1.方法一: 2.方法二: 三:pyMySQL模块基本使用 1.py ...

  7. lagou数据爬取

    1. 使用的工具 selenium+xpath+ 手动输入登录 2. 实现的功能: 1.手动登录后,按终端提示,就能下载所需要的内容 import requests import json impor ...

  8. oracle 相关查询和非相关查询,oracle 去除重复数据,以及oracle的分页查询!

    一.oracle中的相关查询?和非相关查询? 二.oracle去除重复数据 1. 2. 3.oracle 实现分页? 利用rownum的唯一性,和子查询,将rownum从伪列变成实际列!

  9. 如何在 IDEA 中添加 Maven 项目的 Archetype(解决添加不起作用的问题)

    前言 在 IDEA 中点击新建 Maven 模块,会发现他已经为我们罗列出来了许多的 archetype,但有些时候满足不了我们的需求.下面就来看看如何添加自己的脚手架吧. 实现过程 新建模块 在 I ...

  10. TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN

    原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...