Lec 1 数字系统抽象
这门课的聚焦点是: 设计通用处理器。
通用处理器,意味着设计出能上运行Py,Java,C等高级语言的硬件,这是一个挑战,对于执行的任何一个高级语言的特性对于硬件来说,并不敏感。机器码是软件-硬件之间的接口约定
微处理器是构建计算机系统的基本块: 即便你不从事硬件设计,但是理解他们的工作原理对于程序员来说也是很重要的。微处理器是世界上最复杂的数字系统:理解它能够帮助你设计各种各样的硬件。
本课程依赖的工具:minispec, 简化版的Bluespec SystemVerilog(BSV)。我们用一个高级的编程语言来表达设计,它最终会被编译产生电路描述。
一个观点——即使我们将来在职业生涯中不从事硬件的构建,我们可能仍然会设计一些尖端系统,因此我们需要具备良好的硬件知识。更重要的是,在现代社会中,系统变得越来越专业化。通用处理器的性能改进正在达到极限——如果我们回顾自80年代以来处理器的性能,我们已经取得了惊人的的(50000倍)提升,主要是首先遵循摩尔定律(告诉我们可以在芯片上拥有指数级数量的晶体管),然后是德纳德缩放。但在目前,这种性能改进基本上已经停止,公司现在开始构建定制硬件以满足他们的需求。因此,我们可能需要使用和设计专用硬件,而不仅仅依赖于通用处理器。

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

Outline
- 数字信号系统
- 电压转换特性
数字信号系统
数字信号 vs. 模拟信号
模拟信号系统(Analog)用连续的信号来代表了处理信息,比如电流、电压、温度、压力等等,现实世界就是模拟信号系统。而数字信号系统由离散信号构成,典型的有二进制构成,通过对范围的物理量进行编码(比如电压),它们之间很关键的不同在于数字信号系统可以容忍噪声,这也是为什么数字信号系统可以应用在几乎所有的领域,而模拟信号系统只能在很局限的领域。
数字系统中使用电压
在数字系统中,我们通过电压信号来表示一个比特(0 或 1)。这要求我们建立一种电压编码约定,使系统中的每个组件和导线都能以统一的方式表示数字信息。
第一次尝试:单一阈值法(不可行)。将电压范围一分为二,使用一个阈值电压
第二次尝试:双阈值法(暂时可行):

假设一个组合逻辑系统: 上游器件发送数字0,其输出电压略低于阈值
,则V可表示为0,现在如果电路中出现了微小的噪声干扰,使得嗲呀略微上升(即刚刚超过 ),下游器件检测到的信号不在满足输入为0的条件,由于它处于禁止区域,系统不确定。如何解决这个问题?
Solution: 输出比输入更严格,即“合法输出范围”要比“合法输入范围”更窄,这样即使信号被噪声稍微扰动,仍然处于输入可接受的范围内。我们用裕量(Noise margins)值代表系统可以容忍的最大电气噪声幅度,而不会导致输入输出错误。

信号规范的形式化:四个电压参数
把上面的“输出比输入更严格”落实成具体约定,一个逻辑系列(logic family)需要规定 4 个电压阈值:
| 参数 | 含义 | 角色 |
|---|---|---|
| Output LOW,输出 0 的电压上界 | 输出端约定 | |
| Output HIGH,输出 1 的电压下界 | 输出端约定 | |
| Input LOW,输入仍被判为 0 的电压上界 | 输入端约定 | |
| Input HIGH,输入仍被判为 1 的电压下界 | 输入端约定 |
它们必须满足的大小关系(这是核心、也是最易记错的地方):
直觉:合法输出区间(
噪声裕量(Noise Margins)
噪声裕量就是“输出合法值”到“输入判错边界”之间预留的缓冲:
- 低电平裕量
:上游输出 0( )后,信号最多可被向上抬高 ,下游仍判为 0。 - 高电平裕量
:上游输出 1( )后,信号最多可被向下拉低 ,下游仍判为 1。 - 噪声免疫度(Noise Immunity)=
,即系统整体能容忍的最大噪声幅度——由较弱的一侧决定。设计逻辑系列时通常希望两个裕量尽量相等且尽量大,从而最大化噪声免疫度。
踩坑:选取阈值时若使某一侧裕量为负(例如
),器件就无法作为合法逻辑器件工作;此时该方案应判为无效。
□
可恢复性
相比模拟信号系统,噪声会被积累,而数字信号系统,噪声可以在任何阶段取消。

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

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

② 中央区域“比宽更高” → 坡度绝对值 > 1 → 有增益(gain),线性元件(电阻、电容、电感)不能产生坡度 > 1 的 VTC,所以,为了实现合法的组合电路,我们必须使用非线性器件(如晶体管)
简而言之,数字系统比模拟系统更能容忍噪声,我们可以通过使用一定的裕量和电压电平来编码电压。
