首页 > 其他分享 >基础概念

基础概念

时间:2023-02-22 18:35:08浏览次数:31  
标签:功耗 并行 基础 概念 指令 芯片 局部性 CPU

通用计算机系统的层次结构

一共四层,被三个界面连接起来,分别为API,ISA,工艺模型。

应用程序编程接口API层

操作系统的指令系统,介于应用程序和操作系统之间。API 是建生态的起点。

指令系统ISA层

介于操作系统和硬件系统之间。指令系统ISA是实现软件兼容的关键。

工艺模型

是芯片生产厂家提供给芯片设计者的界面。

补充(ABI层)

应用程序编程接口(API)和指令系统(ISA)之间还有一个应用程序二进制接口层(ABI),ABI是应用程序访问计算机硬件以及操作系统服务的接口,由用户态指令和系统调用组成。

 

计算机的基本组成

计算机中使用二进制。电路板上由许多芯片组成。

层次关系

芯片(类似一个系统)> 模块(加法器,乘法器)>逻辑门(“与”,“或”,“非”门)> 晶体管(PMOS管,NMOS管)

冯诺依曼结构

运算器、控制器、存储器、输入设备、输出设备。

冯诺依曼结构最核心的思想

存储程序和指令驱动执行,即数据和程序都放在存储器中,CPU从内存中取指令和数据进行运算,运算结果也放在内存中。

 

计算机的性能指标

常用指标

MIPS(Million Instruction Per Second):每秒执行多少百万条指令。(但是一条指令能干多少事情讲不清楚,数据供应不上,运算能力再强也没用)

MFLOPS(Million Floating point Operations Per Second):每秒做多少百万次浮点运算(同样数据供应不上,运算能力再强也没用)。

CPI(Cycles Per Instruction):每条指令的平均执行周期。

IPC(Instructions Per Cycle):每个时钟周期平均执行的指令数。

 

影响主频的因素

宏观上取决于微结构设计。

微观上取决于工艺和电路设计。

 

计算机的功耗

芯片功耗

由晶体管工作产生。

晶体管功耗

开关功耗:电容的放电。如从0到1,电容从不带电变为带电,有一个充电的功耗,吃饱饭1到0也是,充电和放电过程中会产生功耗。

短路功耗:P管和N管短路时产生的功耗。P管和N管在部分开启和关闭的时候,电流的变化有一定的斜率,产生了短路功耗。

漏电功耗:MOS管不能严格关闭时发生漏电的功耗。

芯片功耗的优化

一般从动态功耗优化和静态功耗优化入手。

动态功耗优化:升级工艺可以降低电容和电压,从而降低动态功耗(芯片工作频率跟电压成正比)。

静态功耗优化:选择呢低功耗工艺。

计算机体系结构的发展

发展史

20世纪五六十年代,工艺限制,结构简单,主要研究如何加减乘除。

20世纪七八十年代,精简指令集兴起,指令系统结构ISA成为研究重点。

20世纪九十年代后,要考虑的问题包括CPU,存储系统,IO系统和多处理器,研究范围更广。

21世纪,网络就是计算机,向上突破软硬件界面,向下突破逻辑设计和工艺实现的界面。

计算机体系结构发展的主要动力:工艺技术的发展,应用需求的提高。

 

计算机体系结构发展面临的障碍

复杂度障碍

是指芯片设计的复杂度。工艺提供的晶体管更多,导致设计周期和成本大幅度增加。

主频障碍

主频越来越难提升,主频持续增长的时代已经结束。

功耗障碍

随着晶体管数目的增加,功耗问题也越来越突出。CMOS电路的功耗与主频和规模都成正比。

带宽障碍

芯片计算所需的数据来自芯片外,冯诺依曼结构中,CPU和内存在逻辑上是分开的,指令和数据都存储在内存中,CPU要不断从内存中获取指令和数据,但芯片的引脚数目又不可能无限增加。

 

体系结构设计的基本原则

平衡性

一个木桶所盛的水量由最短的模板决定。一个结构最终体现出的性能受限于其瓶颈部分。一些程序中有一些部分是不能被并行化的,而这些不能并行化的部分将成为程序优化的一个瓶颈。

通常CPU设计上,有个计算性能和访存带宽的平衡经验,峰值浮点运算速度(MLOPS)和峰值访存带宽(MB/s)为1:1左右。

Amdahl定理

p:可并行的部分。

n:处理器数量。

 

局部性

体系结构能够利用局部性进行性能优化时,最常见的是利用事件的局部性,也就是有些事件频繁发生,有些事件不怎么发生,这种情况下就要重点优化频繁发生的事件。

最著名的案例就是在操作系统中的访存局部性的优化。访存局部性包括时间局部性和空间局部性。

时间局部性:一个数据被访问后很有可能多次被访问

空间局部性:一个数据被访问后,其邻近的数据也很有可能被访问。

 

并行性

计算机中一般可以开发三种层次的并行性。

第一层:指令级并行,包括时间并行(指令流水线),空间并行(多发射)。

第二层:数据级并行,主要指单指令多数据流(SIMD)的向量结构。

第三层:任务级并行,代表是多核处理器以及多线程处理器。

虚拟化

虚拟存储技术“虚拟”了内存,多线程和虚拟机“虚拟”了CPU。

 

标签:功耗,并行,基础,概念,指令,芯片,局部性,CPU
From: https://www.cnblogs.com/RedNoseBo/p/17143866.html

相关文章

  • 移动web基础
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <!--<linkrel="stylesheet"type="text/css"href="xxx.css"/>--> <styletype="t......
  • Vue3从基础到精通
    目录一、Vue3介绍1.Vue3的变化2.Vue2和Vue3的不同之处二、Vue3创建项目1.用vue-lci创建步骤2.用vite创建步骤三、setup函数四、ref、reactive、toRefs五、计算属性和监听......
  • E029Web学习笔记-Maven基础
    一、Maven概述1、简介Maven是一个非常强大的项目管理和综合工具; 2、Maven依赖管理Maven将Java项目所需要的Jar包放在一个统一的仓库里面,多个项目可以共同使用; 3、项目的一......
  • 测试基础相关的面试题
    1、作为测试人员,你有完成过哪些工件的输出?---答:有测试用例、测试报告、测试用例执行结果、缺陷明细这些交付件。 2、测试报告有哪些内容?答:大概有项目背景、测试范围......
  • 详解神经网络基础部件BN层
    摘要:在深度神经网络训练的过程中,由于网络中参数变化而引起网络中间层数据分布发生变化的这一过程被称为内部协变量偏移(InternalCovariateShift),而BN可以解决这个问题。......
  • Python 100道基础入门练习题(附答案)
    实例001:数字组合题目有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析遍历全部可能,把有重复的剃掉。1num=02forainrange(1,5):3......
  • Javascript基础入门
    Javascript基础入门​ JavaScript,是一门能够运行在浏览器上的脚本语言.简称JS.首先,Javascript这个名字的由来就很有意思,不少人认为Javascript和Java貌似很像.容......
  • Python基础篇-变量名命名规则
    Python变量名命名规则遵循PEP8原则:普通变量:max_value全局变量:MAX_VALUE内部变量:_local_var和关键字重名:class_函数名:bar_function类名:FooClass布尔......
  • redis概念 和数据库比较
    概念redis是一款高性能的NOSQL系列的非关系型数据库什么是NOSQLNoSQL(notonlysql)不仅sql是一项全新的数据库理念泛指非关系型的数据库随着互联网......
  • 大学物理--机械波的概念
    机械波形成的必要条件横波:各点的振动方向和波的传播方向垂直纵波:质点的震动方向和波的传播方向平行波长周期和频率波速举例......