ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:1,002.77KB ,
资源ID:3272368      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3272368.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(硬件课程设计报告讲解.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

硬件课程设计报告讲解.docx

1、硬件课程设计报告讲解课程设计报告课程名称: 计算机硬件系统设计课程设计 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 成绩: 2013 年 6 月 24日 至 2013年 7 月 5日计算机组成原理部分复杂模型机的设计与实现 一、设计目的综合应用所学计算机组成原理和汇编语言知识,设计并实现较为完整的模型计算机,培养学生独立分析和设计计算机硬件系统的能力。二、实验设备1. 硬件环境:Dais-CMB+计算机组成原理教学实验系统一台,排线若干,PC机。2. 软件环境:操作系统,Dais-CMB+应用软件。三、设计要求3.1、设计任务1. 熟悉实验环境,即实验中涉及的硬件和软件,掌握这些环

2、境工具的功能和使用方法。本实验中主要是Dais-CMB+软件及其工作环境。Dais-CMB+计算机组成原理教学实验系统一台,排线若干。连接方法是:用二芯排线把位于实验装置左上方运算器的左下侧CYCZ接口与位于实验装置红色拨码开关右下方的FCFZ接口相连接。在联机状态下,首先应打开mXj.abs,然后点击“!”图标进入链接装载,一旦屏幕自动弹出动态调试窗口表示代码及微代码下载已成功,已进入windows在线集成调试环境。2. 综合应用所学计算机原理知识,设计并实现较为完整的模型计算机。3. 使用模型计算机指令编制程序完成下列功能之一:(1)乘法运算。(2)除法运算。(3)连加和连减运算。4. 将

3、程序译成二进制代码,并将二进制代码写入主存。3.2、拟定数据格式及指令系统1.数据格式模型机规定采用定点补码表示数据,且字长为8位,其格式如下:其中第7位为符号位,数值表示范围是:-128X127(定点整数),-1X1(定点小数)。2.指令格式模型机设计五大类指令共十六条,其中包括算术逻辑指令、I/O指令、访存指令、转移指令和停机指令。 算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定: 访存指令和转移指令模型机设计2条访存指令、即存数指令(STA)、取数指令(LDA);2条转移指令,

4、即无条件转移指令(JMP)、结果为零或有进位转移指令(BZC),指令格式为:其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为形式地址,如为位移量,正负均可,M为寻址模式,其定义如下:模型机规定变址寄存器RI指定为寄存器R2。 I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUT DEVICE”中的LED作为输出设备。 停机指令HALT指令,用于实现停机操作,指令格式如下 :3.指令系统模型机有16条基本指令,其中算术逻辑运算指令

5、9条,访问内存指令2条,程序控制指令2条,输入输出指令2条,其它指令2条。表1列出了各条指令的格式、汇编符号、指令功能。表1 指令格式4微指令格式微指令字长32位,格式如下所示:A字段B字段说明:DDR1表示LDDR1 DDR2表示LDDR25模型计算机数据通路框图模型计算机数据通路框图如图1所示:图1 模型机数据通路框图6微程序设计按照系统建议的微指令格式和模型计算机数据通路框图,分析指令流程,为每条机器指令编制微程序,并和系统自带的微程序比较(在复位后,输入“3”,按“装载”,可将系统微程序装入)。编制微程序实现新指令的功能。四、设计内容4.1、基本内容1. 试验箱系统图2. 程序流程图3

6、. 分析微指令执行序列首先通过代码在指令流程图中找到对应项,然后再在系统控存内容找出对应的32位指令程序,然后再根据拟定好的数据格式和指令系统对微指令进行分析。表1 系统控存内容地址代码功能0000000080空操作0120006040PCAR, PC+10200801006RAMIR 按B转0300800420RAMDR1040080C038RAMAR按B转05008040C0RAMAR06008004E0RAMDR107C0000810RIDR20840294090DR1+DR2AR0940298438DR1+DR2DR1按B转0A008004D0RAMDR10B20000810PCDR2

7、0CA00008B0RDDR20D40290280DR1+DR2RD?0E00000080空操作0FA0000408RDDR11050200488/400F0488DR1DR11150300448/40100548DR1变反DR112500004C8/DR1+1DR113502004B0/400F04B0DR1DR11400000000空操作1540000280/50DR1+1RD16A00008E8RDDR217403D0280/50DR1DR2RD1840300280DR1变反RD19601400D8299带进位右移1A601800D8299带进位左移1B60000280299RD1C40

8、200280/00800280DR1RD/RAMRD1DA0800180RDRAM1E40602080/405F2080DR1PC1F00008072BZC 按条件转20200060C0PCAR, PC+12180000280 RSRD22200060A0 PCAR, PC+12380000430RSDR12420006060PCAR, PC+125800008F0RSDR22620006050PCAR, PC+127A00004A8RD+1RD2801000281SWRD2980000468RSDR12AA2000080RDLED2BA0000418RDDR12C00000034HALT 微

9、地址不变2D800C0098RS299移位器2E401C02800RD2F800C0058RS299移位器4. 设计内容(1)运行几条指令,按照系统的微指令格式和模型计算机数据通路框图分析其流程,写出所分析机器指令的微程序。 (2)增加一条新指令,为其编制微程序。(3)编制程序,完成连加运算。5. 设计思路(1)修改微指令:修改微指令,首先要弄懂其每一位代表什么意思有什么功能,参照74LS181的功能表,我们所修改的是把AND指令修改为异或指令XOR,只需控制74LS181上的M,S0,SI,S2,S3,将算数运算改为相应的逻辑运算 ,即M17 40 3D 02 80 修改为 M17 40 3

10、E 02 80,然后对照及其软件验证其正确性。(2)连加运算设计:先输入一个数作为控制连加的次数,然后每次输入一个数作为要加的数,把结果放到内存的某个空间里,实现连加,直到次数达到控制值。4.2、运行程序1. 单步运行微程序键入数字键00(PC地址从00H开始),然后每按动一次“单步”命令键,运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。2. 单步运行机器程序 键入数字键03H(PC地址),然后每按动一次“宏步”命令键,运行一条机器指令。对照机器指令程序,观察微地址显示灯是否和流程一致。3. 程序连续运行与暂停程序键入数字键00H(PC地址)按动“运行”命令键使模型机进入实

11、时运行状态。在实时运行状态按“宏单”键执行的暂停命令,使模型机进入停机状态。4.3、运行结果上图所示,实现功能为输入循环次数R0的数值03H。上图所示,实现功能为P01 B0 ; COM R0上图所示,实现功能为P02 70 ; INC R0上图所示,实现功能P06 36 ; ADC R1,R2上图所示,实现功能为输出运算结果R2的值,具体如下图所示:83H第二次连加运算之后的结果显示:86H第三次连加运算之后的结果显示:89H程序终止运行。五、程序代码1. 修改微指令P00 84 ;IN R0P01 85 ;in R1P02 94 ;COM R0,R1P0A C0 ; HALT2. 连加运算

12、计算机接口部分汽车信号灯控制系统一、设计目的综合应用所学计算机接口和汇编语言原理和知识,设计并实现较为完整的计算机控制系统,培养学生独立分析和设计计算机硬件系统的能力二、实验环境1硬件环境:实验采用北京精仪达盛科技有限公司的CPU挂箱,8086CPU模块,接口挂箱及相应的扩展模块。2软件环境:8086集成开发环境。三、设计要求1、设计并制作出汽车信号灯微机控制系统;2、所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯灯、左右头灯和左右尾灯共六类灯,其驾驶操作与灯光信号对应关系如下:(1)左/右转弯(合上左/右开关):仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁。(2)

13、紧急开关合上:所有灯闪烁。(3) 刹车(合上刹车开关):左右尾灯亮。(4) 左/右转弯刹车:仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮。(5) 刹车、合上紧急开关:尾灯亮、仪表板灯、头灯闪烁。(6) 左/右转弯刹车,并合上紧急开关:右/左尾灯亮,其余灯闪烁。(7) 停靠(合上停靠开关):头灯、尾灯以30Hz的频率闪烁。有10种输入选择,影响6个灯输出,对应关系如下表:四、设计内容4.1、设计思想本系统中要求设计汽车信号灯控制系统,通过6盏灯的亮灭或者闪来控制10中操作,即:左转弯、右转弯、刹车, 紧急开关合上,左转弯刹车,右转弯刹车,紧急刹车,紧急左转刹车,紧急右转刹车,停靠

14、。每一种操作都对应不同灯的显示。通过8253提供的时钟信号,8255通过C口接收,然后A口通过开关输入,B口通过显示灯输出。在该实验中,我们通过8090A/D实现对灯亮度的控制。本实验中我们所用到的芯片是8255和8253,是系统实现的核心部分,下面对这些芯片做简要介绍。1)芯片82558255是一个CPU与外设之间提供了TTL电平兼容的接口。8255可以工作在方式0,方式1,方式2三种方式,其中端口A可以工作在这3种不同的方式下,二端口B只能工作在方式0和方式1,端口C配合端口A和端口B工作。本实验中不8255A端口做输入,B端口做输出,C端口取出一位来通过与具有定时功能的8253芯片连接,

15、实现灯闪烁这一效果。2)芯片82538253有6种工作方式,本次实验设计主要用到方式3,方式3又可称为方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUTi输出低电平, 装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为nCLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为nCLKi周期,

16、占空比为(n+1)/2)/(n-1)/2)的近似方波序列。如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。4.2、系统结构图具体设计电路图实际接线图4.3、系统接线8255CSCS0,8253CSCS1;A口接输入(K1K8)(PA0PA7),B口接输出(LED1LED6)(PB0PB5);C口接CLK的输出:CLK3CLK0,OUT0CLK1,OUT0CLK2,OUT1PC0,OUT2PC1。4.4、状态转换

17、表根据系统图和题目要求,列出状态表:注:输入状态中,0代表低电平无效,1代表高电平有效; 输出状态中,1/0代表灯闪,1代表灯亮,0代表灯灭。4.5、程序流程图五、程序代码;常量定义pa8255 equ 04a0hpb8255 equ pa8255+2pc8255 equ pa8255+4con8255 equ pa8255+6clk0 equ 04b0hclk1 equ clk0+2clk2 equ clk0+4conclk equ clk0+6 ;伪指令assume cs:code code segment public org 100hstart: ;时钟初始化; mov dx,conc

18、lk ;控制寄存器 mov ax,36h ;计数器0,方式3 out dx,ax mov dx,clk0 mov ax,7Ch out dx,ax mov ax,92h out dx,ax ;计数值927Ch mov dx,conclk mov ax,76h ;计数器1,方式3 out dx,ax mov dx,clk1 mov ax,04h out dx,ax mov ax,0 ;计数值32h out dx,ax mov dx,clk2 mov ax,0ch out dx,ax mov ax,0 ;计数值04h out dx,ax;8255初始化; mov dx,con8255 ;控制寄存器

19、地址 mov ax,99h ;设置为A口输入,B口输出,C口输入 out dx,ax start1: mov dx,pa8255 ;A口地址 in ax,dx ;输入 cmp al,01h ;判断左转弯 jz ZZ cmp al,02h ;判断右转弯 jz YZ cmp al,04h ;判断紧急开关合上 jz L3 cmp al,08h ;判断刹车 jz L4 cmp al,10h ;判断左转弯刹车 jz L5 cmp al,20h ;判断右转弯刹车 jz L6 cmp al,40h ;判断紧急刹车 jz L7 cmp al,80h ;判断紧急左转弯刹车 jz L8 cmp al,03h ;判

20、断紧急右转弯刹车 jz L9 cmp al,05h ;判断停靠 JZ L10;灯常亮 mov ax,0ffh mov dx,pb8255 ;B口地址 out dx,ax jmp start1L1:jmp near ptr ZZ ;L2:jmp near ptr YZL3:jmp near ptr JJL4:jmp near ptr STOPL5:jmp near ptr LSTOPL6:jmp near ptr RSTOPL7:jmp near ptr JSTOPL8:jmp near ptr JLSTOPL9:jmp near ptr JRSTOPL10:jmp near ptr TING;

21、左转弯ZZ: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a1 mov ax,11101010b mov dx,pb8255 out dx,ax jmp start1a1: mov dx,pb8255 mov ax,0ffh out dx,ax jmp start1;右转弯YZ: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a2 mov ax,11010101b mov dx,pb8255 out dx,ax jmp start1a2: mov dx,pb8255 mov ax,0ffh o

22、ut dx,ax jmp start1;紧急开关闭合JJ: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a3 mov ax,11000000b mov dx,pb8255 out dx,ax jmp start1a3: mov dx,pb8255 mov ax,0ffh out dx,ax jmp start1;刹车STOP: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a4 mov ax,11111100b mov dx,pb8255 out dx,ax jmp start1a4: mov

23、 dx,pb8255 mov ax,11111100b out dx,ax jmp start1;左刹车LSTOP: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a5 mov ax,11101000b mov dx,pb8255 out dx,ax jmp start1a5: mov dx,pb8255 mov ax,11111110b out dx,ax jmp start1;右刹车RSTOP: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a6 mov ax,11010100b mov d

24、x,pb8255 out dx,ax jmp start1a6: mov dx,pb8255 mov ax,11111101b out dx,ax jmp start1;紧急刹车JSTOP: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a7 mov ax,11000000b mov dx,pb8255 out dx,ax jmp start1a7: mov dx,pb8255 mov ax,11111100b out dx,ax jmp start1;紧急左刹车JLSTOP: mov dx,pc8255 in ax,dx and al,01h

25、 cmp al,01h jz a8 mov ax,11000000b mov dx,pb8255 out dx,ax jmp start1a8: mov dx,pb8255 mov ax,11111110b out dx,ax jmp start1;紧急右刹车JRSTOP: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a9 mov ax,11000000b mov dx,pb8255 out dx,ax jmp start1a9: mov dx,pb8255 mov ax,11111101b out dx,ax jmp start1;停靠TI

26、NG: mov dx,pc8255 in ax,dx and al,01h cmp al,01h jz a10 mov ax,11001100b mov dx,pb8255 out dx,ax call delay jmp start1a10: mov dx,pb8255 mov ax,0ffh out dx,ax jmp start1;子程序delay: mov cx, 5000h ;time delay delay1: nop nop loop delay1 ret ;下面放着变量定义 code endsend start总结与心得硬件课程设计历时两周时间,综合了计算机组成原理和接口技术相

27、关的学科知识和技能。在实验设计期间,小组成员能够团队协作,共同攻克难关。最终课程设计顺利完成,为大三最后的时刻。画上了一个圆满的句号。组成原理部分,由于是上学期学过,忘掉不少。这次实验时候,预先一起复习了一下相关的知识点。在理论有所了解的基础上,再进行实验的实际操作。借助软件平台和已经连接好电路的试验箱,首先验证了实验所附带的第三个程序代码的显示结果。在此基础上,进行修改微指令的任务。但在设计连加运算时候,碰到了阻碍。对汇编语言的陌生,也是一个不小的阻扰。分工合作,两人研究汇编语言修改指令代码,一人设计总体程序架构。后来又请教老师同学,参观或“偷师”别人的经验。最终能够成功实现连加运算的结果输

28、出。接口技术部分,刚好有这学期的知识储备,直接开始设计工作。参照实验指导书上的例题,小组内进行了探讨,分析了一下相关的设计要点。起初,在灯亮灯灭的问题上有点小纠结,经过不断的代码调试,最后算是成功了。能实现两个动作,灯亮和灯灭,还不能实现灯闪的条件。后来,在组长的深入分析之后,对程序代码做了一个小小的改动,调试发现灯闪也可以实现。然后给小组讲解之后,一起分工修改各人负责部分代码。终于整个汽车信号灯系统能够正常运作。通过这次课程设计,既是对旧知识的回顾和复习,又是一种对新知识的自主学习和探索。课程设计的目的并不在于上交一份报告,而是对这种学习能力和解决问题能力的培养。课程设计也是对理论知识的进一步消化和吸收,因为只有实践才是检验知识的唯一道路。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1