对输入输出的选择构成运算指令,ALU按照运算指令对输入数据进行运算。 再加上对输入输出数据通道的控制,构成中央处理系统CPU。
课程设计:
根据本课程采用的基本逻辑单元设计串行加法器,分析采用超前进位算法(见教材)进行设计可以实现的效果与问题。
课程设计:
通过对串行加法器设置数据选择器,实现ALU的设计,要求能够完成尽可能多的实际运算。
给出设计的全部指令集合,详细说明数据选择器的设置和相关指令的作用。
教材参考章节: 第6章:6.10
第16次课 (5-3)
ALU的局限
在进行算术运算时,ALU的运算组织为串行运算方式,运算时间较长。 当面临大规模数据处理时,采用ALU运算方式会耗费大量运算时间,不能满足设计需求。 在数字系统中,针对大规模数据运算,专门设计并行运算系统以实现硬件加速,已成为数字运算系统(例如DSP系统)的典型设计方式。 在这类系统设计中,除了考虑成本优化因素外,更重要的是如何通过设计进行运算时间的优化。
数据累加
在数字系统中,经常需要将大量数据进行累积相加,这样的运算称为数据累加。 例:对同时到达的64个8位数据进行相加,得到结果也为8位数据。
基于串行加法器的并行设计
使用32个8位串行加法器对64个数据进行第1级并行相加,产生32个数据; 再使用16个8位串行加法器对32个数据进行第2级并行相加,产生16个数据; 以此类推,经过6级运算后,得到最终结果; 延迟时间为8位串行加法器延迟时间的6倍。
基于半加和全加单元的并行设计
考虑到串行加法器的运算过程,低位结果先产生; 一旦前级产生部分结果,后级运算就可以开始;
累加器延迟可以表现为单个串行加法器延迟加上级间延迟; 该设计在相同成本条件下,可以大幅度缩短运算时间。
乘法器设计
乘法运算是信号处理系统中常用的运算。
主要设计方式有3种:查表式设计、移位相加设计、乘-累加设计。 例:2个8位无符号数据相乘,产生8位输出结果,采用直接截断。
查表式设计:
采用标准组合真值表表达乘法器的输入输出关系,然后采用组合逻辑设计或存储器实现查找表。
查表式设计的电路结构通常由2部分构成,先由二进制译码器对输入进行译码,然后由或门阵列合并相应的输出。对于8位乘法器,需要一个16位二进制译码器和8个多输入或门。 该设计概念简单,由于采用全并行设计,运算速度可以得到最大优化,但成本随着位数的增加而急剧增加,因此通常只用于很少位数的数据相乘运算。
移位相加设计:
该设计根据乘法运算规律,将乘数A与乘数B的每一位进行相乘,然后进行相加;由于B的各位只能取0或1;取1时,相加的数表现为A的移位复制;而取0时,则不进行该复制数的相加。
这种设计将乘法运算完全改为加法运算,通过B的每一位选择一个数进行相加;相加方式非常容易编制为软件程序,形成递推运算:每次运算先将A向左移动一位,然后根据B对应位是1或0,判断是否将移动后的A与以有的相加结果进行相加。 在进行硬件设计时,该设计需要在每一步都使用数据选择器对新加入数据进行选择,然后再利用串行加法器进行相加。在设计8位乘法器时,只需要7个串行加法器和8组选择器就可以实现,成本大大低于查表式设计,但由于移位相加过程本质上表现为串行运算,运算时间比较长。
这种设计特点是运算分级清楚,容易形成流水分级或迭代运算结构,也非常容易扩展到更多位数的乘法器设计。
乘-累加设计:
该设计完全根据乘法手工运算规则,先将A的每一位与B的每一位进行独立相乘,然后再将相乘的结果进行相加。设计时,乘法过程可以通过与门阵列全并行实现,而加法过程则可以采用累加的方式进行设计。在设计中可以比较充分地利用半加和全加单元的选择来降低成本,也可以在累加过程中采用低位运算结果及时投入下级计算的方式来缩短运算时间,在进行乘法器的组合设计时,此方法可以使成本得到最大优化,而速度也得到较好优化。 此方案的缺点是运算架构错综复杂,扩展和流水设计比较困难。
课程设计:
在大量数字系统的设计中,需要将输入信号与固定的系数(例如滤波器系数、变化系数等)进行相乘。为了降低成本提高速度,需要考虑常数乘法器的设计:将输入信号与常数进行相乘。请分析采用乘-累加方式进行常数乘法器设计的基本方法,并与变量乘法器对比,分析由此得到的优化效果。
教材参考章节: 第6章:6.11
第17次课 (6-1)
第六章 基于组合集成块的设计
集成块的特点
小规模块:内含多个独立的门电路块,可用于连接设计;
中规模块:内含一个具有特定运算功能的电路,可以进行扩展; 大规模块:中小规模存储器阵列; 超大规模:大规模存储、FPGA
基于集成块的设计
根据数字系统设计需要,选择现有集成块,通过连接或编程实现设计。
设计要点:中小规模块成本与延迟基本相同,采用块延迟和块成本进行评估; 例:一个BCD运算器的设计:运算定义、卡诺图、最小和、逻辑图
基于SSI集成块的设计
1 采用与-或结构直接实现:问题:或门资源不足,需要进行分解设计:时间与成本 2 采用与非-与非实现:可以用多余的与非门实现反相器;
3 采用AOI结合反相器实现:选取反函数进行设计,减少反相器用量;
未使用输入端的连接方式:
必须连接固定电平,不能悬置; 需要保障不影响其他输入端的使用:
整个门没有使用时,应按照关门状态设置;
对部分使用的门,应按照开门状态设置;也可以与使用的输入并接,但延迟有所增加;
典型中规模集成块
多数为特定功能的实现:编码器、比较器、加法器等
只有集成二进制译码器和集成数据选择器可以用于一般逻辑电路的设计。 需要重点关注:输入输出关系和表达特点、控制端的作用和扩展方式。
集成二进制译码器
典型集成块:74139、74138
端口特点:低电平有效输出---最大项输出 扩展方式:利用使能端进行控制
基于集成二进制译码器的设计
译码器可以提供输入信号的全部最大项/最小项; 输出逻辑可以表现为输入的最小项和、最大项积; 特点:多个输出可以共享译码器的输出;
1 最小项和实现:采用与非门选择相应输出端; 2 最大项积实现:采用与门选择相应输出端;
根据输出中1或0的相对多少进行设计选择;多余的与非门可以用作反相器;
对输入中的公因式进行提取,可以减少变量数量,提高设计效率;
教材参考章节: 第1章:1.6
第6章:6.1、6.2、6.4
第18次课 (6-2)
集成数据选择器
典型集成块:74151、74153 端口特点:输出方程
扩展方式:利用使能端进行控制
基于集成数据选择器的设计
标准输出方程和标准卡诺图:可以表现为最小项和的形式; 通过标准卡诺图对比建立连接关系; 每个集成块只能用于单输出逻辑的实现;
例1 3变量函数的直接实现:直接将数据端接1或0; 例2 4变量函数的实现:将变量和反变量连接到数据端; 例3 4变量函数实现:通过利用无关项化简,消除反变量; 例4 4变量函数实现:使用反函数消除或提取反变量;
特定功能中规模集成器件
74148 8位优先编码器 对最高有效输入进行编码输出;
低电平有效的输入输出 GS和EO的意义:扩展方法 7449 7段译码器 输入A为低位、D为高位;BI的意义; 74541 8位单向总线控制 74245 8位双向总线控制 74280 奇偶校验器 7485 4位数值比较器 74283 4位串行加法器
教材参考章节: 第6章:6.4—6.10
第19次课 (6-3)
半导体存储器的结构特点
由地址译码器、存储阵列、输入输出控制3部分构成;
n位地址输入,产生2n个字线输出,对相应存储单元进行控制; 受控制的存储单元通过位线,经由输入输出控制对外交流数据;
存储器的分类
每个字线与位线的交叉点设置存储单元;
ROM 通过开关器件连接使字线状态能够影响位线状态;可以掉电保存; RAM 通过字线控制的开关器件联通存储单元到位线的通道;不能掉电保存;
ROM分类
掩膜ROM:二极管连接、三级管连接 连接表达1
熔丝ROM:PROM,通过烧断熔丝写0,只能一次性写入,不可恢复; 可檫写ROM:EPROM,采用浮栅技术,注入电荷写0,放电恢复1;
RAM分类
SRAM:存储单元为锁存器,结构较复杂,集成度较低,状态稳定可靠,存取速度快; DRAM:存储单元为电容器,结构简单,集成度高,但状态稳定性差,需要不断刷新;
集成半导体存储器
地址输入、数据输出与存储量的关系; 写入的控制;
片选:对译码器的控制
输出使能:采用三态开关进行总线连接控制; 利用CS和OE端进行扩展:
位扩展:高位和低位分别置于不同存储器中,采用相同输入进行控制 字扩展:利用译码器进行片选,利用或门对输出进行合并。
基于集成半导体存储器的设计 将信号从地址输入端引入; 译码器产生输入的全部最小项;
利用存储阵列中的1选择得到最小项和;
根据设计任务所需要的输入端数量和输出端数量,选择适当的集成半导体存储器; 根据输入输出关系的真值表,在存储阵列中写入1或0:设计编程;
特点:可以利用单片集成块实现多输入多输出逻辑;
利用存储器的改写能力,可以对设计进行反复修改更新; 设计复杂性取决于输入的数量。
教材参考章节: 第9章:9.1—9.4
第20次课 (6-4)
可编程器件简介
存储器作为可编程器件的基础,可以实现多输入多输出数字系统设计;
但整体设计成本过高,需要将设计分割为较小的功能单元,然后进行组合; 在一个芯片上集成大量小型存储器,利用小型存储器实现系统的功能单元,可以获取更高