数字逻辑层
计算机体系结构的学习,对做嵌入式开发很有作用,它可以让你层次化理解你所用的开发板的相关细节。本文介绍计算机体系结构中的最底层——数字逻辑层。
数字逻辑层是纯硬件实现层,学习本文也可为后续学习硬件-模电相关知识巩固基础。
本文分析过程完全参考《计算机组成-结构化方法》,时间充裕的读者推荐阅读原文。此书行文逻辑是从最基础的数电概念出发,一步一步搭建复杂系统,本文主要分析这种思路。很多数电的基础概念不会过多阐述。
1、门与布尔代数
本节读者要能回答以下问题:
- 基本的逻辑门有哪些?简述工作机理?为什么它们是最基本的?
- 如何利用布尔函数进行组合逻辑电路的结构化设计过程?
逻辑门
逻辑门就是用高低电平表示0、1两个逻辑值的电路,最简答的三个门电路如下:(工作机理略,自行阅读基本的模电知识)
由这几个基本逻辑门可以组合成更多形态的逻辑门,例如多输入与非/或非门、与/非门。
布尔代数
描述逻辑门输入、输出之间的函数,有真值表与布尔函数两种表示方法。由布尔代数设计相应组合逻辑电路的结构化方法如下
这种结构化设计方法的好处是快、缺点是存在冗余设计。减少冗余设计的手段是化简布尔代数(利用卡诺图化简,本文不涉及),但这会破坏结构化设计的思想。
2、基本数字逻辑电路
本节读者要能回答以下问题:
- 多路选择器?译码器?比较器?移位器?加法器?
- 算术逻辑单元的组成?
多路选择器
从两个角度认识多路选择器:
- 将ABC看成使能端,激活某一个输入端信号传输至输出端
- 将D0-D7看成使能端,实现不同ABC输入信号的组合,从这个角度,8路选择器可以实现任意三输入的布尔函数。