NVIDIA CUDA入门(1)CPU结构

基础知识:

1、计算机体系结构基础

2、C语言程序设计

3、计算机算啊基础

4、线性代数

https://developer.nvidia.com/computeworks NAIDIA CUDA Zone

一、CPU体系架构概述

1、什么是CPU?

大多冯诺依曼体系结构,执行指令,处理数据的器件、增加了复杂功能、包含大量晶体管。

指令举例:

算术:add r3,r4 ->r4

访存:load [r4] -> r7

控制: jz cnd(如果是0,跳转)

对于一个编译好的程序,最优化目标:

每个指令需要的几个时钟周期*每个时钟周期所用的时间

两条线:数据线,指令线。

CPU一条指令为一个基本的操作单元,最常用指令MAC,乘加指令,a= b*c+d

流水线、乱序执行

寄存器reg,算术逻辑单元ALU,L1一级缓存,L2二级缓存,RAM,硬盘。

桌面应用

1、少量线程 一段指令代码,无存储空间 轻量级进程

2、大量分支交互操作

3、大量存储器访问

 

 

指令集并行,流水线极大地减少时钟周期    问题:有依赖性关系的指令   现在大概都是十几级

 

旁路可以解决相互依赖的问题,不需要写入memory。

流水线分支预测:猜测下一条指令、基于过去的分支记录

分支预测器增加了面积。

分支断定:用条件语句替换分支

CPI越小小号,ICP越大越好

ADD R0,R1->R2

ADD_V (R0,R1,R2......R7)->

峰值IPC为N

OoO可以使IPC接近理想

延迟是第一个数据来到第一个数据出,吞吐是单位时间内可以同时多少

SRAM 6个晶体管可以搭起来、DRAM断电消失

Caching缓存 数据放在尽可能近的位置

存储器设计:

分区(Banking)避免多端口、一致性、控制器多通道,增加带宽

线程:指令流+私有的寄存器,程序计数器、栈(先进先出)+共享全局变量、堆

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值