微处理器实验2

微处理器实验2
微处理器实验2

电子科技大学中山学院学生实验报告

基本模型机的设计与实现课程设计报告

基本模型机的设计与实现课程设计报告 https://www.360docs.net/doc/9512269348.html,/maria87328/archive/2008/01/13/2041130.aspx 一、实验基本任务 1、由基本单元电路构成一台基本模型机。 2、设计五条机器指令,并编写相应的微程序。 3、调试指令和模型机使其在微程序的控制下自动产生各部件单元的控制信号正常工作。 二、设计方案 1、硬件设计 (1)设计微程序控制电路 微程序控制器的组成:控制存储器:EPROM2816*3,8D触发器74ls273*2,4D触发器74ls74*3;微指令寄存器格式:18位微指令,6位微地址。 (2)设计时钟信号源和时序控制电路 时钟信号源的组成:时基电路555,可触发单稳态多谐振荡器74ls237*2,输出频率为330-580Hz的方波信号。 时序控制电路:4D触发器74ls175*1组成移位寄存器电路。 (3)设计主存储器 主存电路的组成:6264存储器(8K*8位)*3,地址寄存器:74ls273*1,三态门:74ls245*1。 2、微控制设计 (1)实现存储器读操作; 拨动总清开关后,置控制开关SWC、SW A为“0 0”时,按要求连线后,连续按动“启动运行”开关,可对主存储器RAM连续手动读操作。 (2)实现存储器写操作; 拨动总清开关后,置控制开关SWC、SW A为“0 1”时,按要求连线后,再按动“启动运行”开关,可对主存储器RAM 连续手动写入。 (3)实现程序运行操作。 拨动总清开关后,置控制开关SWC、SW A为“1 1”时,按要求连线后,再按动“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。

计算机硬件课程设计--简单模型机设计

计算机硬件课程设计--简单模型机设计

计算机硬件综合课程设计报告

简单模型机设计 一、设计要求 硬件:TDN-CM+计算机组成原理实验系统一台,PC机一台,排线若干,串口线一根。 软件:CMP软件 二、设计目的 1.通过对一个简单计算机的设计,对计算机的基 本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 2.通过这次课程设计,建立整机的概念,对程序 进行编辑,校验,锻炼理论联系实际的能力。 3.通过本次课程设计熟悉和训练设计思路与实 现方法。 4.通过本次课程设计锻炼团队合作的能力和团 队问题的解决。

三、设计电路及连线 设计电路及连线实验图如下图1-1所示。 图1-1 简单模型机连线图 四、设计说明 本次课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器

来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本次课程设计采用五条机器指令:IN (输入)、ADD (二进制加法)、STA (存数)、OUT (输出)、JMP (无条件转移),其指令格式如下(前4位为操作码): 助记符 机器指令码 说 明 微程序入口地址 IN 0000 0000 “INPUT DEVICE ”中 10 的开关状态→R0 0001 0000 ×××× ×××× R0+[addr]→R0 11 0010 0000 ×××× ×××× R0→[addr] 12 0011 0000 ×××× ×××× [addr]→BUS 13 0100 0000 ×××× ×××× addr →PC 14 ADD addr STA

复杂模型机实验报告.

信息学院

运行 PC→AR PC+1 RAM→BUS BUS→IR P1 PC→AR PC+1 RS→BUS BUS→DR1 ALU=0→BUS BUS→RD SW→BUS BUS→RD 00(直接)CLR RD→BUS BUS→DR2 DR1+DR2→ BUS→RD 01 01 01 01 02 20 212325 52 53 31 27 RS→RD RS→299 RRC 299→RD RS→299 RLC 299→RD 01 3032 54 55 36 67 70 IN MOV RRC SUC RLC RD→LED 01 STOP 01 26 24 ADC RS→BUS BUS→DR2 RD→BUS BUS→DR1 DR1→DR1 DR1+1→ BUS→DR1 DR1→DR1 DR1+DR2→ BUS→RD 56 57 60 61 RD→BUS BUS→DR1 RS→BUS BUS→DR1 RD→BUS BUS→DR1 35 0101 INC DR1+1→ BUS→RD 01 01 01 34 62 33 RD→BUS BUS→DR2 63 DR1^DR2→ BUS→RD 65 AND 66 PC→AR PC+1 PC→AR PC+1 PC→AR PC+1 20 RAM→BUS BUS→DR1 03 RAM→BUS BUS→AR 04 RAM→BUS BUS→DR1 06 RAM→BUS BUS→AR 05 RAM→BUS BUS→AR 07 40 RAM→BUS BUS→DR1 15 22 RI→DR2 16 DR1+DR2→ BUS→AR 17 DR1+DR2→ BUS→DR1 45 RAM→BUS BUS→DR1 46 PC→BUS BUS→DR2 47 DR1+DR2→ BUS→AR 50 DR1+DR2→ BUS→DR1 51 72 P2 RAM→BUS BUS→RD 40 RD→BUS BUS→RAM 41 DR1→BUS BUS→PC 4243 P3 DR1→BUS BUS→PC 6444 010101 BZC JMP STA LAD 10(变址) 01(间接)11(相对)COM 40 4040 01 01 44 01 Y N P4 PC→AR PC+1 PC→AR PC+1 SW→BUS BUS→DR1 DR1→RAM RAM→BUS BUS→DR1 DR1→LED 01 00 11 14 74 10 12 73 13 WRITE(01)READ(00)RUN(11) SW B 10 →B U S B U S→R D 1 DR DR1→DR1 37 71 SWA 图2-8复杂模型机微程序流程图 H L T A OUT 六、实验结果: (1)取in指令送IR: (2)采集从数据开关输入的数据07H并送R0:

实验2-循环结构

实验2 循环结构 程序填空 1. 题目描述:马克思曾经出过这样一道趣味数学题:有30个人在一家小饭馆里用餐,其中有男人、女人和小孩。每个男人花了3先今,每个女人花了2先令,每个小孩花了1先令,一共花去50先令。问男人、女人以及小孩各有几个人。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。代码: #include using namespace std; int main() { int n; //n记录解的个数 int a,b,c; //分别记录男、女、小孩的人数 n=0; //初始化n的值 for(a=1;a<=30;a++) { for(b=1;b<=30;b++) { c=30-a-b; if(3*a+2*b+c==50) { cout<<"男人有:"< using namespace std; int main() { int n, k=1, s=0, m ; for (n=1 ; n<=100 ; n++) { k=1 ; s=0 ; m=n; while (m>=1&&m<=100 )

计算机组成原理简单模型机实验

实验四简单模型机实验 1.1实验目的 1)将微程序控制器模块通过总线同运算器模块、存储器模块联机,组成一台模型计算机; 2)用微程序控制器控制模型机数据通路; 3)通过CPU运行5条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立机器的整机概念。 1.2电路图 本次实验用到前几次实验所有电路,将几个模块组成一台简单计算机,由微程序控制器控制数据通路,实现cpu从内存取出一条机器指令到执行指令结束的一个指令周期,由微指令组成的序列来完成,一条机器指令对应一个微程序。 图1 电路图 1.3 实验原理 (1)PC计数器初始值为“0”,微程序默认从00地址开始执行,产生控制信号,使PC的地址通过ABUS将送到存储器(6116)的地址锁存器AR中, PC=PC+1;(2)读出存储器中存放内容,通过DBUS送到IR指令寄存器中,实现指令译码,指令的操作码送至微程序控制器的程序跳转控制部分,在P(1)的控制下与微程序中储存的下一条指令地址进行逻辑运算,产生真正的下一条微程序地址;(3)在微程序的控制下单步执行微指令序列。

1.4 微指令格式 表1 微指令格式 1.5 微程序流程图: 图2 微程序流程图

1.6微程序代码表 1.7 数据通路总体图 图3 数据通路总体图

五条机器指令格式(其中,A为内存地址8bit): RAM中装入的程序和数据(其中,地址为8进制): 1.8 实验任务及步骤 (1)实验连线:本次实验大部分的连线已由教师完成,请同学们对照微指令格式,完成微程序控制器的剩余部分连线。 (2)实验环境初始化:实验平台通电前请关闭DR1(74ls273),DR2(74ls273),存储器(6116)的地址锁存器(74ls273),微程序控制器的地址锁存器(74ls175)的自动清零功能,将几个芯片的-MR引脚置为“1”。 时钟发生器的功能设定为单步执行,具体信号为:STOP=0,STEP=1。 (3)加电运行初始化:①指令寄存器IR自动清零,程序计数器PC手动清零,将两片74ls163的ENT,ENP引脚置“1”,-CR引脚置“0”,打开三态门开关,给单步时钟脉冲;

实验07 循环结构程序设计(二)

实验七循环结构序程序设计(二) 循环结构是三种基本程序结构之一,是用于解决复杂问题的一类程序结构。在实验六中已经学习了循环结构的基本概念,以及DO循环语句和DO WHILE循环语句的基本功能和使用规则,但这仅是循环结构的基本内容,还需要学习和掌握循环结构的综合应用,以及更复杂的循环结构,用于解决更复杂的问题。 循环结构允许嵌套,嵌套的循环结构称为多重循环,即一个循环结构的循环体中包含另一个循环结构,根据实际需要可使用多层嵌套。FORTRAN90新增了强制性终止循环语句CYCLE 和EXIT,使用这两条语句可在循环体执行过程中提前终止本次循环或者整个循环。这两条语句的使用虽然不符合结构化程序设计思想,但使用得当,可使用程序简洁、短小、高效。 本次实验是学习和掌握循环结构的综合应用的一次实系统验活动。通过本次实验,能够设计和编写比较复杂的循环结构程序。 一.实验目的 1.进一步掌握三种基本循环结构的使用。 2.掌握强制性终止循环语句EXIT和CYCLE的基本功能和使用规则,以及相互区别。 3.掌握嵌套循环结构概念和应用。 4.掌握顺序结构、选择结构和循环结构相互嵌套和综合应用。 5.掌握设计和编写较复杂程序的基本技能。 二.实验内容1 1.问题描述 公元五世纪末,我国古代数学家张丘建在《算经》中提出了“百钱买百鸡问题”:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问公鸡、母鸡、小鸡各几何?”意思是:公鸡每只5元,母鸡每只3元,小鸡一元三只。100元买100只鸡。公鸡、母鸡、小鸡各买多少只?编写程序实现之。 2.算法设计 求解本题,有两个限定条件:其一是所有的鸡共计100只;其二是所有买鸡的钱共计100元。根据这两个条件可列出下面两个方程式:(设公鸡、母鸡和小鸡数分别为x、y、z) x+y+z=100 5x+3y+z/3=100 这是一个三元一次方程组,但是其限定条件也就是方程式只有两个,这就意味着它是一个多解题。求解该问题,有多种解法,可利用计算机快速计算的特点采用试探法求解该问题。

计算机组成原理 实验八 简单模型计算机实验

实验八 简单模型计算机实验 一、实验目的 1)通过实验分析简单模型机结构,了解计算机的工作原理。 2)掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程 二、实验原理 基本整机模型数据框图如图所示,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。 存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR 中。 存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。 数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是通过三太门送到总线上。 三态门的控制时由微控制器来控制。

图:模型机的数据通路图 三、实验过程 1.连线 按实验逻辑原理图连接以下控制信号。 1)时钟单元(CLOCK UNIT)的T1-T4接到微程序控制单元(MAIN CONTROL UNIT)

的T1-T4. 2)手动控制开关单元(MANUAL UNIT)的KA ,KB接到指令单元(INS UNIT) 的KA,KB。 3)指令单元(INS UNIT)的J(1)-J(5)、SE6-SE0、B-IR 接到的微程序控制单 元(MAIN CONTROL UNIT)的J(1)-J(5)、SE6-SE0、B-IR。 4)输入/输出单元(INPUT/OUTPUT UNIT)IO-W,IO-R接到微程序控制单元(MAIN CONTROL UNIT)的IO-W,IO-R,Ai接到地址单元(ADDRESS UNIT)的A0. 5)主存储器单元(MEM UNIT)M-W、M-R接到微程序控制单元(MAIN CONTROL UNIT)的M-W、M-R,A7-A0 接到地址单元(ADDRESS UNIT)的A7-A0. 6)地址单元(ADDRESS UNIT)的B-AR、B-PC、PC+1、PC-B接到微程序控制单元 (MAIN CONTROLUNIT)的B-AR、B-PC、PC+1、PC-B. 7)通用寄存器单元(REG UNIT)的B-R、R0-B 接到微程序控制单元(MAIN CONTROL UNIT)的B-DR、DR-B。 8)把算术逻辑单元(ALU UNIT)的B-DA1、B-A2、ALU-B Cycn、CyNCn、S3-S0、 M、Ci接到微程序控制单元(MAIN CONTROL UNIT)的B-DA1、B-A2、ALU-B、Cycn、CyNCn、S3-S0、M、Ci。 2.写入、检验微代码 这项操作与实验七的操作过程相同 3.装入机器指令汇编程序操作 1)微程序控制单元(MAIN CONTROL UNIT)编程开关置于“RUN”状态。 2)手动控制开关单元(MANUAL UNIT)的“STEP/RUN”开关置于“STEP”状态。 3)手动控制开关单元(MANUAL UNIT)的KA,KB开关置于1、0写主存储器状 态。 4)拨动开关从11—0—1,产生一个负脉冲,清零程序计数器PC、微地址 寄存器。 5)拨动“START”按钮一次,从微程序控制存储器的00H微地址开始执行微指 令,暂停在0AH微地址处。 6)此时在输入数据开关上拨入实验用机器指令汇编程序表中对应00H地址的

实验2-循环结构程序设计

实验2 循环结构程序设计 一、实验目的 1.学习循环语句for、while和do-while语句的使用方法。 2.学习用循环语句实现各种算法,例如穷举法、迭代法等。 3.进一步熟悉C语言集成环境的使用方法 二、实验内容 1.用while循环实现数据统计问题。:从键盘输入一批任意数量的整数,统 计其中不大于100的非负数数值的个数。 2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问 题。调试数据仍参照上面给出的几种情况设计使用。 3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。 4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值。 三、实验指导 1.用while循环实现数据统计问题。 ?编程分析 由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法: (1).使用一个负数作为数据输入结束标志。 (2).输入一个数据后通过进行询问的方式决定是否继续输入下一个数 据。 ?参考程序 参考程序一 /* 使用负数作为数据输入结束标志的程序 */ #include "stdio.h" void main()

{ int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0) break; if(m<=100) counter++; printf("\n"); } printf("符合要求的整数个数为: %d\n",counter); } 参考程序二 /* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include int main() { int m,counter=0; char ask; while(1) { printf("请输入一个整数:"); scanf("%d",&m); getchar(); if(m>=0&&m<=100) counter++; printf("继续输入下一个数据?(Y/N)"); ask=getchar();

简单模型机实验报告

评语:课中检查完成的题号及题数: 课后完成的题号与题数: 成绩:自评成绩: 实验报告 实验名称:__________ 简单模型机实验报告____________ 日期: _________________ 班级:学号:姓名: -、实验目的: 1掌握一个简单CPU的组成原理。 2、在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。 3、为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。 二、实验内容: 本实验要实现一个简单的CPU并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU、微程序控制器(MC、通用寄存器(R0,指令寄存器(IR)、程序计数器(PC和地址寄存器(AR组成,如图2-1-1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

图1-4-1基本CPU 构成原理图 除了程序计数器(PC ,其余部件在前面的实验中都已用到,在此不再讨论。系统 的程序计数器(PC 由两片74LS161和一片74LS245构成,其原理如图1-4-2所示。PC_B 为三态门的输出使能端,CLR 连接至CON 单元的总清端CLR 按下CLR 按钮,将使PC 清 零,LDPC 和T2相与后作为计数器的计数时钟,当LOAD 为低时,计数时钟到来后将CPU 内总线上的数据打入PG 图1-4-2程序计数器(PC )原理图 本模型机和前面微程序控制器实验相比,新增加一条跳转指令 JMP 共有五条指令: OUT (输出)、JMP (无条件转移),HLT (停 机), 其指令格式如下(高4位为操作码): 助记符 机器指令码 说明 IN 0010 0000 IN — R0 ADD 0000 0000 R0 + R0 — R0 OUT 0011 0000 R0 — OUT JMP addr 1100 0000 ******** addr — PC HLT 0101 0000 停机 址码。微程序控制器实验的指令是通过手动给出的,现在要求 CPU 自动从存储器读取指 令并执行。根据以上要求,设计数据通路图,如图 1-4-3所示。 IN (输入)、ADD (二进制加法)、 其中JMP 为双字节指令,其余均为单字节指令, ******** 为addr 对应的二进制地 LDPC T2 CLR LOAD

计算机组成原理课程设计模型机实验报告 精品

实践报告 计算机组成原理--模型机设计报告 作者姓名: 专业:计算机科学与技术 学号: 指导教师: 完成日期:年月号 ******学院 计算机工程系

摘要 “计算机组成原理”是计算机科学与技术系的一门核心专业基础课程,在计算机专业中起了很重要的作用。课程中分部分介绍了计算机的各个部件,我们有必要将它们组合起来以对计算机有一个整体的认识。这次课程设计通过对一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解。依次设计计算机的几个部件并进行连接使成为一个完整的模型机。通过运行和调试,使之正常工作。 关键词:运算器;控制器;存储器;输入输出接口;模型机

正文: 一、课设目的要求: 《计算机组成原理》是一门理论性、实践性均较强的专业基础课,要求学生具有一定的电路分析、指令系统编写能力、软件设计能力。通过计算机组成原理实践周,要突出《计算机组成原理》理论联系实际的特点,培养实践动手能力。 1.培养学生运用理论知识和技能,构建建立问题逻辑结构,锻炼学生分析解决实际 问题的能力。 2.培养学生使用PROTEUS软件分析和设计计算机内部器件的方法和技巧。 3.培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。 4.通过实践设计,要求学生在指导教师的指导下,独立完成设计课题的全部内容, 包括: (1)通过调查研究和上机实习,掌握PROTEUS软件的设计和仿真调试技能。 (2)掌握计算机系统的组成结构及其工作原理。 (3)设计实现一个简单计算机的模型机,并能够使用PROTEUS软件进行电路仿真验证 二、课设内容: 利用所学的计算机结构和工作原理的知识,要求学生独立完成简单计算机的模型机设计,并用PROTEUS软件进行验证。在分析设计过程中,要求学生养成良好的习惯,学会分析实际问题,并利用所学的知识建立系统的逻辑结构,学会PROTEUS调试技巧和方法,通过逻辑设计和工程设计培养调试硬件电路的实际动手能力。要求学生掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 三、课设设备: 计算机组成原理教学实验系统及电脑一台。 四、模型机组织结构: 组织结构分为运算器控制器存储器输入输出接口。 运算器是数据的加工部件,是CPU的重要组成部分。基本结构中必须有算数/逻辑运算单元、数据缓冲存储器、多路转换器和数据总线等逻辑构件。控制器是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令,由程序计数器、指令寄存器、指令译码器、时序产生器组成。存储器用来

实验七基本模型机的设计与实现

实验七 基本模型机的设计与实现 一、实验目的 ⒈在掌握部件单元电路实验的基础上,进一步将其组成系统地构造 一台基本模型计算机。 ⒉为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机 概念。 二、实验设备 Dais-CMH+/CMH 计算器组成原理教学实验系统一台,实验用扁平 线、导线若干。 三、实验原理 部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而 本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特 定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完 成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全 部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、 STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下 (前三位为操作码): ==========================================================助记符 机器指令码 说 明 -------------------------------------------------- ------------- IN R0,SW 0010 0000 数据开关状态 →R0 ADD R0,[addr] 0100 0000 XXXXXXXX R0+[addr]→R0 STA [addr],R0 0110 0000 XXXXXXXX R0→[addr] OUT [addr],LED 1000 0000 XXXXXXXX [addr]→LED JMP addr 1010 0000 XXXXXXXX addr→PC ==========================================================其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对 应的二进制地址码。 根据以上要求设计数据通路框图,如图7-10-1所示。系统涉及到的 微程序流程见图7-7-3,当拟定“取指”微指令时,该微指令的判别测试 字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指 令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前3位 (IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。 当全部微程序设计完毕后,应将每条微指令代码化,表7-10-1即为 将图7-10-2的微程序流程图按微指令格式转化而成的“二进制微代码

实验四 循环结构

实验报告 班级:电信13-1班学号:130******** 姓名:谢朗星成绩: 实验四循环结构 一、实验目的 1.掌握循环结构C程序的编写和调试方法。 2.掌握循环结构C程序中使用while语句和do while语句。 二、实验内容和步骤 1.调试下面三个程序,分析执行的结果。 1. #include int main( ) { int sum=0,i=1; while(i<=100) { sum=sum+i; i++; } printf(“%d\n”,sum); return 0; } 5050 在该程序中,先判断i是否<=100,如果是,在循环体先执行了sum=sum+i,接着再执行i++,然后再返回判断i是否<=100,接着再重复上步骤,直到i>100,然后输出最终结果,结束该程序。 2. #include int main( ) { int sum=0,i=1; while(i<=100) { sum=sum+i; i++; printf(“%d\n”,sum);} return 0;

} 在该程序中,先判断i是否<=100,如果是,在循环体先执行了sum=sum+i,接着再执行i++,然后输出当次运行的结果,然后再返回判断i是否<=100,接着再重复上步骤,直到i>100,结束该程序。 3.#include int main( ) { int sum=0,i=1; do { sum=sum+i; i++; printf(“%d\n”,sum); }while(i<=100); return 0; } 在该程序中,在循环体中先执行了sum=sum+i,接着再执行i++,然后输出当次运行的结果,接着再判断i是否<=100,如果是,返回执行循环体,接着再重复上步骤,直到i>100,结束该程序。 2.编写如下2道题目的程序,要求详细写出程序编写、编译、运行的过程,源程序关键执 行语句需要给出注释。 (a)统计全单位人员的平均工资。单位的人数不固定,工资数从键盘先后输入,当输入-1 时表示输入结束(前面输入的是有效数据) 分析:循环执行的条件while(i!=-1) , 循环结束条件是单位的人数n,循环体采用累加的方法。 (b)求∑= 20 1 n !n 分析:循环体采用累加和累乘。(a) #include int main() {

计算机组成原理 基本模型机实验

淮海工学院计算机工程学院实验报告书 课程名:《计算机组成原理》 题目:实验四基本模型机实验 班级: 学号: 姓名:

1、目的与要求 1)在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。 2)本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。2、实验设备 1) ZYE1601B计算机组成原理教学实验箱一台,排线若干。 2) PC机一台。 3、实验步骤与源程序 l) 根据该模型机的指令系统,编写一段程序。这里给出两个参考程序。 参考程序一: 本程序从输入设备(数码开关)取入数据,保存在内存单元08,然后从08单元送到输出设备(LED数码管)进行显示。然后程序停止(请实验者考虑:如何修改程序,使程序不断从输入设备取出数据,送到输出设备显示。每次循环过程中,可以使输入设备数据改变,考察输出显示的结果。)。 设计机器指令程序如下(机器码为十六进制数据)。 地址内容助记符说明 00 00 IN ;输入开关数据→R0 01 20 STA [08H] ;R0→[08] 02 08 ;地址 03 30 OUT [08H] ;[08H]→BUS 04 08 ;地址 05 40 JMP [00H] ;00H→PC 06 00 ;跳转地址 参考程序二: 本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED 数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。 设计机器指令程序如下(机器码为十六进制数据)。 地址内容助记符说明 00 00 IN ;输入开关数据→R0,采集数据 01 10 ADD [0AH] ;R0+[0AH]→R0,输入数据与指定数据相加 02 0A ;地址 03 20 STA [0BH] ;R0→[0B] 04 0B ;地址 05 30 OUT [0BH] ;[0BH]→BUS,输出显示 06 0B ;地址 07 40 JMP [00H] ;00H→PC 08 00 ;跳转地址 0A 01 ;加数,可自定 0B ;求和结果保存在0B单元 2) 按图1连接实验线路。 3) 写程序: 对于本实验箱可以用两种方法来写入程序。 方法一:手动写入 (1)先将机器指令对应的微代码正确地写入2816中,由于在实验1.6微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2—2校验正确后就可使用。

模型机实验报告

哈尔滨工程大学 实验报告 实验名称:复杂模型机设计与实现 班级: 学号: 姓名: 实验时间: 成绩: 指导教师:程旭辉附小晶 实验室名称:计算机专业实验中心 一、实验名称:复杂模型机的设计与实现 二、实验目的:

1.综合运用所学计算机原理知识,设计并实现较为完整的计算机。 2.设计指令系统。 3.编写简单程序,在所设计的复杂模型计算机上调试运行。 三、实验设备: GW-48CPP系列计算机组成原理实验系统。 四、实验原理: 1.数据格式 8位,其格式如下: 其中第7位为符号位,数值表示范围是:-1≤1。 2.指令格式 所设计的指令分为四大类共十六条,其中包括算术逻辑指令、I/O指令、访问、转移指令和停机指令。 (1)算术逻辑指令 设计9条算术逻辑指令并用单字节表示,采用寄存器直接寻址方式,其格式如下: 其中, (2)访问指令及转移指令 访问指令有2条,即存数(STA)、取数(LDA);2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC) 其中,OP-CODE指令)。D为位移量(正负均可),M为寻址模式,其定义如下: 在本模型机中规定变址寄存器RI为寄存器R2。 (3)I/O指令 输入(IN)和输出( 其中,addr=01时,选中“OUTPUT DEVICE”中的LCD

点阵液晶屏作为输出设备。 (4)停机指令 指令格式如下: 3.指令系统 共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入/输出指令2条,其

本模型机的数据通路框图如图7-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图7-2。 图7-2 微程序流程图 五、实验内容: 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。 微代码定义如表7-1所示。

Python实验循环结构

实验五 循环结构(续) 【实验目的】 1.掌握range()函数的使用 2. 掌握For 语句的使用。 3.掌握循环嵌套的使用。 4.掌握一些常用的算法(求素数、穷举法、求和与乘积、递推法)。 【实验内容】 000000000 1、 填空 (1) 在命令行中显示1 到10的数字 range(1,11) 。 (2) 在命令行中显示 1到10的所有偶数 range(2,11,2) 。 (3) 显示所有的大写字符。 for i in range(65,91) : print chr(i) (4) 显示1--100能被3整除的数,并且每5个数打印一行。 i=0 ‘记录能被3整除的个数 for j in range(1,101): if j%3==0: print j, i+=1 if i%5==0: print 2、输出斐波那契级数1、1、2、 3、5、8、13……,此级数项的规律是:前两项的值各为1,从第3项起,每一项是前2项的和。(要求一行输出6项)。 (1) 当某项的数值大于或等于30000时结束。 (2) 求前100项之和。 (1)1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 (2 3、编写程序,输入一个数,判断该数是否为完数。例如6是一个完数,因为6=1+2+3。 x=input ("Enter an integer:") i=1 while True : x=x-i i+=1 if x==i: print "A perfect number." break if x==30000: break print c, if i%6==0: print (2) a=1 b=1 sum=2 i=2 #计数 while True: i+=1 #计数:第i 次 c=a+b a=b b=c sum+=c if i==100: #完成第100次求和后退出循环 break print sum

基本模型机实验

基本模型机实验 实验目的: 理解微程序结构CU设计方法 理解机器指令与微程序之间的关系 掌握简单模型机CU的设计方法。 实验原理: 1.基本模型机使用的实验台模块 基本模型机应包括计算机系统的五大部件,相应地,在使用实验台构造模型机时,涉及到以下模块,必须完成其数据线(扁缆)和各种控制信号线的连接。 运算器模块– ALU; 指令部件模块、时序启停控制模块、微程序模块- 这些模块合在一起,相当于计算机系统中的CU; 存储器模块- 可存储机器指令,用于验证模型机的运行情况; 输入模块– 通过开关输入二进制数据; 输出模块– 通过LED显示从数据总线上输出的八位数据。 2.基本模型机制持的指令系统 实验台支持的基本模型机实验中,模型机支持的指令集包括五条指令,其机器指令形式如下: 助记符机器指令格式操作 IN R0,SW 0010 0000 将输入模块开关输入值送入寄存器R0 ADD R0,[addr] 0100 0000 xxxxxxxx 双字节指令,第二字节为访存操作数 的地址。 STA [addr],R0 0110 0000 xxxxxxxx 同上。将R0寄存器的值存入地址addr 对应的内存单元中。 OUT[addr],LED 1000 0000 xxxxxxxx 同上。将内存地址addr对应单元的内 容输出到输出模块,由LED显示。 JMP addr 1010 0000 xxxxxxxx 同上。给PC赋值addr,控制程序跳 转到addr处执行。 3.微程序设计 基本模型机中实现CU控制的微程序共有6段,分别是取指周期微程序,和五条机器指令各自的执行周期微程序。其结构如下图所示: 其中,需要说明的是条件P(1),这个测试出现在取指周期结束时,系统需要根据机器指令的操作码字段(机器指令的前三位)进行散转,分别转入相应的执行周期微程序中执行。

复杂模型机实验报告

复杂模型机实验报告 篇一:复杂模型机实验报告 信息学院 篇二:复杂模型机的组成与运行实验报告 内蒙古师范大学计算机与信息工程学院 《计算机组成原理》 课程设计报告 题目十五:复杂模型机的组成与运行 目录 1[ 任务描述] ............................................... ................................................... (2) 1.1 题目名称 ................................................ ................................................... ................................... 2 1.2 要求 ................................................ ................................................... ..................................... 2 1.3 实验目的 ................................................

................................................... .................................. 2` 2 [设计设备] ............................................... ................................................... ................ 2 3 [设计原理和方法] ............................................... ................................................... . (2) 3.1 设计原理 ................................................ ................................................... ................................... 3 ................................................ ................................................... ................................ 3 ................................................ ................................................... ................................ 3 ................................................ ...................................................

计算机组成原理课程设计基本模型机设计与实现

课程设计(大作业)报告课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术3班 设计者: 学号: 指导教师: 设计时间: 昆明学院 信息技术学院 课程设计(大作业)任务书

目录 课程设计(大作业)报告 一、课程设计的教学目的 1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。 2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。 课程设计内容设计一台基本模型机,并实现相关的指令。 二、课程设计任务和基本要求 本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。 1.按给定的数据格式和指令系统,设计一个微程序控制器。 2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微 程序的为指令代码。

3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运 行过程及结果。 4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台 模型计算机。 5.用微程序控制器控制模型机的数据通路。 6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令 与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。 7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的 机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在 PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。 三、设计任务及分析 (1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的 内存单元,将X与R 0. 寄存器中的内容Y执行X ⊕,结果送到以B为直接地址的内存单元保存。 (2)分析: A:给R 寄存器直接置入01H. B:从数据开关给间接地址为0CH的内存单元置数,(03H). C:给R 0中的内容取反,结果存在R 中. D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R 中的内容 放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R 中. E:将R 中的内容存在直接地址为0DH的内存单元中. 四、设计原理 模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。 本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

相关文档
最新文档