D触发器、JK触发器以及单稳态触发器、非稳态多谐振荡器在 XPU 设计中的使用情况
先总述各种触发器的应用领域,再回过头来看cpu/gpu 中的触发器。
1. 各类触发器的应用领域
首先,需要明确一个核心概念:D触发器和JK触发器属于“双稳态触发器”,用于构成时序逻辑电路,是存储数据的基本单元。而单稳态和多谐振荡器属于“脉冲产生与整形电路”,用于生成或处理特定波形。
1.1. D触发器
这是现代数字集成电路中应用最广泛、占比最高的触发器。
核心功能:在时钟边沿(上升沿或下降沿)捕获并存储一位数据(D端输入)。
主要特点:结构简单、可靠性高、设计规则统一。
应用领域:
数据寄存器 临时存储数据。
移位寄存器 用于数据串行/并行转换。
计数器 构成二进制计数器。
状态机 构成同步时序逻辑电路的核心状态存储单元。
CPU/GPU内部流水线寄存器 这是其最核心的应用,用于在处理器不同流水线阶段之间暂存指令、数据和结果。
1.2. JK触发器
功能上比D触发器更灵活,但在大规模集成设计中复杂度更高。
核心功能:具有置位(J=1, K=0)、复位(J=0, K=1)、保持(J=0, K=0)和翻转(J=1, K=1)四种功能。
主要特点:功能全面,但控制线更多。
应用领域:
通用计数器 特别是需要复杂计数序列的场合。
分频器 实现非2的整数次幂的分频。
控制逻辑 在一些中小规模集成电路(如74系列芯片)中用于实现复杂的控制状态机。
历史遗留系统 在早期或一些特定功能的数字逻辑设计中仍有应用。
1.3. 单稳态触发器
它不属于数据存储单元,而是一种脉冲波形整形电路。
核心功能:有一个稳态和一个暂稳态。当受到外部触发后,会输出一个固定宽度的脉冲,然后自动返回稳态。脉冲宽度由外部RC元件决定。
应用领域:
脉冲整形 将不规则的输入脉冲整形成宽度和幅度一致的规整脉冲。
定时延迟 产生一个精确的延时信号。
噪声消除 用于消除机械开关抖动产生的毛刺。
1.4. 非稳态多谐振荡器(张弛振荡器)
它也不属于数据存储单元,是一种自激振荡器,不需要外部触发。
核心功能:没有稳态,只有两个暂稳态,电路自动在两个状态间来回切换,从而产生连续的方波或矩形波信号。
应用领域:
时钟信号发生器 为数字系统(如微控制器、FPGA)产生基础时钟信号。在芯片内部,更常用的是基于晶体振荡器的精密电路。
定时器/计时器 如555定时器的工作模式之一。
LED闪烁电路 产生简单的周期性信号。
频率合成器的参考源;
2. 触发器在CPU和GPU中的使用比重
这个问题的答案非常明确,但需要从两个层面理解:宏观架构层面和微观晶体管层面。
2.1. 宏观层面:逻辑构建单元
在讨论CPU/GPU的架构时,我们所说的“触发器”几乎特指D触发器。
比重: D触发器占据绝对统治地位,比重超过99.9%。
原因:
流水线技术 现代CPU和GPU都采用深度流水线设计。每一个流水线阶段之间都需要用寄存器(由D触发器阵列构成)来暂存中间结果。一个现代处理器内核内部有数亿甚至数十亿个D触发器。
寄存器文件 CPU和GPU中大量的通用寄存器、浮点寄存器等,其物理实现就是大规模的D触发器阵列。
Cache SRAM 虽然大型Cache是用6晶体管或8晶体管的SRAM单元实现的,但其周边的控制逻辑(如地址解码器、状态机)仍然由D触发器构成。
控制逻辑 整个处理器的控制单元(如状态机、指令译码后的流水线控制信号)都依赖于D触发器来存储状态。
JK触发器在CPU/GPU的宏观设计中几乎不使用。因为其复杂的功能可以通过D触发器加上简单的组合逻辑(如多路选择器MUX)来实现,这种设计更规整,更适合自动化EDA工具进行大规模集成和优化。
2.2. 微观层面:基本电路单元
当我们深入到晶体管级电路设计时,情况会稍有不同。
D触发器 仍然是绝对核心。但一个D触发器本身是由多个逻辑门(如与非门、或非门)构成的。最经典的结构是主从D触发器,包含两个锁存器。
非稳态多谐振荡器 会以某种形式存在。例如:
环形振荡器 由奇数个反相器首尾相接构成,是一种简单的非稳态电路。它常用于芯片测试环节(如测量电路延迟)或锁相环(PLL) 的压控振荡器(VCO)的基本结构单元。PLL是CPU/GPU中用于生成高频、稳定的内部时钟的核心模块。
单稳态触发器: 在CPU/GPU内部标准数字逻辑中非常罕见。因为其依赖RC的延时在芯片制造中难以精确控制,且易受工艺、电压、温度影响。芯片内部的延时通常通过数字电路(如计数器)或更稳定的电路(如PLL/DLL)来实现。它更多出现在芯片的输入/输出(I/O)接口电路中,用于处理外部异步信号。
3. 总结对比表
触发器类型 | 核心功能 | 主要应用领域 | 在CPU/GPU中的比重和角色 |
---|---|---|---|
D触发器 | 数据存储(一位) | 寄存器、计数器、状态机、流水线 | >99.9%(宏观)。是构建所有时序逻辑(寄存器、状态机)的基本单元。 |
JK触发器 | 功能灵活的存储(置位/复位/翻转) | 复杂计数器、控制逻辑(中小规模IC) | 几乎为0%。功能被“D触发器+组合逻辑”替代。 |
单稳态触发器 | 产生固定宽度的脉冲 | 脉冲整形、延时、消抖 | 近乎0%(内部逻辑)。可能存在于I/O接口等模拟/混合信号部分。 |
非稳态多谐振荡器 | 产生连续时钟波形 | 时钟发生器、振荡器、定时器 | 作为基本电路单元存在。是PLL中VCO等时钟生成电路的核心组成部分,但不直接作为逻辑单元使用。 |
简单来说:
我们可以把D触发器想象成数字世界的“原子”,是构成CPU/GPU庞大躯体的最基本存储单元。而非稳态多谐振荡器是产生生命节拍(时钟)的“心脏” 的一部分。JK触发器像是过时的工具,已被更高效的“原子”组合所取代。单稳态触发器则像是外部设备的“适配器”,在处理器核心内部没有立足之地。