附录---cpu详解

02 附录---cpu详解

一 五大组成单元=>三大核心组件

组成计算机五大单元可以合并成三大核心组件:CPU、IO设备、主存储器

1、控制单元+算数逻辑单元=>CPU

2、主存储器,即主記憶體

3、输入单元Input+输出单元Outpu=>IO设备

插图:三大核心组件

二 cpu工作流程

CPU的核心工作在于进行运算和判断,那么要被运算与判断的数据是从哪里来的?
CPU读取的数据都是从主存储器(内存)来的!主存储器内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。

所以计算机五大组成部分的基本工作流程就是:输入单元=>主存储器=>CPU=>主存储器=>输出单元

而CPU会从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。

所以总结CPU的大致工作流程就是:取指—>解码—>执行,详细见下图

插图:cpu工作流程详解

三 cpu指令集

cpu是计算机的大脑,大脑里集成了一系列具体控制身体其他器官做事的指令集,所以站在纯硬件角度去看,计算机所有其他组件都由cpu发出的指令控制。

我们程序员编程的目的是为了控制计算机硬件工作,程序员的代码都会转换成cpu的指令集才能去控制其他硬件,所以程序员是通过直接控制cpu来达到间接控制其他硬件的目的,具体流程如下

插图:cpu与其他组件的关系

内存中存放的是程序员的代码/指令,cpu从内存中取出这些指令后需要翻译成自己的指令去执行,即cpu在出场时内部就集成了一系列的指令集(指令集是cpu的灵魂)。

? 在超大规模集成电路构成的微型计算机中,往往将CPU制成一块具有特定功能的芯片,称为微处理器,芯片里边有编写好的微指令集,我们在主机上的所有操作或者说任何软件的执行最终都要转化成cpu的指令去执行,如输入输出,阅读,视频,上网等这些都要参考CPU是否内置有相关微指令集才行,如果没有,那么CPU无法处理这些操作。
? 不同的CPU指令集不同对应的功能也不同,这就好比不同的人脑,对于大多数人类来说,人脑的结构一样,但是大家的智商都有差别。

那么目前世界上的主流CPU由那些呢?我们笔记本上贴的Intel、AMD是怎么回事呢?下面我们来认识一下

1、CPU的分类(了解)
  我们已经知道CPU内部是含有微指令集的,我们所使用的的软件都要经过CPU内部的微指令集来完成才行。这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要的CPU种类:分别是精简指令集(RISC)与复杂指令集(CISC)系统。下面我们就来谈谈这两种不同CPU种类的差异!

# 1.1、精简指令集(了解)
  精简指令集(Reduced Instruction Set Computing,RISC):这种CPU的设计中,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。常见的RISC指令集CPU主要例如Sun公司的SPARC系列、IBM公司的Power Architecture(包括PowerPC)系列、与ARM系列等。【注:Sun已经被Oracle收购;】

  SPARC架构的计算机常用于学术领域的大型工作站中,包括银行金融体系的主服务器也都有这类的计算机架构;

  PowerPC架构的应用,如Sony出产的Play Station 3(PS3)使用的就是该架构的Cell处理器。

  ARM是世界上使用范围最广的CPU了,常用的各厂商的手机、PDA、导航系统、网络设备等,几乎都用该架构的CPU。

#  1.2、复杂指令集
  复杂指令集(Complex Instruction Set Computer,CISC)与RISC不同,在CISC的微指令集中,每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。

#  总结:
    CPU按照指令集可以分为精简指令集CPU和复杂指令集CPU两种,区别在于前者的指令集精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。后者的指令集每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。

#####2、x86架构64位

# 1、x86架构
    x86是针对cpu的型号或者说架构的一种统称,详细地讲,最早的那颗Intel发明出来的CPU代号称为8086,后来在8086的基础上又开发出了80285、80386....,因此这种架构的CPU就被统称为x86架构了。

    由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构的计算机!
    程序员开发出的软件最终都要翻译成cpu的指令集才能运行,因此软件的版本必须与cpu的架构契合,举个例子,我们在MySQL官网下载软件MySQL时名字为:
      Windows(x86,32-bit),ZIP Archive
      (mysql-5.7.20-win32.zip)
    我们发现名字中有x86,这其实就是告诉我们:该软件应该运行在x86架构的计算机上。
# 2、64位
    cpu的位数指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。
    在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位,到现在,个人计算机CPU通常都是x86_64的架构。
    cpu具有向下兼容性,指的是64位的cpu既可以运行64位的软件,也可以运行32位的软件,而32位的cpu只能运行32位的软件。这其实很好理解,如果把cpu的位数当成是车道的宽,而内存中软件的指令当做是待通行的车辆,宽64的车道每次肯定既可以通行64辆车,也可以通信32辆车,而宽32的车道每次却只能通行32辆车
3、CPU历史(了解)
  微处理器由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。
    计算机的发展主要表现在其核心部件——微处理器的发展上,每当一款新型的微处理器出现时,就会带动计算机系统的其他部件的相应发展,如计算机体系结构的进一步优化,存储器存取容量的不断增大、存取速度的不断提高,外围设备的不断改进以及新设备的不断出现等。根据微处理器的字长和功能,可将其发展划分为以下几个阶段。

第1阶段(1971——1973年)是4位和8位低档微处理器时代,通常称为第1代。
第2阶段(1974——1977年)是8位中高档微处理器时代,通常称为第2代。
第3阶段(1978——1984年)是16位微处理器时代,通常称为第3代。
第4阶段(1985——1992年)是32位微处理器时代,又称为第4代。
第5阶段(1993-2005年)是奔腾(pentium)系列微处理器时代,通常称为第5代。
第6阶段(2005年至今)是酷睿(core)系列微处理器时代,通常称为第6代。“酷睿”是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,提高每瓦特性能,也就是所谓的能效比。
若想具体了解CPU历史参见百度百科:
https://baike.baidu.com/item/%E4%B8%AD%E5%A4%AE%E5%A4%84%E7%90%86%E5%99%A8/284033?fr=aladdin&fromid=368184&fromtitle=%EF%BC%A3%EF%BC%B0%EF%BC%B5#10

四 运算器与控制器(了解)

常将运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。

其中运算器用来主要负责程序运算与逻辑判断,控制器则主要协调各组件和各单元的工作,所以CPU的工作主要在于管理和运算。可以说计算机的大脑就是CPU

#1、运算器

  运算器是对信息进行处理和运算的部件。经常进行的运算是算术运算和逻辑运算,所以运算器又可称为算术逻辑运算部件(Arithmetic and Logical,ALU)。

  运算器的核心是加法器。运算器中还有若干个通用寄存器或累加寄存器,用来暂存操作数并存放运算结果。寄存器的存取速度比存储器的存放速度快很多。

#2 控制器
  控制器是整个计算机的指挥中心,它的主要功能是按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊的自动工作。

  控制器从主存中逐条地读取出指令进行分析,根据指令的不同来安排操作顺序,向各部件发出相应的操作信号,控制它们执行指令所规定的任务。控制器中包括一些专用的寄存器。

原文地址:https://blog.51cto.com/egon09/2459439

时间: 2024-10-17 06:17:39

附录---cpu详解的相关文章

极客从CPU选择开始-CPU详解

先来看看CPU天梯图(来自(快科技CPU性能天梯图)[https://www.mydrivers.com/zhuanti/tianti/cpu/index.html]) Intel VS AMD (PS:如果你觉得脑壳疼就跳过这个图,往下看) 一 CPU需要关注什么主要指标? CPU全名Central Processing Unit 中央处理器,也就是电脑的核心 1.1 频率(台湾称时脉)- 在硬件上标记为主频 时钟频率(又译:时钟频率速度,英语:clock rate),是指同步电路中时钟的基础

CPU详解(内核态和用户态)

0.CPU的分类 x86-64 x86-32 cpu具有向下兼容性:即64位的cpu可以运行32位的程序,也可以运行64位的程序. 但32位的cpu只能运行32位的称呼,无法运行64位的程序. 内核态与用户态:代表了cpu的两种工作状态 1.内核态:操作系统运行程序,所以可以操作计算机硬件工作. 2.用户态:应用程序运行程序,所以无法操作计算机硬件工作. 原文地址:https://www.cnblogs.com/bailongcaptain/p/12397679.html

python学习之计算机基础详解

1.CPU详解 ·型号(x86-64) ? x86是指的CPU的型号,这种型号的CPU采用的是x86架构. ? 64是指CPU一次能够从内存中接受64位二进制数据:CPU具有向下兼容性,64位的CPU既能运行32位的程序也能运行64位的程序. ·内核态与用户态 ? CPU最核心的部分为控制其他硬件的指令集,指令集分为控制指令集和运算指令集: 当计算机运行操作系统的代码时,所有指令集都开放,此时称为CPU的内核态: 当计算机运行应用程序的代码时,只开放运算相关的指令集,此时称为CPU的用户态. ?

Windows下caffe安装详解(仅CPU)

本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2.caffe-windows准备 (1)下载官方caffe-windows并解压,将 .\windows\CommonSettings.props.example备份,并改名为CommonSettings.props.如图4所示: 图 4:修改后的CommonSettings.props文件 附带说明

CPU的快速互联通道(QPI)详解

翻译自:http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-The-QuickPath-Interconnect-QPI/610/1 自Intel有CPU开始,便一直采用的是称之为"前端总线(Front Side Bus, FSB)"的外部总线.前端总线是由内存和I/O共享的一条通往CPU的通道.新一代的Intel 处理器将内置内存控制器,所以该处理器将提供两个通道:连接CPU和内存的内存总线

Linux CPU实时监控mpstat命令详解

Linux CPU实时监控mpstat命令详解 简介 mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息.mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据:而类似工具vmstat只能查看系统整体cpu情况. 语法 mpstat [-P {|ALL}] [internal [co

CPU参数详解

PcpCPU参数详解 1.主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度.CPU的主频=外频×倍频系数.很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差.至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家 Intel和AMD,在这点上也存在着很大的争议,我们从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展.像其他的处理器厂家,有人曾经拿过一快1G的全美达来做比较,它

SQLServer2008-2012资源及性能监控—CPU使用率监控详解

 本文接着上文继续,讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源.在数据库服务器中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态. 本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息 可靠性和性能监视器是过去性能监视器工具的加强版.同时拥有性能监视器的全部功能. 性能计数器提供对各种系统活动的统计功能.可以找到有数百种性能计数器来针对Windows操作系统或者第三方应用程序的性能.SQLServer同样有数百个性能计数器供DBA使用. 在

linux sysbench: CPU性能测试详解

网上sysbench教材众多,但没有一篇中文教材对cpu测试参数和结果进行详解.本文旨在能够让读者对sysbench的cpu有一定了解. 小慢哥的原创文章,欢迎转载 1.sysbench基础知识 sysbench的cpu测试是在指定时间内,循环进行素数计算 素数(也叫质数)就是从1开始的自然数中,无法被整除的数,比如2.3.5.7.11.13.17等.编程公式:对正整数n,如果用2到根号n之间的所有整数去除,均无法整除,则n为素数. 2.sysbench安装 # CentOS7下可使用yum安装