资源描述:
《【精品】单片机ALU原理探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、研究性教学报告报告题目:单片机ALU原理探究(2011/12)注:这是我花了整整两天两夜在大量资料文献的基础上整理出来的,绝对个人原创(所有引用文献均标出),报告也是严格遵循模板。当时是作为数字电子技术这门课程的研究型学习报告上交的,现与各位百度网友分享,您可以任意下载任意使用,无需担心版权,但请勿上传至其他网络文献平台将此报告挪作赚取虚拟财富的工具,望自觉。该资料用途:K应付数电研究性学习。2、ALU基本原理入门学习。3、加法器基本类型学习。4、。。。(其他你能想到的合理用途)目录引言2一、ALU概述2二、加法器设计2
2、2.1变量G和P22.2多位加法器设计4三、逻辑运算、减法.标识位和移位93・1逻辑运算93.2减法93.3标识位103.4移位10四、完整ALU设计11五、参考文献14引言木文主要探究了ALU的实现原理,着重描述核心加法器的设计,以及在此基础上实现ALU其他基本功能。最后简耍分析了实际ALU的实现机制。因本人才疏学浅,本文参考了文献[1]、[2]和[3]。在加法器章节,主要参考文献[1]的设计理念,但是在理解吸收的基础上重新调整文章结构使设计思想更易为人接受,并结合所学知识适当加入口己的修改和补充,改正原文不合理和不完
3、善的地方;在实际ALU实现章节,参考文献[2]所提供的资料,并对文献未作分析的部分自行尝试作了分析。全文如有不当Z处,希望老师指正。—、ALU概述CPU内部主要有控制单元CU(ControlUnit)>寄存器组RS(Registers)、算术逻辑单元ALU(ArithmeticLogicUnit)和总线Bus。计算机执行指令时,指令的译码和操作的控制主要由CU负责,而对操作数进行算数逻辑运算或位移操作则由ALU进行,运算的源、目标数和中间数则放在不同类型的RS里。所以我认为我们在探究ALU的原理时可以先不必考虑CPU的机
4、器码指令是如何对ALU作用的的,也不用考虑ALU在何时进行何种操作,因为这些是CU的任务,而是把它当做一个组合逻辑电路对待,从设计、分析的角度探究ALU的原理。不同种类的单片机MCS-51、PIC、AVR等主要区别在于总线结构和指令周期的不同,比如MCS-51系列采用冯诺依曼总线,数据和程序在同一空间存储,PIC系列采用哈佛总线,数据和程序是分开存放的。但单片机内部ALU的原理,尤其是ALU加法器实现的原理人同小界,差别顶多在于ALU的位数不同及有些ALU在基木加减法运算的基础上能实现乘除法运算,以及ALU结构上的丼别。
5、而ALU的设计主要包含三方面:功能定义、核心加法器设计以及结构设计。本文主要关注ALU核心——加法器,以二进制加法器为例的设计和实现,在此基础上实现减法器、逻辑运算及标志位产生等,最后简要分析实现ALU的三种典型结构。二、加法器设计2.1变量G和P文献[1]、[2]屮多次提及进位产生变量G和进位传播变量P,为理解设置这两个变量的意义,我们不妨先从最基本的加法器一一半加器和全加器入手。半加器是不带进位的加法器,即半加器,其真值表如表2-1-1,其屮C为进位(Carry),S为和(Sum)表2-1-1半加器真值表输入输出AB
6、CS0000010110011110很容易我们就能写出C和S的表达工1s=A㊉BC=A・B然后我们再列出全加器的真值表,如表2-1-2,其中Ci为低位进位,Co为向拓位的进位。表2-1-1全加器真值表输入输出ABS0000000101010010111010001101101101011111仔细观察不难发现,仅当A、B、Ci三位屮有两个以上1时,Co为1,类似于多人表决电路,很容易写出Co的逻辑表达式为:co=(X・B)+(G・(丄①B))=(X•B)+(B.G)+(G・A)仅当A、13、Ci三位屮有奇数个1时,S为1
7、,但这个规律似乎不适合直接翻译,所以我们可以通过列最小项的方法,经化简得到S的表达式为:S=(4㊉E)㊉G上面对全加器的分析思路是把A、B、Ci看做三个地位相同的逻辑变量,这种方法有助于我们快速写出函数表达式,却不利于我们思考多位加法器的实现,因此我们需要将半加器与全加器结合起来考虑。从数学运算规则的角度岀发,高位数相加时分成两步,先将高位上的数相加,再与进位相加,最后得到该位的和以及进位。而半加器产生进位的条件是A和B全为1,用表达式表述为AB二1,这时全加器的Ci二1,而当Ci二1时,高位必须有数为1才能产生向更高位
8、的进位,否则将没有进位,也可以表述为A+B二1时,如果Ci二1,则Co-1,如果我们将上述两个条件分别用变量G、P表示,即进位产生变量G二A与B和进位传播变量P二A+B,则其含义为:若G为1,必定产生进位;若P为1,则向高位传输低位的进位Ci,可认为低位进位越过本位直接向高位进位【注文献⑶《数字电子技术基础》P157