前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >处理器结构

处理器结构

作者头像
None_Ling
发布2018-10-24 14:44:36
9840
发布2018-10-24 14:44:36
举报
文章被收录于专栏:Android相关Android相关

处理器硬件结构

现代计算机结构处理过程:

  • 输入设备输入数据,存储器存储输入数据
  • 控制器接收指令控制存储器将数据送入ALU进行计算
  • 控制器接收指令将计算后的结果存入存储器
  • 控制器接收指令将存储器数据输出到输出设备

冯诺依曼结构

所有复杂运算都是通过简单运算组合而成。而CPU中最核心的部分为ALU。

ALU(算数逻辑单元):主要由与门和或门构成,用来进行二进制数据的计算。

处理器模型

ISA:指令集体系架构,也是目前使用的最广的CPU体系架构。主要包括一套指令集以及一些寄存器,而程序员针对这些指令集以及寄存器进行编程,而不需要关心具体的硬件。

在PC上,大部分用的Intel和AMD处理器都是基于x86指令集,而嵌入式设备上的程序大部分使用的AMR指令集。

处理器

  • 指令集体系结构:x86,arm,armv7,mips等
  • 处理器微架构:NetBurst等
  • 处理器物理实现:20nm/40mn的集成电路工艺,电子计算机,量子计算机等

而处理器除了内核外,还有其他很多东西,如I/O,电源,电池,时钟等等。

处理器结构

CPU硬件指标

MIPS:每秒执行指令数,而实际中该值会偏低,因为实际情况中会遇到并行,Cache Miss,通信效率,总线冲突等问题。

功耗:现在设备中CPU与显卡功耗非常大

指令集体系结构

处理器模型: 例如C=A+B;语句:

  • 操作数:C,B,A均为操作数,操作数存储在主存中

由于从Memory访问数据很慢,于是CPU在ALU附近加入了寄存器,用来存储计算中产生的中间数据,避免将这些数据存入主存再读取的耗时

  • 操作码(op):+为操作码

处理器模型

对于C=A+B可以分为以下指令执行:

代码语言:javascript
复制
load R3,#0;// 加载#0地址存储的数据到R3寄存器
load R2,#1;   // 加载#1地址存储的数据到R2寄存器
add R0,R3,R2;// 将R3,R2寄存器的数据相加保存到R0寄存器中
store R0,#2;// 将R0寄存器中的数据保存到#2地址

其中load,add,store为指令,R0,R1,R2,R3为寄存器,#1,#2为主存地址

这种指令的写法就是汇编语言,处理器公司也会对外发布指令集手册,而这手册也是使用汇编语言来描述。

而计算机无法理解loadstore等指令,也不知道具体的寄存器为R1R0,计算机只知道0和1,所以最终编译过后每一条指令均如01011101011001,代表着load R3 ,#0;

最初程序员直接写汇编语言来进行程序开发,直到Fortran的出现,才出现了高级语言,能让程序员从解放出来。

高级语言的转换

指令集的发展

CISC:复杂指令集,提供了很多与高级语言以及特性相关的指令(如复杂的寻址模式,直接对应的指针运算)等,导致指令集非常庞大。而x86的CPU仍然在使用CISC指令集。

RISC:精简指令集,相对于CISC来说减少了许多直接的指令,只保留了常用的简单的指令。如Mips,Arm,Power等CPU使用RISC指令集。

RISC使得CPU不需要浪费大量的晶体管来做复杂而又较少使用的功能,X86的指令集有1000多页,而RISC指令集手册只有200页左右,并且精简指令集的大部分指令都可以在1个cycle执行完,并且使用了定长编码,使得指令译码的过程变得简单,并且CPU的频率得到了大幅度的提升

可是CISC的一条指令对应着多条RISC指令,所以在执行复杂操作的时候,RISC指令集使得CPU与存储器之间的数据交换增多,而存储器的速度远远低于CPU执行速度,比较容易导致性能恶化

PS:芯片的制程工艺(32nm,22nm)决定了芯片内部晶体管的数量,晶体管数量越多,则芯片能完成的任务也就越多

手机上的CPU大部分用的是ARM,无论是高通还是TI,还是三星使用的还是ARM内核。因为ARM在设计之初就将低功耗,低成本的优先级放在了高性能之前。

ARM自己不生产芯片,而是向半导体公司提供指令集与内核授权,让半导体公司生产ARM指令集的芯片。

计算机字长(Word)

16位计算机的字长为16bit。 32位计算机的字长为32bit。 64位计算机的字长为64bit。

字长代表着处理器一次处理数据的长度,主要由运算器和寄存器决定。

32位处理器,每个寄存器都可以存储32位的数据,而加法器可以支持两个32位的数据相加

image.png

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 处理器硬件结构
  • 处理器模型
  • CPU硬件指标
  • 指令集体系结构
  • 指令集的发展
  • 计算机字长(Word)
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档