海南千筑建设工程有限公司网站,安卓app开发流程,wordpress运维,wordpress主题自定义打不开周斌老师 课程链接#xff1a; 目录第一课内容生态环境第一课 CPU体系架构的概述什么是CPU指令存储器架构CPU内部的并行性第一课
预修课程#xff1a; Cuda c programming guide 参考内容 1,2#xff0c;3查找一下。
内容
CPU体系架构概述 并行程序设计概述 CUDA开发环境…周斌老师 课程链接
目录第一课内容生态环境第一课 CPU体系架构的概述什么是CPU指令存储器架构CPU内部的并行性第一课
预修课程 Cuda c programming guide 参考内容 1,23查找一下。
内容
CPU体系架构概述 并行程序设计概述 CUDA开发环境搭建和工具配置 GPU体系架构概述 GPU编程模型 CUDA编程 CUDA程序分析和调试工具 基本优化 深入优化 最新NVIDIA GPU和CUDA特性
生态环境 nvidia cuda zone QQ群 GPU深度开发》还没有加记得去加群
多核系统和并行系统是因为我们的单频系统性能遇到了瓶颈。
第一课 CPU体系架构的概述
什么是CPU
执行指令处理数据的器件
能够完成基本的逻辑和算术指令
指令
算术 访存 控制 这三类指令组成了一个计算机程序。
优化的目标 每天指令需要的时钟周期最少 时钟周期尽量短
程序指令占比 分支12.5% 访存46% 矢量运算0.2%
CPU结构图
芯片做计算 内存接口接内存到CPU上 外部接口显示系统的接口、多媒体的接口 桥接芯片接口》硬盘、南桥北桥、
摩尔定律 芯片的集成密度每2年翻一番成本下降一半。
28nm,芯片加工到了极限。 所以摩尔定律表现不那么理想了。
百亿的量级的晶体管这些晶体管都在干什么 22亿个晶体管8和芯片 中间最大的部分是三级缓存。 CPU是一个吞吐机是一个处理机不断把数据倒来倒去花费在存储仓库花费在路上的成本最大。
简单的CPU结构图
上面部分数据通道 下面是控制逻辑
流水线
利用指令级并行
极大的减小时间周期 增加一些延迟和芯片面积
会带来的问题 具有依赖关系的指令怎么办 分支应当处理 流水线的长度
core 2 14级pentium 4 20级Sandy Bridge 14到20级之间
旁路Bypassing add R1,R7需要用到sub R2,R3指令的结果可以加一个旁路这样就不用访问内存直接获取R7的结果。
停滞Stalls load [R3]-R7 add R1,R7-r2 add指令需要等待load指令完成
分支 Branches
分支预测Branch Prediction
基于过去的分支记录
分支断定
提升IPC
超标量
峰值N 增加了面积
N倍资源使用旁路网络N
Sandy Bridge超标量 指令调度Scheduling
寄存器重命名
乱序执行 把指令重新排一下做一个优化
存储器架构
越大越慢
缓存Caching 将数据放在尽可能接近的位置 利用 时间的邻近性 空间的邻近性
缓存层次
存储器的另外的设计考虑 分区》避免多端口 一致性Coherency 控制器Memory controller
CPU内部的并行性 向量运算 相同处理的数据同时去做
数据级并行 单指令多数据
X86的向量运算
线程级的并行
多核Multicore
锁、一致性和同一性
CPU遇到了现实的困境我们称为能量墙cpu主频提升导致功耗很强度的提升功耗的提升导致功耗的面积、集成度、成本不能无限增加。
结论