Skip to content

Lec 1 数字系统抽象

这门课的聚焦点是: 设计通用处理器。

通用处理器,意味着设计出能上运行Py,Java,C等高级语言的硬件,这是一个挑战,对于执行的任何一个高级语言的特性对于硬件来说,并不敏感。机器码是软件-硬件之间的接口约定

微处理器是构建计算机系统的基本块: 即便你不从事硬件设计,但是理解他们的工作原理对于程序员来说也是很重要的。微处理器是世界上最复杂的数字系统:理解它能够帮助你设计各种各样的硬件。

本课程依赖的工具:minispec, 简化版的Bluespec SystemVerilog(BSV)。我们用一个高级的编程语言来表达设计,它最终会被编译产生电路描述。

一个观点——即使我们将来在职业生涯中不从事硬件的构建,我们可能仍然会设计一些尖端系统,因此我们需要具备良好的硬件知识。更重要的是,在现代社会中,系统变得越来越专业化。通用处理器的性能改进正在达到极限——如果我们回顾自80年代以来处理器的性能,我们已经取得了惊人的的(50000倍)提升,主要是首先遵循摩尔定律(告诉我们可以在芯片上拥有指数级数量的晶体管),然后是德纳德缩放。但在目前,这种性能改进基本上已经停止,公司现在开始构建定制硬件以满足他们的需求。因此,我们可能需要使用和设计专用硬件,而不仅仅依赖于通用处理器。

截屏2024-06-13 14.20.23

MIT的TA设计出的硬件测试结果

截屏2024-06-13 14.24.58

Outline

  • 数字信号系统
  • 电压转换特性

数字信号系统

数字信号 vs. 模拟信号

模拟信号系统(Analog)用连续的信号来代表了处理信息,比如电流、电压、温度、压力等等,现实世界就是模拟信号系统。而数字信号系统由离散信号构成,典型的有二进制构成,通过对范围的物理量进行编码(比如电压),它们之间很关键的不同在于数字信号系统可以容忍噪声,这也是为什么数字信号系统可以应用在几乎所有的领域,而模拟信号系统只能在很局限的领域。

数字系统中使用电压

在数字系统中,我们通过电压信号来表示一个比特(0 或 1)。这要求我们建立一种电压编码约定,使系统中的每个组件和导线都能以统一的方式表示数字信息。

第一次尝试:单一阈值法(不可行)。将电压范围一分为二,使用一个阈值电压VTH,如果V<VTH,表示0,否则表示1。原因是接近阈值的电压很难精确判断。

第二次尝试:双阈值法(暂时可行):VVL:表示 0;VVH:表示 1;VL<V<VH​:禁止区域(forbidden zone),系统在这个范围不要求任何特定行为,可以解释为 0,也可以解释为 1,甚至完全不响应。

image-20250422181435103

假设一个组合逻辑系统: 上游器件发送数字0,其输出电压略低于阈值VL,则V可表示为0,现在如果电路中出现了微小的噪声干扰,使得嗲呀略微上升(即刚刚超过VL​),下游器件检测到的信号不在满足输入为0的条件,由于它处于禁止区域,系统不确定。如何解决这个问题?

image-20250422182230795

Solution: 输出比输入更严格,即“合法输出范围”要比“合法输入范围”更窄,这样即使信号被噪声稍微扰动,仍然处于输入可接受的范围内。我们用裕量(Noise margins)值代表系统可以容忍的最大电气噪声幅度,而不会导致输入输出错误。

image-20250423141957210

信号规范的形式化:四个电压参数

把上面的“输出比输入更严格”落实成具体约定,一个逻辑系列(logic family)需要规定 4 个电压阈值

参数含义角色
VOLOutput LOW,输出 0 的电压输出端约定
VOHOutput HIGH,输出 1 的电压输出端约定
VILInput LOW,输入仍被判为 0 的电压输入端约定
VIHInput HIGH,输入仍被判为 1 的电压输入端约定

它们必须满足的大小关系(这是核心、也是最易记错的地方):

VOL<VIL<VIH<VOH

直觉:合法输出区间([0,VOL][VOH,VDD])被严格地包在合法输入区间([0,VIL][VIH,VDD]之内。换言之,只要器件输出合法,下游器件输入一定也合法,并且还留有余地。

噪声裕量(Noise Margins)

噪声裕量就是“输出合法值”到“输入判错边界”之间预留的缓冲:

NML=VILVOLNMH=VOHVIH
  • 低电平裕量 NML:上游输出 0(VOL)后,信号最多可被向上抬高 NML,下游仍判为 0。
  • 高电平裕量 NMH:上游输出 1(VOH)后,信号最多可被向下拉低 NMH,下游仍判为 1。
  • 噪声免疫度(Noise Immunity)= min(NML,NMH),即系统整体能容忍的最大噪声幅度——由较弱的一侧决定。设计逻辑系列时通常希望两个裕量尽量相等且尽量大,从而最大化噪声免疫度。

踩坑:选取阈值时若使某一侧裕量为负(例如 VIL<VOL),器件就无法作为合法逻辑器件工作;此时该方案应判为无效。

可恢复性

相比模拟信号系统,噪声会被积累,而数字信号系统,噪声可以在任何阶段取消。

image-20250423145921180

电压转换特性

电压转换特性(Voltage Transfer Characteristic, VTC)是描述一个逻辑门(如反相器、与门等)的输入电压与输出电压之间关系的曲线。

缓冲器(buffer):一种组合逻辑器件,输出等于输入(只是延迟一下)。输入电压从 0V 逐步增加到电源电压(比如 3.3V),得到一条黑色曲线,即 VTC。灰色阴影区, 输入合法、输出不合法的区域(forbidden regions),若缓冲器是合法的组合逻辑器件,它的 VTC 不会穿过这些灰色区域。注意的是VTC不会告诉你设备多块,它测量的是静态行为,非动态行为。

image-20250423151744247

VTC两大发现,① VTC中央的白色区域输入电压不属于合法的数字电平(即落在信号规范的“禁区”内),静态约束(Static Discipline)只要求“合法输入 → 合法输出”,对于非法输入,输出可以使任意电压,设备不受限制。

image-20250423155014824

② 中央区域“比宽更高” → 坡度绝对值 > 1 → 有增益(gain),线性元件(电阻、电容、电感)不能产生坡度 > 1 的 VTC,所以,为了实现合法的组合电路,我们必须使用非线性器件(如晶体管)

简而言之,数字系统比模拟系统更能容忍噪声,我们可以通过使用一定的裕量和电压电平来编码电压。