实验7-模型机组成与程序运行-实验报告
- 格式:doc
- 大小:111.00 KB
- 文档页数:12
计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。
实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。
实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。
2. 安装操作系统,如Windows、Linux等。
3.启动计算机,进入操作系统界面。
4.打开任务管理器,查看CPU的使用情况。
5.打开任务管理器,查看内存的使用情况。
6.运行一些应用程序,观察CPU和内存的使用情况。
7.尝试使用输入输出设备,如键盘、鼠标等。
实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。
通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。
在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。
通过使用输入输出设备,我们可以与计算机进行交互操作。
实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。
CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。
而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。
硬盘则用于长期存储数据。
操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。
结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。
计算机系统通过CPU 的运算和数据传输来实现各种操作。
通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。
实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。
实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。
通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。
计算机组成原理实验报告实验报告运算器实验⼀、实验⽬的掌握⼋位运算器的数据传输格式,验证运算功能发⽣器及进位控制的组合功能。
⼆、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运⽤。
三、实验原理实验中所⽤的运算器数据通路如图2-3-1所⽰。
ALU运算器由CPLD描述。
运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输⼊端分别由2个74LS574锁存器锁存,锁存器的输⼊端与数据总线相连,准双向I/O 输⼊输出端⼝⽤来给出参与运算的数据,经2⽚74LS245三态门与数据总线相连。
图2-3-1运算器数据通路图中A WR、BWR在“搭接态”由实验连接对应的⼆进制开关控制,“0”有效,通过【单拍】按钮产⽣的脉冲把总线上的数据打⼊,实现运算源寄存器A、暂存器B的写⼊操作。
四、运算器功能编码算术运算逻辑运算K23~K0置“1”,灭M23~M0控位显⽰灯。
然后按下表要求“搭接”部件控制路。
表2.3.2 运算实验电路搭接表算术运算1.运算源寄存器写流程通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。
3.加法与减法运算令M S2 S1 S0(K15 K13~K11=0100),为算术加,FUN及总线单元显⽰A+B的结果令M S2 S1 S0(K15 K13~K11=0101),为算术减,FUN及总线单元显⽰A-B的结果。
逻辑运算1.运算源寄存器写流程通过“I/O输⼊输出单元”开关向寄存器A和B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K17= K18=1,按下流程分别读A、B。
①若运算控制位设为(M S2 S1 S0=1111)则F=A,即A内容送到数据总线。
②若运算控制位设为(M S2 S1 S0=1000)则F=B,即B内容送到数据总线。
《计算机组成原理》学生实验报告(2011~2012学年第二学期)专业:信息管理与信息系统班级: A0922学号:10914030230姓名:李斌目录实验准备------------------------------------------------------------------------3 实验一运算器实验-----------------------------------------------------------7 实验二数据通路实验-------------------------------------------------------13 实验三微控制器实验--------------------------------------------------------18 实验四基本模型机的设计与实现------------------------------------------22实验准备一、DVCC实验机系统硬件设备1、运算器模块运算器由两片74LS181构成8位字长的ALU。
它是运算器的核心。
可以实现两个8位的二进制数进行多种算术或逻辑运算,具体由74181的功能控制条件M、CN、S3、S2、S1、S0来决定,见下表。
两个参与运算的数分别来自于暂存器U29和U30(采用8位锁存器),运算结果直接输出到输出缓冲器U33(采用74LS245,由ALUB信号控制,ALUB=0,表示U33开通,ALUB=1,表示U33不通,其输出呈高阻),由输出缓冲器发送到系统的数据总线上,以便进行移位操作或参加下一次运算。
进位输入信号来自于两个方面:其一对运算器74LS181的进位输出/CN+4进位倒相所得CN4;其二由移位寄存器74LS299的选择参数S0、S1、AQ0、AQ7决定所得。
触发器的输出QCY就是ALU结果的进位标志位。
QCY为“0”,表示ALU结果没有进位,相应的指示灯CY灭;QCY为“1”,表示ALU结果有进位,相应的指示灯CY点亮。
复杂模型机实验实验报告(共9篇)_复杂模型机实验报告计算机组成原理实验报告实验题目:一台模型计算机的总体设计之复杂模型机设计实验目的:(1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台复杂模型计算机,建立一台基本完整的整机。
(2)为其定义至少五条机器指令,并编写相应的微程序,通过联机调试,观察计算机执行指令:从取指令、指令译码、执行指令等过程中数据通路内数据的流动情况,进一步掌握整机概念。
实验设备TDN-CM+教学实验系统一套、微型计算机一台、排线若干。
实验原理:(1)数据格式及指令系统:①数据格式模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:其中,第7位为符号位,数值表示范围是-27 ≤X≤27-1 ②指令格式模型机设计4大类指令共16条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。
A.算术逻辑指令设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:其中,OP-CODE为操作码,RS为源寄存器,RD为目标寄存器,并规定:九条算术逻辑指令的助记符、功能和具体格式见表5.2-1。
B.访问及转移指令:模型机设计两条访问指令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下:其中,OP-CODE为操作码,RD为目的寄存器地址(LDA、STA 指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:本模型机规定变址寄存器RI指定为寄存器R2。
C.I/O指令:输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUT DEVICE”中的数码块作为输出设备。
D.停机指令:停机指令格式如下:HALT指令,用于实现停机操作。
③指令系统:本模型机共有16条基本指令,其中算术逻辑指令七条,移位指令两条,访问内存指令和程序控制指令四条,输入/输出指令两条,其它指令一条。
长治学院课程设计报告课程名称:计算机组成原理课程设计设计题目:设计一台性能简单的计算机系别:计算机系专业:计科1101班组别:第三组学生姓名: 学号:起止日期: 2013年7月4日~ 2013年7月10日****:***目录一、课程设计的目的 ----------------------------------1二、设计要求 ----------------------------------------1三、设计的方法及过程---------------------------------23.1整机设计 --------------------------------------23.1.1 根据设计要求正确设置正确设置多路开关-------23.1.2操作控制信号及其实现方式-------------------23.1.3根据接线表画出整机的线路图-----------------2 3.2.设计指令系统----------------------------------3 3.3.设计微指令及指令的微程序----------------------43.3.1设计微地址 --------------------------------4 3.3.2写出指令的执行流程-------------------------3 3.3.3编写指令的微程序---------------------------53.4.编写并执行应用程序----------------------------8四、心得体会-----------------------------------------7 一课程设计的目的通过课程设计更清楚地理解下列基本概念:(1)计算机的硬件基本组成;(2)计算机中机器指令的设计;(3)计算机中机器指令的执行过程;(4)微程序控制器的工作原理;(5)微指令的格式设计原理;二设计要求题一研制以台性能如下的实验计算机。
模型机实验报告范文实验报告:模型机引言模型机是一种能够模拟真实飞行原理的飞行模拟器设备。
它具有模拟真实飞行环境的能力,并用电子方式提供各种飞行动作的控制和监测。
本实验报告旨在介绍模型机的原理和应用,并通过实验来验证模型机的飞行能力和准确性。
一、模型机的原理1.动力系统:模型机的动力系统由电动机、电调器和螺旋桨组成。
电动机提供动力,电调器控制电机的转速,螺旋桨则产生推力。
通过调节电机的转速和螺旋桨的角度,可以控制模型机的飞行状态和动作。
2.飞行姿态控制系统:模型机的姿态控制系统由陀螺仪和加速度计组成。
陀螺仪可以感知模型机的倾斜和转动,加速度计可以感知模型机的加速度。
通过对陀螺仪和加速度计的信号进行处理,可以对飞行姿态进行控制。
3.遥控系统:模型机的遥控系统包括遥控器和接收机。
遥控器由飞行员通过手柄进行控制,接收机接收遥控信号并将其转化为模型机动作。
遥控器可以控制模型机的方向、高度和速度等参数。
二、实验方法本实验使用一架模型机进行飞行模拟实验。
实验过程包括以下步骤:1.检查模型机的动力系统,确保电动机和螺旋桨工作正常。
2.检查模型机的姿态控制系统,确保陀螺仪和加速度计的正常工作。
3.进行遥控系统的校准,确保遥控信号的准确传输。
4.在开阔的空地上进行飞行实验。
首先以低速起飞,然后在空中进行一系列动作,如直线飞行、转弯、盘旋等。
通过遥控器控制模型机的动作,并通过观察和记录模型机的运动轨迹来验证模型机的飞行能力和准确性。
三、实验结果通过实验观察和记录,我们发现模型机在飞行过程中表现出良好的飞行能力和准确性。
它能够根据遥控器的指令进行各种飞行动作,如上升、下降、前进、后退、左转、右转等。
模型机的姿态控制系统能够保持模型机的水平飞行,并根据遥控信号进行相应的调整。
同时,模型机的动力系统能够提供足够的动力,使模型机能够在空中稳定飞行。
四、实验讨论1.模型机的飞行性能受到多种因素的影响,如风速、湿度、温度等。
在实际飞行中,飞行员需要根据实际情况进行相应的调整和控制。
实验一运算器[实验目的]1.掌握算术逻辑运算加、减、乘、与的工作原理;2.熟悉简单运算器的数据传送通路;3.验证实验台运算器的8位加、减、与、直通功能;4.验证实验台4位乘4位功能。
[接线]功能开关:DB=0 DZ=0 DP=1 IR/DBUS=DBUS接线:LRW:GND(接地)IAR-BUS# 、M1、M2、RS-BUS#:接+5V控制开关:K0:SW-BUS# K1:ALU-BUSK2:S0 K3:S1 K4:S2K5:LDDR1 K6:LDDR2[实验步骤]一、(81)H与(82)H运算1.K0=0:SW开关与数据总线接通K1=0:ALU输出与数据总线断开2.开电源,按CLR#复位3.置数(81)H:在SW7—SW0输入10000001→LDDR2=1,LDDR1=0→按QD:数据送DR2置数(82)H:在SW7—SW0输入10000010→LDDR2=0,LDDR1=1→按QD:数据送DR1 4.K0=1:SW开关与数据总线断开K1=1:ALU输出与数据总线接通5. S2S1S0=010:运算器做加法(观察结果在显示灯的显示与进位结果C的显示)6.改变S2S1S0的值,对同一组数做不同的运算,观察显示灯的结果。
二、乘法、减法、直通等运算1.K0K1=002.按CLR#复位3.分别给DR1和DR2置数4.K0K1=115. S2S1S0取不同的值,执行不同的运算[思考]M1、M2控制信号的作用是什么?运算器运算类型选择表选择操作S2 S1 S00 0 0 A&B0 0 1 A&A(直通)0 1 0 A+B0 1 1 A-B1 0 0 A(低位)ΧB(低位)完成以下表格ALU-BUS SW-BUS# 存储器内容S2S1S0 DBUS C输入时:计算时:DR1:01100011DR2:10110100(与)DR1:10110100DR2:01100011(直通)DR1:01100011DR2:01100011(加)DR1:01001100DR2:10110011(减)DR1:11111111DR2:11111111(乘)实验二双端口存储器[实验目的]1.了解双端口存储器的读写;2.了解双端口存储器的读写并行读写及产生冲突的情况。
计算机组成原理课程设计报告书计算机组成原理课程设计报告书目录一.实验计算机设计11.整机逻辑框图设计12.指令系统的设计23.微操作控制部件的设计54.设计组装实验计算机接线表135.编写调试程序14二.实验计算机的组装14三.实验计算机的调试151.调试前准备152.程序调试过程163.程序调试结果164.出错和故障分析16四.心得体会17五.参考文献17题目研制一台多累加器的计算机一实验计算机设计1.整机逻辑框图设计此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器R0,R1,R2等组成。
2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
4输入设备是由置数开关SW控制完成的。
5.输出设备有两位LED数码管和W/R控制完成的LR0LR1LR2寄存器AxBxCxR0-GR1-GR2-G数据总线(D_BUS)ALU-GALUMCNS3S2S1S0暂存器LT1暂存器LT2LDR1LDR2移位寄存器MS1S0G-299输入设备DIJ-G微控器脉冲源及时序指令寄存器LDIR图中所有控制信号LPCPC-G程序计数器LOADLAR地址寄存器存储器6116CEWE输出设备D-GW/RCPU图1整机的逻辑框图图1-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。
微控器部分控存由U13--U15三片2816构成。
除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。
简单实验计算机组成与程序运行实验一、实验目的1.组成一个简单的计算机整机系统—模型机,输入程序并运行2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程3.定义五条机器指令,编写相应微程序并具体上机调试二、预习要求:1.复习计算机组成的基本原理;2.预习本实验的相关知识和内容三、实验设备:EL_JY_II8型计算机组成原理实验系统一套,排线若干。
四、模型机结构:模型机结构框图见图6—1.五、工作原理:前几个实验中,控制信号是由实验者用逻辑开关来模拟的,而这次实验,是在微程序控制下自动产生各部分的控制信号,实现特定指令的功能。
CPU从内存取出一条机器指令到执行结束的一个指令周期,是由微指令组成的序列来完成,一条机器指令对应一个微程序。
1.本实验采用五条机器指令:其指令格式如下(前4位为操作码):其中IN为单字长(8位),其余为双字长指令,xxxxxxxx为addr为对应的二进制地址码。
2.为了向RAM中装入程序和数据,检查斜土是否正确,并能启动程序执行,还必须设计三个控制操作微程序。
存储器读操作(MRD):拨动总清开关CLR后,控制开关CA1、CA2为“00”时,按“启动”微动开关,可对RAM连续手动读操作。
存储器写操作(MWE):拨动总清开关CLR后,控制开关CA1、CA2为“10”时。
按“启动”微动开关,可对RAM连续手动写入。
启动程序(RUN):拨动总清开关CLR后,控制开关CA1、CA2为“11”时按“启动”微动开关,即可转入到第01号“取址”微指令,启动程序运行。
数据LED-G控制信号3.微指令字长共24位,其控制位顺序如下:其中Ua5_uA0为6位的后续微地址,F1、F2、F3为三个译码字段,分别由三个控制位译码出多位。
F3字段中的P(1)_P(4)是四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
班级:计算机科学与技术3班学号:20090810310姓名:康小雪日期:2011-12-1实验7模型机组成与程序运行实验预习实验报告1.计算机整机模型机的组成和工作原理。
2.计算机执行机器指令的工作过程。
3.微指令、微程序的设计及调试。
实验报告一、波形图:参数设置:Endtime:2.0us Gridsize:25.0ns信号设置:Clkjp:控制电路时钟信号,设置周期为100ns占空比为50%。
Clrar: AR寄存器清零信号,用于清除当前AR的状态,二进制输入,低电平有效。
ClrKong: 控制电路清零信号,用于清除当前控制电路的状态,二进制输入,低电平有效。
dp:单拍执行信号,用于使状态机输出且仅输出一次脉冲,二进制输入,高电平有效。
qd:启动信号,用于启动状态机,二进制输入,低电平有效。
tj:停机控制信号,用于使状态机保持当前状态,二进制输入,高电平有效。
Scan_pc:查看打当前pc的值,二位十六进制输出。
Scan_ar:查看打当前ar的值,二位十六进制输出。
Scan_result:查看打当前总线上的值,二位十六进制输出。
Jp:t1,t2,t3,t4节拍脉冲信号的组合,四位二进制输出,高电平时有效。
K:输入数据,八位二进制输入。
仿真波形:运算以(非C^非D)^(非B加A)为例:其中A=05H B=0AH C=01H D=02H其中mif文件设置为:波形:分析:(由于操作太多,仅分析LDA 18H这个操作,后面的操作分析类似)①0-100ns,初始状态:启动控制电路,所有信号均处于初始状态。
②100-500ns,sw->pc:此时节拍信号执行一个循环,next_add=00001.③500-1000ns,pc->ar,pc+1->pc:ar被赋予pc的值,pc则从原来的0变为了1,next_add=00010.④1000-1500ns,RAM->IR:此时是读取IR指令的操作,下址先是变为了01000然后读取到指令为20H,下址next_add迅速变为01001。
⑤1500-2000ns,pc->ar,pc+1->pc:ar被赋予pc的值,pc则从原来的1变为了2,next_add=10101.⑥2000-2500ns,RAM->AR:读取到01H单元中存的地址为18H,RAM将18H传送给AR,下址next_add=10110.⑦2500-3000ns,RAM->R5:读取到18H中存的数为01H该值应该被传送给R5,LDA操作完成,下址重新恢复为next_add=0001以重新读取操作。
这是最后一步的运算结果,将运算得到的F8存入第1EH单元中:结论:本实验的设计能正确实现模拟状态机的单步运行功能,并且在一系列的qd模拟机之后,能够从mif文件中准确地读出数据,并且对表达式(非C^非D)^(非B加A)进行相应的运算,最终得到F8的结果,并执行存入1EH 单元中,故电路设计正确。
二、实验日志预习疑问解答:1.计算机整机模型机的组成和工作原理。
2.计算机执行机器指令的工作过程。
根据冯.诺依曼的设计,计算机应能自动执行程序,而执行程序又归结为逐条执行指令。
执行一条指令又可分为以下五个基本操作:① 取指令:从存储器某个地址单元中取出要执行的指令送到CPU内部的指令寄存器暂存;②分析指令:或称指令译码,把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作信号,控制各个部件的操作;③ 取操作数:如果需要,发出取数据命令,到存储器取出所需的操作数;④执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作;⑤ 保存结果:如果需要保存计算结果,则把结果保存到指定的存储器单元中。
完成一条指令所需的时间称为指令周期。
一个指令周期往往包括多个总线周期,而一个总线周期又包含多个时钟周期。
时钟周期是计算机中最小的时间单位。
思考题:1.给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。
要求写出七条指令新的指令码并写出复合运算执行mif文件。
修改模型机电路调试程序以实现复合运算。
例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。
答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2.Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。
ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。
ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。
ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。
type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignalram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44.Microcomputer.vhd代码中bus_reg_t2<=ram8(conv_integer(ar))与ram8(conv_integer(ar))<=r5的含义什么?将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。
将r5寄存器中的数据装载到ram8存储器对应于ar中地址单元中。
5.Microcomputer.vhd代码中bus_reg_t2<= r5;ram8(conv_integer(ar))<=r5可否修改成bus_reg_t2<= r5;ram8(conv_integer(ar))<= bus_reg_t2?为什么?可以这样修改,但是不修改更能体现CPU设计的方式。
6.Microcomputer.vhd代码中bus_reg,bus_reg_t2,bus_reg_t3属于bus_reg同类的Signal,用途是什么?Bus_reg:一个时序周期后总线上的数据。
Bus_reg_t2:记录t2时刻总线上的中间数据。
Bus_reg_t3:记录t3时刻总线上的中间数据。
7.Microcomputer.vhd代码中mpc,mpc_t2,,mpc_t3,mpc_t4属于mpc同类的Signal,用途是什么?Mpc:一个时序周期后微序列控制器的下址。
Mpc_t2:记录绝对地址寻址方式的下址。
Mpc_t4:记录t4时刻的下址,和mpc_t3相同,同时如果是映射寻址,则修改下址。
8.Microcomputer.vhd代码中mpc_t2与bus_reg_2信号赋值<=有什么值得注意的?Mpc_t2是5位的,bus_reg_t2是8位。
Mpc_t2是直接赋值,bus_reg_t2是通过其他的信号量赋值。
9.Microcomputer.vhd代码中ct2进程中mpc_t2<=mpc,ct3进程中有mpc_t3<=mpc_t2,ct4进程有mpc_t4<=mpc_t3,共同起什么作用?请在代码中寻找另一个相似例子?保证在mpc出错时,能及时停在mpc当前地址状态,保持前面运行的状态,不会扰乱cpu前面的运行结果。
T2:bus_reg_t2<=bus_reg_t2T3:bus_reg_t3<=bus_reg_t2T4:bus_reg<=bus_reg_t310.请解释Microcomputer.vhd代码中地址转移逻辑具体如何实现代码?case mpc iswhen”00010”=> --当在mpc跳转到00010时刻mpc_t4<=mpc_t3(4 downto 3)&ir;--映射生成下址when others=>--其余时刻mpc_t4<=mpc_t3;--绝对地址跳转end case;11.VHDL语言中如果考虑多个时钟信号的情况?多个时钟,必须要哦弄清楚多个时钟之间的关系,然后选择相应的对策。
有的时钟是另一个时钟的分频。
实验中遇到的问题:1.在修改代码时,不知道如何将ADD和AND合并为一条指令以节约微代码空间,虽然老师讲了P1可以用,但由于当时还没做到那一步,所以不能理解到底怎么改。
但由于在R5->DR1之后由于IR指令的不同,ALU的值也会不相同,此时可以看到,IR的后三位和最后一次R5->DR1的跳变的下址刚好是一样的,就可以在R5->DR1跳变时,令P1有效,此时,IR的值没有改变依然是操作指令,这个时候打入的值就可以做为下址,指导ALU进行相应的运算。
2.下载之后,地址的跳转有问题。
每一次总是在上一条指令还没有执行完时,地址就跳到下一条指令了,导致数据出现了严重的错误,后来经过检查,原来运算器部分是需要两个节拍,存储器部分也是,不然操作不够,修改了存储器部分的电路,pc的节拍应该先于RAM的节拍,并修改了运算器部分代码,如下:4.存储器部分如果用图做好像最终结果不会对我原本是用图做的,就是pc_ar那个模块,但是最后的跳转会有问题,后来改成和同学们的一样了,用代码写,这周内高方法似乎比较直观一些,把握比较大。
实验心得:这次实验是EDA的最后一次实验,结合了本学期之前所学的数据通路,运算器,存储器,时序电路和微控五个部分,在一个学期的努力之下,终于完成了一个最初看似遥不可及的工程,有些小兴奋。
同时,这个实验结合了计算机组成原理的知识,帮助我们巩固了课堂所学,又拓展了实现中的经验,受益匪浅。