微机原理及应用课程设计.doc_第1页
微机原理及应用课程设计.doc_第2页
微机原理及应用课程设计.doc_第3页
微机原理及应用课程设计.doc_第4页
微机原理及应用课程设计.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理课程设计吉林建筑工程学院电气与电子信息工程学院微机原理技术课程设计报告设计题目: 算术逻辑单元设计 专业班级: 学生姓名: 学 号: 指导教师: 设计时间: 2011.06.272011.07.08 教师评语:成绩 评阅教师 日期 第1章 绪论1.1 算术逻辑单元发展及现状算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。现阶段是用电路来实现,应用在电脑组芯片中。在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重要成部分,甚至连最小的微处理器也包含ALU作计数功能。在现代CPU和GPU处理器中已含有功能强大和复杂的ALU;一个单一元件也可能含有ALU。1945年数学家冯诺伊曼在一篇介绍被称为EDVAC的一种新型电脑的基础构成的报告中提出ALU的概念。 早期发展1946年,冯诺伊曼与同事合作为普林斯顿高等学习学院(IAS)设计计算机。随后IAS计算机成为后来计算机的原形。在论文中,冯诺伊曼提出他相信计算机中所需的部件,其中包括ALU。 冯诺伊曼写到,ALU是计算机的必备组成部分,因为已确定计算机一定要完成基本的数学运算,包括加减乘除。于是他相信(计算机)应该含有专门完成此类运算的部件。 数字系统ALU必须使用与数字电路其他部分使用同样的格式进行数字处理.对现代处理器而言,几乎全都使用二进制补码表示方式。早期的计算机曾使用过很多种数字系统,包括反码、符号数值码,甚至是十进制码,每一位用十个管子。 以上这每一种数字系统所对应的ALU都有不同的设计,而这也影响了当前对二进制补码的优先选择,因为二进制补码能简化ALU加法和减法的运算。 一个简单的能进行与或非和加运算的2位ALU。 可行性分析绝大部分计算机指令都是由ALU执行的。ALU从寄存器中取出数据,数据经过处理将运算结果存入ALU输出寄存器中。其他部件负责在寄存器与内存间传送数据。 控制单元控制着ALU,通过控制电路来告诉ALU该执行什么操作。 简单运算大部分ALU都可以完成以下运算 整数算术运算(加、减,有时还包括乘和除,不过成本较高)位逻辑运算(与、或、非、异或)移位运算(将一个字向左或向右移位或浮动特定位,而无符号延伸),移位可被认为是乘以2或除以2。复杂运算工程师可设计能完成任何运算的ALU,不论运算有多复杂;问题在于运算越复杂,ALU成本越高,在处理器中占用的空间越大,消耗的电能越多。 于是,工程师们经常计算一个折中的方案,提供给处理器(或其他电路)一个能使其运算高速的ALU,但同时又避免ALU设计的太复杂而价格昂贵。部ALU。 工程师一般认为ALU是处理整数型(比如补码和BCD码)算术运算的的电路,而对更为复杂的格式(比如浮点型、复数型)进行计算的电路则拥有一个更加匹配的称谓。1.2 实验目的 了解算术逻辑运算单元的工作原理及构成,掌握简单运算器的数据传输方式,掌握74LS181的功能和应用。了解算术逻辑运算单元的系统设计,包括硬件设计和软件设计,并能通过实验验证。1.3 实验原理 运算器由2片74 LS181构成8位字长的ALU单元。2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入器,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。运算器的数据输出端由一片74LS244(输出缓冲器)来控制,8芯插座ALU-OUT作为数据输出端,可通过短8芯扁平电缆把数据输出端连接到数据总线上。算术逻辑单元可完成数据的算术、逻辑运算,如不带进位的位逻辑或运算,不带进位的位加法运算。 数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,把来自数据总线的数据打入锁存器DR1。同样使EDR2为低电平,D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。算术逻辑运算单元的核心是由2片74LS181组成,它可以进行2个8位二进制数的算术逻辑运算,74LS181的各种工作方式可通过设置其控制信号来实现(S0、S1、S2、S3、M、CN)。当实验者正确设置了74LS181的各个控制信号,74LS181会运算数据锁存器DR1、DR2内的数据。由于DR1、DR2已经把数据锁存,只要74LS181的控制信号不变,那么74LS181的输出数据也不会发生改变。输出缓冲器采用74LS244,当控制信号ALU-O为低电平时,74LS244导通,把74LS181的运算结果输出到数据总线;当ALU-O为高电平时,74LS244的输出为高阻。 表1-1控制信号说明信号名称作用有效电平EDR1选通DR1寄存器低电平有效EDR2选通DR2寄存器低电平有效DR1CKDR1寄存器工作脉冲上升沿有效DR2CKDR2寄存器工作脉冲上升沿有效S0-S174LS181工作方式选择M选择逻辑或算术运算CN有无进位输入CCK进位寄存器的工作脉冲上升沿有效ALU-O74LS181计算结果输出至总线低电平有效1.4 实验意义通过这次实验,使我明白了算术逻辑单元的组成以及组成它的各种芯片的图及引脚功能,掌握了简单运算器的数据传输方式和74LS181的功能和应用。增强了我对算术逻辑单元的理解和认识,同时也增强了所学理论知识和实际的联系,增加了对微机原理及应用这门课的认识和兴趣。第2章 系统设计2.1 硬件介绍2.1.1 芯片介绍 74LS181为算术逻辑单元/函数产生器(32个功能),能执行16中算术运算和16种逻辑运算。当工作方式控制端(M)为低电平时执行算术运算,当方式控制端(M)为高电平时执行逻辑运算。运算功能由功能选择端(S0-S3)决定。利用A等于B输出端(FA-B),181还可作为数值比较器。当MS0S3为低电平,S1S2/CIn为高电平时,如果A和B两字相等,则FA-B为高电平。由于FA-B 为集电极开路输出,可以线与连接,因而可做大于4位的比较。 进位输出端(/COn+4)也可用来提供相对信息的大小,此时MS0S3为低电平,S1S2为高电平 图2-1 74LS181的引脚图 74LS181引脚功能 表2-1 74LS181的功能表方式M=1逻辑运算M=0算术运算S3 S2 S1 S0逻辑运算CN=1(无进位)CN=0(有进位)0000F=/AF=AF=A加10001F=/(A+B)F=A+BF=(A+B)加10010F=/ABF=A+/BF=(A+/B)加10011F=0F=减1(2的补)F=00100F=/(AB)F=A加A/BF=A加A/B加10101F=/BF=(A+B)加A/BF=(A+B)加A/B加10110F=ABF=A减B减1F=A减B 0111F=A/BF=A/B减1F=A减B1000F=/A+BF=A加ABF=A加AB加11001F=/(AB)F=A加BF=A加B加11010F=BF=(A+/B)加ABF=(A+/B)加AB加11011F=ABF=AB减1F=AB1100F=1F=A加AF=A加A加11101F=A+/BF=(A+B)加AF=(A+B)加A加11110F=A+BF=(A+/B)加AF=(A+/B)加A加11111F=AF=A减1F=A 74LS244为3态8位缓冲器,一般用作总线驱动器。74LS244没有锁存的功能。地扯锁存器就是一个暂存器,它根据控制信号的状态,将总线上的地扯代码暂存起来。 图2-2 74LS244芯片引脚图74LS244引脚功能/1G,/2G:控制端,控制4个三态门1A1-1A4,2A1-2A4:输入端1Y1-1Y4,2Y1-2Y4:输出端表2-2 74LS244真值表74LS374为具有三态输出的八D边沿触发器。74LS374的输出端Q0-Q7可直接与总线相连。当三态允许控制端OE为低电平时,可用来驱动负载或总线。当OE为高电平时,Q0-Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。在时钟端CP脉冲上升沿的作用下,0随数据D而变。 图2-3 74LS374芯片引脚图74LS374引脚功能OE:三态允许控制端(低电平有效)CP:时钟输入端D0-D7:数据输入端Q0-Q7:输出端表2-3 74LS374真值表 DiCPOE*Qi101000XX1高阻2.1.2 原理图 图2-4 原理图2.2 软件设计2.2.1 流程图 不带进位为逻辑或运算开始 把33H送DR1把55H送DR233H与55H做不带进位为逻辑或运算把运算结果输出结束不带进位位加法运算开始 把33H送DR1把55H送DR233H与55H做不带进位位加法运算把运算结果输出结束2.2.2 编程不带进位为逻辑或运算MOV DR1,33HMOV DR2,55HOR DR1,DR2OUT DR1不带进位位加法运算CLR CMOV DR1,33HMOV DR2,55HADD DR1,DR2OUT DR1第3章 实验验证3.1 实验验证 把ALU-IN(8芯的盒型插座)与CPT-B板上的二进制开关单元中J1插座相连(对应二进制开关H16-H23),把ALU-OUT(8芯的盒型插座)与数据总线上的DJ2相连。 把D1CK和D2CK用连线连到脉冲单元的PLS1上,把EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二进制开关(请按下表接线) 表3-1信号定义接入开关信号D1CKPLS1孔D2CKPLS1孔EDR1H8孔EDR2H7孔ALU-OH6孔CNH5孔MH4孔S0H3孔S1H2孔S2H1孔S3H0孔 按启停单元的运行按钮,使试验机处于运行状态。 二进制开关H16-H23作为数据输入,置33H(对应开关如下表)表3-2H23H22H21H20H19H18H17H16数据总线值D7D6D5D4D3D2D1D08位数据0011001133H 置各控制信号如下:表3-3H8H7H6H5H4H3H2H1H0EDR1EDR2ALU-OCNMS3S2S1S0010111110按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把33H打入DR1数据锁存器,通过逻辑笔或示波器来测量确定DR1寄存器(74LS374)的输出端,检验数据是否进入DR1中。二进制开关H16-H23作为数据输入,置55H(对应开关如下表)表3-4H23H22H21H20H19H18H17H16数据总线值D7D6D5D4D3D2D1D08位数据0101010155H置各控制信号如下:表3-5H8H7H6H5H4H3H2H1H0EDR1EDR2ALU-OCNMS3S2S1S0100111110按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿的脉冲,把55H打入DR2数据锁存器。经过74LS181的计算,把运算结果(F=A或B)输出到数据总线上,数据总线上的LED显示灯IDB0-IDB7应该显示为77H不带进位位加法运算实验与上述实验步骤相同,只是结果为88H3.2 实验表格表3-6DR1DR2S3S2S1S0M=0(算术运算)M=1逻辑运算CN=1CN=065A70000F=A7HF=A8HF=08H65A70001F=F7HF=F8HF=08H65A70010F=AFHF=B0HF=50H65A70011F=FFHF=00HF=00H65A70100F=49HF=4AHF=FAH65A70101F=99HF=9AHF=AAH65A70110F=51HF=52HF=F2H65A70111F=A1HF=A2HF=A2H65A71000F=ACHF=ADHF=5DH65A71001F=FCHF=FDHF=0DH65A71010F=B4HF=B5HF=55H65A71011F=04HF=05HF=05H65A71100F=4EHF=4FHF=FFH65A71101F=9EHF=9FHF=AFH65A71110F=56HF=57HF=F7H65A71111F=A6HF=A7HF=A7H 第4章 总结总结与体会: 以前从没有学过关于汇编语言的知识,当初学起来感觉很有难度。当知道要做课程设计的时候心里有些害怕和担心,担心自己不会活着做不好。但是当真的要做的时候也只好近自己的最大努力去做,做到自己最好的。在这个过程中有自己的很多感受,从开始的担心和害怕渐渐变成了享受,享受着微机原理带给我的快乐以及自己动手的充实感。通过这次课程设计,不仅加深和巩固了我的课本知识,而且增强了我的动手动脑能力。同时,这次课程设计也增强我的整体把握能力,从绪论到系统设计还有实验验证,都是在老师的指导下自己独立完成的。 微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其他部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立的某一部分的工作原理。所以,在循序渐进的课堂教学中,我总处于“学会了一些新知识,弄清了一些原来保留的问题,又出现一些新问题”的循环中,直到课程结束时,才把保留的问题弄清楚。 这次课程设计让我对算术逻辑单元有了足够的理解,并且知道了实验台上ALU单元的使用方法。知道了算术逻辑单元的工作原理以及组成它的各种芯片,知道了这些芯片的引脚图还有引脚功能。掌握了算术逻辑单元的软件设计,通过画流程图和自己编程序,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论