音乐播放器
sola的小屋
 
文章 标签
20

Powered by Gridea | Theme: Fog
载入天数...
载入时分秒...
总访问量:  |   访问人数:

数字设计与计算机架构课程的第二讲笔记(3)

数字设计与计算机架构课程笔记

ETH Zürich 2023春季学期·第二讲:权衡、指标和设计心态


一、不同计算平台的架构设计

(一)通用处理器(CPU)

  1. 设计目标
    • 高性能:能执行科学计算、商业应用、游戏等各类通用计算任务。
    • 高能效:在有限功耗预算下实现高性能。
    • 通用性:支持多种操作系统与应用软件。
  2. 架构设计特点
    • 复杂指令集:具备丰富指令集,可处理复杂计算任务。
    • 多核架构:通过多核并行执行多任务提升性能。
    • 多层次缓存:减少内存访问延迟,提高性能。
    • 指令级并行:实现同时执行多个指令,提升性能。
  3. 例子:Intel Core i7处理器、AMD Ryzen处理器

(二)图形处理器(GPU)

  1. 设计目标
    • 高并行度:执行图形渲染、机器学习等大量并行计算任务。
    • 高性能:在有限功耗下提供高性能。
    • 可编程性:支持可编程着色器,完成各类图形渲染任务。
  2. 架构设计特点
    • SIMD架构:采用该架构同时执行多个相同指令,提高并行度。
    • 大量处理单元:包含众多处理单元,并行执行大量计算任务。
    • 高带宽内存:可快速传输数据。
  3. 例子:NVIDIA GeForce RTX系列、AMD Radeon RX系列

(三)张量处理器(TPU)

  1. 设计目标
    • 高性能:执行大规模机器学习训练与推理任务。
    • 高能效:在有限功耗下实现高性能。
    • 专用于机器学习:专为机器学习任务设计,提升性能与能效。
  2. 架构设计特点
    • 定制数据路径:更高效执行机器学习运算。
    • 大量矩阵乘法单元:并行执行大量矩阵乘法运算。
    • 高带宽内存:快速传输数据。
  3. 例子:Google Tensor Processing Unit (TPU)

(四)现场可编程门阵列(FPGA)

  1. 设计目标
    • 可定制性:依据不同应用场景定制硬件电路。
    • 高性能:在有限功耗下提供高性能。
    • 灵活性:通过重新编程适应不同应用场景。
  2. 架构设计特点
    • 可编程逻辑单元:可配置成各种逻辑电路。
    • 可编程互连:将逻辑单元连接成不同电路结构。
    • 片上存储器:存储程序和数据。
  3. 例子:Xilinx Virtex系列、Intel Stratix系列

(五)近内存计算(NMC)

  1. 设计目标
    • 减少数据移动:将计算单元移至靠近内存处,降低数据移动次数。
    • 提高性能:减少数据移动以提升系统性能。
    • 降低能耗:减少数据移动以降低系统能耗。
  2. 架构设计特点
    • 在内存中执行计算:计算单元位于内存模块,直接在内存中计算。
    • 定制数据路径:高效执行内存计算。
    • 可编程性:重新编程适应不同应用场景。
  3. 例子:UPMEM Processing - in - DRAM Engine

(六)处理内存(PIM)

  1. 设计目标
    • 在内存中执行计算:计算单元集成在内存芯片,直接在内存中计算。
    • 减少数据移动:减少数据移动提升系统性能。
    • 降低能耗:减少数据移动降低系统能耗。
  2. 架构设计特点
    • 计算单元集成在内存芯片中:直接在内存中执行计算。
    • 定制数据路径:高效执行内存计算。
    • 可编程性:重新编程适应不同应用场景。
  3. 例子:Samsung AxDIMM

二、逻辑门的选择

(一)CMOS技术优势

  1. 功耗低:稳态时电流几乎为零,静态功耗极低。
  2. 集成度高:可实现高密度集成,将大量晶体管集成在单个芯片。
  3. 可靠性高:不易受噪声干扰。
  4. 成本效益高:技术成熟,生产成本低,性价比高。

(二)其他逻辑门技术

  1. TTL(晶体管 - 晶体管逻辑):曾为主流,现因功耗高、集成度低,逐渐被CMOS取代。
  2. ECL(发射极耦合逻辑):速度快,但功耗极高,用于高速应用,如高性能计算、电信设备。
  3. BiCMOS(双极 - CMOS):结合双极与CMOS晶体管优点,速度和功耗介于TTL和CMOS之间。
  4. GaAs(砷化镓):速度比硅基CMOS快,成本高,用于高性能通信和军事应用。

(三)选择逻辑门的因素

  1. 性能需求:高速运算应用选ECL或GaAs技术电路。
  2. 功耗要求:电池供电或移动设备选低功耗的CMOS电路。
  3. 成本:成本敏感应用选成熟的CMOS技术。
  4. 可用性:选择成熟易获取的技术缩短设计周期。

(四)特定应用场景

  1. 通用处理器:常用CMOS技术实现高性能与低功耗。
  2. GPU:采用CMOS技术,辅以流水线等特殊电路设计提高图形渲染速度。
  3. FPGA:使用可编程CMOS逻辑门实现灵活逻辑功能。
  4. ASIC:根据特定应用需求选择合适逻辑门技术。

总结:选择逻辑门需综合考虑性能、功耗、成本和可用性,CMOS是主流,但特定场景下其他技术可能更合适。

三、布尔代数与逻辑电路简化

(一)布尔代数规则

  1. 基本规则:AND、OR、NOT、XOR等运算符定义与运算规则。
  2. 等幂律:X + X = X,X * X = X
  3. 零律:X + 0 = X,X * 1 = X
  4. 吸收律:X + X * Y = X,X * (X + Y) = X
  5. 分配律:X + (Y * Z) = (X + Y) * (X + Z),X * (Y + Z) = (X * Y) + (X * Z)
  6. 德摩根定律:(X + Y) = X * Y,(X * Y) = X + Y

(二)逻辑简化方法

  1. 布尔代数规则:运用规则转换布尔表达式,消除冗余项或合并项。
  2. 合并项:合并相同变量项,如A * B和A * C合并为A * (B + C)。
  3. 消除冗余项:去除不影响电路输出的项,如A * (A + B)简化为A。
  4. 替换运算符:用等价运算符替换,如德摩根定律将AND换为OR。
  5. 卡诺图:可视化布尔函数相邻性,发现简化机会。
  6. Quine - McCluskey算法:自动找到布尔表达式最小化形式。
  7. 逻辑综合工具:现代EDA工具自动进行逻辑综合,转换为最优逻辑电路结构。

(三)逻辑简化的目标

  1. 减少电路面积:减少晶体管数量,减小电路尺寸。
  2. 降低功耗:减少开关活动,降低功耗。
  3. 提高速度:减少电路级数,提高运算速度。
  4. 降低成本:减少晶体管数量与电路面积,降低生产成本。

总结:布尔代数是逻辑电路优化重要工具,除卡诺图外,还可通过多种方法实现逻辑电路简化。

四、逻辑电路功耗设计

(一)降低动态功耗

  1. 降低供电电压:显著降低动态功耗,但可能影响电路速度与性能。
  2. 降低开关频率:减少电容充放电次数,降低动态功耗。
  3. 减少翻转率:如使用时钟门控或低功耗设计技术减少信号翻转次数。
  4. 优化电路结构:选择CMOS等功耗低的逻辑门技术,采用流水线等优化电路结构。

(二)降低静态功耗

  1. 使用低泄漏晶体管:如SOI晶体管,减少静态功耗。
  2. 降低晶体管尺寸:尺寸减小,泄漏电流减小,降低静态功耗。
  3. 使用功率门控:将部分或全部电路区域置于低功耗模式。
  4. 优化电路结构:选择低功耗逻辑门技术并优化结构。

(三)其他功耗降低技术

  1. 电源管理:如动态电压和频率调节(DVFS),根据需求调整供电电压和频率。
  2. 时钟门控:使部分或全部电路区域进入低功耗模式。
  3. 低功耗设计技术:多阈值电压、低功耗逻辑门、电路级功耗降低等技术。

总结:设计逻辑电路时,可通过降低动态和静态功耗降低整体功耗,方法包括选择合适技术、优化结构、采用功耗降低与电源管理技术等。