组成原理课程设计论文
现在常用论文来指在各个学术领域进行研究,描述学术研究成果的文章,简称论文。它不仅是学术研究讨论问题的手段,也是学术交流描述学术研究成果的工具。包括学术论文、毕业论文、学位论文、科技论文、成果论文等等。接下来给大家带来一篇关于《作曲原理》课程设计的论文,希望对你有所帮助。
第一部分:计算机组成原理实验报告第一部分:实验名称:运算器实验
二、实验的目的:
1.学习数据处理组件的工作模式控制。2.学习机器语言程序的运行过程。
三、实验原理:
CP226实验仪的运算单元由一片CPLD实现,包括8种运算功能。在运算过程中,数据被写入寄存器A和寄存器W,运算结果由系统根据所选的运算模式生成,并发送给直通门D..
实验箱上可以向DBUS发送数据的寄存器有:通过门D、左移门L、右移门R、程序计数器PC、中断向量寄存器IA、外部输入寄存器IN和堆栈寄存器ST..它们由138个解码器组成。
四、实验内容:
1.计算37H+56H后,将值左移一位,送到OUT输出。2.向R1寄存器发送与54H相位反相的36H值。
动词 (verb的缩写)实验步骤:
实验内容(1):
1.关掉电源。用8位柔性扁平电缆连接J2和J1。
2.连接K0和,K1和文,K2和S0,K3和S1,和,
K6和X0,K7和X1,K8和X2,K9和OUT相连。3.K15 ~ K0全部放在1,K23 ~K16放在0。
4.看着仪器,打开电源,手远离电源开关,随时准备关电源,注意数码管。
等待LED稳定10秒,确认仪器稳定,无焦味。5.设置实验箱进入手动模式。
6.设K0=0,K8K7K6=000,K23 ~ k 16 = 001111。7.按下步进键,将37存储在A寄存器中。8.设K0=1,K1=0,K23 ~ k 16 = 010110。9.按下步进键,将56存储在W寄存器中。
10.设K0=1,K1=1,K8K7K6=110,K4K3K2=000。11.按下步进键,L寄存器将显示1A。12.设K9=0,其他保持不变。
13.按下步进键,OUT寄存器显示1A。14.关闭实验箱电源。
实验内容(二):
1.与实验内容(1)的前五步基本相同(拆除连接OUT寄存器的导线)。2.连接K10和SA,K11和SB,K12和RWR。
3.设K0=0,K8K7K6=000,K23 ~ k 16 = 00111110。4.按下步进键,A寄存器显示36。5.设置K8K7K6=100,K4K3K2=110。6.按下步进键,A寄存器将显示9C。
7.设置K1K0=01,K8K7K6=000,K4K2 = 111,K23 ~ k 16 = 0100 0100。8.按下步进键,W寄存器显示45。
9.设置K1K0=11,K8K7K6=100,K4K2 = 011,K10K1 = 65438。10.按下步进键,D寄存器和R1寄存器显示40。11.关闭实验箱电源。
不及物动词实验结论:
实现数据处理组件的工作模式控制和机器语言程序的运行过程。
七、经验:
通过这次实验,我对算子实验有了更深的理解,进一步巩固了第一周所学的内容。
八、思考问题:
3456H+12EFH的值怎么算?答:
用CP226实验仪,将S2S1S0设置为100,可以使用进位加法运算。因为是四位数16系统,所以可以从一位开始拆解计算。通过进位加法器向上计算一位,即(64h * 64h+64h * 10h * 3h+64h * 3h+10h * 9h+8h)+(64h * 6538)。
第二章:计算机组成原理实验报告,实验环境
1.Windows 2000或Windows XP
2.QuartusII、GW48-PK2或DE2-115计算机用几根电缆组成原理教学实验系统。
实验目的
1,熟悉原理图和VHDL语言。2.验证全加器功能。
实验原理
设计一个一位全加器,可以完成两个二进制位的加法运算,并考虑各种情况下的进位信号,完成八组数据的运算。
实验步骤
1.1建立项目。
1.1.4 ?原理图设计
创建新项目后,可以绘制原理图程序。这里以图1-12所示的一位全加器为例,说明编辑输入原理图的方法和具体步骤。
图1-12一位全加器原理图
(1)执行菜单文件→新建…,或者点击工具栏图标,弹出新建对话框,如图1-13所示。在该对话框的“设计文件”项中选择“框图/原理图文件”,点击“确定”按钮,打开Quartusⅱ10.0主窗口,进入原理图工作环境界面,如图1-14所示。
图1-13 "新建"对话框
(2)在如图1-14所示的原理图工作环境界面中点击图标,或者在原理图编辑区的空白处双击鼠标或者在原理图编辑区的空白处单击右键,选择任意一个弹出菜单,弹出如图1-15所示的元件输入对话框。在“名称”栏中直接输入所需的元件名称,或者在“库:”的相关库中找到合适的元件,单击“确定”按钮,然后在原理图编辑区单击鼠标左键,将元件转移到原理图编辑区。为了输入如图1-12所示的原理图,需要分别调用input和output。对于同一个设备,可以通过复制来完成。例如,有三个和两个门。设备的操作方法是:调用一个and2门后,在设备上单击鼠标右键,选择弹出菜单中的“复制”命令进行复制,然后在适当的位置单击鼠标右键,选择弹出菜单中的“粘贴”命令进行粘贴。1
图1-14工作环境界面示意图
图1-15组件输入对话框
如果组件放置后需要改变组件的位置,对于单个设备,在设备上按住鼠标左键拖动到合适的位置,然后松开鼠标左键;对于多个设备,您应该按下鼠标左键来选择所有需要移动的设备,然后将光标移动到选定的设备。当光标变成可移动的“十字”光标时,按下鼠标左键并将其拖动到适当的位置。
如果要删除一个组件,首先要选中它,然后按“Del”键或右键选择弹出菜单中的“Del”。
如果要旋转一个组件,首先要选中该组件,然后点击右键,从弹出菜单中选择“Filp Horizontal”、“Filp Vertical”、“Rotate by Degrees”等命令(逆时针,90,180,270)。
(3)将光标指向元件的引脚,光标会变成“十”字形。按下鼠标左键并拖动它,会引出一条导线。连接到另一端的元件后,松开鼠标左键,就可以画出一条线,按照这个方法画出所有的线,如图1-16所示。
2
图1-16导入元件并绘制导线(注意:用鼠标拖出的导线最多只能转一圈)。
图1-17修改引脚名称对话框
(4)双击或右键单击“pin_name”输入pin,打开如图1-17所示的对话框。在此对话框的“一般”页面的“引脚名称”项中输入引脚名称,如:s,然后点击“确定”按钮将“引脚名称”更改为“s”。按照此方法依次修改其他管脚。修改后如图1-16所示。
(5)执行菜单命令“文件→“保存”,或单击工具栏中的。
命名并点击“保存”按钮(此时最好不要更改存储路径)。
图标,弹出“另存为”对话框,您可以在此对话框中输入文件。
2.1顶级VHDL文件设计
2.1.1 ?创建项目和编辑设计文件。
首先,建立工作库来设计工程项目的存储。任何设计都是一个项目,必须先建立一个文件夹,存放与这个项目相关的所有文件。默认情况下,该文件夹将成为EDA软件的工作库。
文件夹建立后,可以用QuartusII的文本编辑器编辑并保存设计文件。具体步骤如下:
1.创建一个新文件夹。使用资源管理器创建一个新文件夹,例如e: eda。请注意,文件夹名称不能是中文。
2.输入源程序。打开QuartusII,选择菜单“文件”和“新建”,在新窗口的“设备设计文件”中选择编译后文件的语言类型,在这里选择“VHDL文件”(如图2-1)。然后在VHDL文本编译窗口中键入VHDL程序(如图2-2所示)。三
图2-1选择编辑文件的语言类型
图2-2编辑输入设计文件(顶部设计文件ADD1。VHD)
图2-3使用“新建项目向导”创建项目
第三部分:计算机组成原理实验2.2_实验报告一、实验目的和要求
(1)掌握缓存控制器的原理和设计方法。
(2)熟悉CPLD的应用设计和EDA软件的使用。
二、实验设备
一台电脑和一个TD-CM3+或TD-CMX实验系统。
三、实验原理
本实验使用的地址变换是直接映射,简单直接,硬件实现简单,访问速度快,但是块的碰撞率比较高。主要原则是主存中的一个块只能映射到缓存中的一个特定块。
假设主存的块号为B,缓存的块号为B,两者的映射关系可以表示为:b = B mod Cb。
其中Cb是缓存的块容量。设主存的块容量为Mb,区容量为Me,那么直接映射法的关系如图2-2-1所示。根据缓存的大小将主存分成分区,一般主存容量是缓存容量的整数倍,主存每个分区的块数等于缓存中的总块数。直接映射只能将主存每个区域中具有相同相对块号的那些块映射到缓存中具有相同块号的那个特定块。比如主内存块0只能映射到缓存块0,主内存块1只能映射到缓存块1。同理,主存区1中的块Cb(区1中的相对块号为0)。
它只能映射到缓存的块0。根据上面给出的地址映射规则,整个缓存地址与主存地址的下半部分完全相同。
直接映射模式的地址转换过程如图2-2-2所示,主存地址中的块号B与Cache地址中的块号B完全相同。同样,主存地址中的块地址w与缓存地址中的块地址w完全相同,主存地址比缓存地址长的部分称为区号e。
1
在程序执行过程中,当访问Cache时,为了实现主存块号到Cache块号的转换,需要有一个小容量的存储器来存储主存区代码。这个存储器的容量等于缓存块的数量,字长为。主存地址中区号e的长度,加上一个有效位。
在主存地址转换为缓存地址的过程中,首先利用主存地址中的块号对区号存储器进行访问(按地址访问)。将读取的区号与主存地址中的区号e进行比较,根据比较结果和与区号相同的存储字中的有效位进行处理。如果区码的比较结果相等,有效位为‘1’,则缓存命中,表示要访问的块已经加载到缓存中,缓存地址(与主存地址的下半部分完全相同)正确。使用此缓存地址访问缓存,并将读取的数据发送到CPU。其他情况是缓存未命中或缓存无效,这意味着要访问的块尚未加载到缓存中。此时,要用主存地址访问主存,先将地址所在的块读入缓存,然后CPU从缓存中读取地址中的数据。
本实验中,Cache及其地址翻译逻辑(也叫Cache controller)要在CPLD中实现,采用直接关联地址翻译,只考虑CPU从Cache中读取数据,不考虑CPU从主存中读取数据并回写数据。缓存与CPU和内存的关系如图2-2-3所示。
缓存控制器的顶层模块如图2-2-4所示。主存地址是A7A0,***8位,区号E是3位,所以缓存地址还剩5位,所以缓存容量是32个单位,块号B是3位,所以缓存分为8个块,块内地址W是2位,所以每个块是4个单位。在图2-2-4中,WCT是写缓存块表的信号,CLR是总系统清除信号,A7A0是CPU访问内存的地址,M是缓存失效信号,CA4CA0是缓存地址。
2
MD7MD0是发送Cache数据的主存,D7D0是发送CPU数据的Cache,T2是系统时钟,RD是CPU访问内存读信号,LA1和LA0是块地址。
在QuartusII软件中,首先实现一个8位存储单元(见例程中的MemCell.bdf),然后用这个8位存储单元构造一个32×8位缓存(见例程中的CacheMem.bdf),从而实现缓存的存储体。
然后实现一个4位的存储单元(见例程中的TableCell.bdf),然后使用这个4位的存储列表。
元朝(1206-1368年)
在这个文件中,还实现了一个区号比较器。如果主存地址的区号e等于区域表中对应单元格的区号,有效位为1,则缓存命中,否则缓存失败,标志为m,当m为0时,缓存失败。
当缓存命中时,将缓存存储体中对应单元的数据发送给CPU,相对简单。当缓存失效时,主存储器中相应块的数据将被读取并写入缓存,从而缓存控制器将产生访问主存储器的地址和主存储器的读取信号。由于每个块占用四个单元,需要连续访问主存四次,这就需要一个低位地址生成器,也就是一个2位计数器(见例程中的Counter.vhd),将CPU给定的低位2位和高位6位地址组合起来,形成访问主存的地址。m可以作为主存的读信号,这样在时钟的控制下,主存中相应的块就可以写入缓存中相应的块。
最后,修改区域表(见例程中的(CacheCtrl.bdf))。
四、实验步骤
1,实验接线:
三
2.实验步骤:
(1)用Quartus II软件编辑实现相应的逻辑并编译,直到编译通过,缓存控制。
制造
EPM1270芯片中器件对应的管脚如图2-2-5所示,框外的字表示I/O号,框内的字表示管脚的含义(关于这个实验程序,参见‘安装路径CPLD CachetrlCacheCtrl。QPF的项目)。
(2)关闭实验系统电源,按图2-2-6连接实验电路,检查无误。用户需要连接的信号在图中用圆圈标出。
(3)打开实验系统电源,将生成的POF文件下载到EMP1270。CPLD单元介绍见实验1.2。
(4)将定时和控制台单元的开关KK3设置到“运行”位置,CLR信号由控制台单元的CLR模拟给出。按下CON unit的CLR按钮,清除面积表。
(5)提前将数据写入主存:在线软件提供下载机器程序而不是手动读写主存的功能,将机器程序写入指定格式的TXT后缀的文件中。
;