计算机组成原理课程设计
- 格式:doc
- 大小:1.73 MB
- 文档页数:19
计算机组成原理课程设计1. 引言计算机组成原理是计算机科学与技术专业中一门重要的基础课程。
通过学习计算机组成原理,可以了解计算机的基本组成结构、工作原理和性能提升方法。
为了更好地掌握和应用所学知识,本文将介绍一项针对计算机组成原理课程的设计任务。
2. 任务描述本次课程设计任务要求设计一个简单的单周期CPU,实现基本的指令执行功能。
具体要求如下:•CPU的指令集包括加载(Load)、存储(Store)和算术逻辑运算(ALU)指令,需要支持整数加法、减法、乘法和除法运算。
•CPU需要具备基本的流水线功能,包括取指(Instruction Fetch)、译码(Decode)、执行(Execute)和写回(Write Back)。
•CPU需要支持基本的寄存器操作,包括寄存器读取(Register Read)和寄存器写入(Register Write)。
•CPU的指令和数据存储器使用单端口RAM,指令和数据的访问都需要经过存储器。
3. 设计思路针对上述需求,我们可以采用以下设计思路:3.1 CPU总体设计•CPU采用单周期结构,即每个指令都在一个时钟周期内完成。
•CPU主要分为指令存储器、数据存储器、寄存器文件和控制逻辑四个部分。
3.2 指令存储器设计•指令存储器采用单端口RAM,每个指令的长度为固定的32位。
•指令存储器需要实现读取指令的功能,每次从内存中读取一个指令。
3.3 数据存储器设计•数据存储器也采用单端口RAM,每个数据的长度为固定的32位。
•数据存储器需要实现读取数据和写入数据的功能,执行指令时需要从存储器中读取数据,计算结果需要写回存储器。
3.4 寄存器文件设计•寄存器文件包含若干个通用寄存器,用于存储指令执行过程中的临时数据。
•寄存器文件需要实现读取寄存器和写入寄存器的功能,执行指令时需要读取和写入寄存器。
3.5 控制逻辑设计•控制逻辑负责根据当前指令的操作码和操作数生成控制信号,控制CPU的工作流程。
计算机组成原理课程设计
计算机组成原理课程设计是计算机科学与技术专业的一门核心课程,其目的是帮助学生更深入地理解计算机的组成原理和工作原理,培养学生分析和设计计算机硬件的能力。
在这个课程设计中,我选择了设计一个简单的单周期CPU。
首先,我会设计CPU的指令集,包括处理器指令的类型、指
令格式、寻址方式等。
然后,根据指令集的要求,设计并实现CPU的控制器,控制指令的执行流程。
接着,我会设计并实
现CPU的数据通路,包括寄存器、ALU、存储器等组件,实
现指令的操作。
在设计过程中,我会遵循计算机组成原理的基本原理和设计原则,如冯·诺伊曼体系结构、指令周期、数据通路和控制单元
的相互协调等。
我会使用硬件描述语言,如VHDL或Verilog,进行设计,通过仿真和验证来测试设计的正确性。
同时,我还会考虑CPU的性能和效率,尽量优化各个部分的设计,以提
高CPU的运行速度和处理能力。
在设计完成后,我还会进行性能测试和功能验证,测试CPU
在不同工作负载下的性能表现,并根据测试结果对设计进行优化。
最后,我会编写报告,详细介绍我的设计思路、实现过程和测试结果,以及可能存在的问题和改进的方向。
通过这个课程设计,我将深入理解计算机组成原理的相关知识,并掌握CPU设计的基本方法和技术。
这对于我今后的学习和
工作都具有重要意义,不仅可以加深我对计算机硬件的理解,
还可以提高我的问题分析和解决能力,为我未来的研究和工作奠定坚实的基础。
计算机组成原理课程设计目录目录第一章设计内容及目标 (1)1.1程序设计的目标 (1)1.2程序设计的内容和要求 (1)1.3需要器材 (1)第二章设计原理 (2)2.1设计思路 (2)2.2设计工作原理 (2)2.2.1 设计基本原理 (2)2.2.2 机器指令 (2)2.2.3 数据通路 (3)2.2.4 微指令格式 (4)2.2.5 微程序地址的转移 (4)2.2.6 机器指令的写、读和执行 (5)第三章设计步骤 (6)3.1连接实验线路 (6)3.2设计机器指令代码及数据 (7)3.3微程序流程图 (7)3.4设计微指令二进制代码 (9)3.5微指令代码装入与检查 (9)3.6机器指令代码装入与检查 (10)第四章实现方法及关键技术 (11)4.1程序实现方法 (11)4.1.1 单步运行程序 (11)4.1.2 连续运行程序 (11)4.2实现关键技术 (11)第五章设计问题分析 (12)5.1遇到的问题 (12)5.2解决方法 (12)设计总结 (13)第一章设计内容及目标本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。
再设计实践中提高应用所学专业知识分析问题和解决问题的能力。
1.1程序设计的目标1.在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。
2.为其定义若干条机器指令,并编写相应的微程序,上机调试,掌握整机概念。
1.2程序设计的内容和要求1、掌握设计题目所要求的机器指令的操作功能,除了4条必做指令外,每组另外设计2条机器指令。
4条选做指令,供有能力的学生完成。
2、为要设计的机器指令设计操作码和操作数,并安排在RAM(6116芯片)中的地址,形成“机器指令表”。
3、分析并理解数据通路图。
《计算机组成原理》教案一、课程简介1.1 课程背景计算机组成原理是计算机科学与技术专业的一门核心课程,旨在帮助学生了解和掌握计算机的基本组成、工作原理和性能优化方法。
通过本课程的学习,学生将能够理解计算机硬件系统的整体结构,掌握各种计算机组件的功能和工作原理,为后续学习操作系统、计算机网络等课程打下基础。
1.2 课程目标(1)了解计算机系统的基本组成和各部分功能;(2)掌握计算机指令系统、中央处理器(CPU)的工作原理;(3)熟悉存储器层次结构、输入输出系统及总线系统;(4)学会分析计算机系统的性能和优化方法。
二、教学内容2.1 计算机系统概述(1)计算机的发展历程;(2)计算机系统的层次结构;(3)计算机系统的硬件和软件组成。
2.2 计算机指令系统(1)指令的分类和格式;(2)寻址方式;(3)指令的执行过程。
2.3 中央处理器(CPU)(1)CPU的结构和功能;(2)流水线技术;(3)多核处理器。
2.4 存储器层次结构(1)存储器概述;(2)随机存取存储器(RAM);(3)只读存储器(ROM);(4)缓存(Cache)和虚拟存储器。
2.5 输入输出系统(1)输入输出设备;(2)中断和DMA方式;(3)总线系统。
三、教学方法3.1 讲授法通过讲解、举例、分析等方式,使学生掌握计算机组成原理的基本概念、原理和应用。
3.2 实验法安排实验课程,使学生在实践中了解和验证计算机组成原理的相关知识。
3.3 案例分析法分析实际案例,使学生了解计算机组成原理在实际应用中的作用和意义。
四、教学评价4.1 平时成绩包括课堂表现、作业完成情况、实验报告等。
4.2 期末考试采用闭卷考试方式,测试学生对计算机组成原理知识的掌握程度。
五、教学资源5.1 教材《计算机组成原理》(唐朔飞著,高等教育出版社)。
5.2 辅助资料包括课件、实验指导书、案例分析资料等。
5.3 网络资源推荐学生访问相关学术网站、论坛,了解计算机组成原理的最新研究动态和应用成果。
计算机组成原理实验及课程设计前言计算机组成原理课程是计算机科学与技术专业的核心课程,是培养学生计算机系统硬件方面的基础理论和实践技能的重要课程。
其中,计算机组成原理实验及课程设计是该课程的重要组成部分。
本文将围绕该课程设计展开,介绍该课程的实验及课程设计的内容、目的和实施方法。
实验内容计算机组成原理实验是学生对于课堂理论学习的巩固与实践,其内容包括以下主要实验:1. 数据通路实验数据通路实验是将计算机内部各功能部件(如寄存器、ALU、控制器等)之间的数据流动情况进行分析、了解与掌握。
实验采用VHDL硬件描述语言,通过Quartus II软件进行电路设计和仿真,最终通过FPGA验证实验结果。
2. 单周期CPU实验单周期CPU实验是针对数据通路实验的基础进行拓展,实现完整的计算机CPU 功能。
实验使用Verilog HDL描述单周期MIPS指令集CPU,掌握计算机指令的执行过程,了解指令执行的时间和机器周期、时序控制以及数据传输问题。
3. 多周期CPU实验多周期CPU实验是在单周期CPU实验的基础上进行深入拓展,实现更加高效、复杂的CPU功能。
实验使用Verilog HDL描述多周期MIPS指令集CPU,掌握多周期CPU的时序控制、流水线操作、数据冲突处理等相关问题,深入研究CPU性能优化技术。
4. 总线实验总线实验是针对计算机内部各个部件之间数据传输的技术问题进行研究,实验设计并实现一个通用总线结构。
实验中将涉及到总线的基础知识、总线协议的分析、总线结构的设计及实现,熟悉总线设计原理、总线的基本特性和数据交换的逻辑流程。
课程设计计算机组成原理课程设计是对于理论与实践知识的融合,其内容主要包括以下几部分:1. 计算机硬件设计通过计算机硬件设计,学生将在实践中巩固计算机硬件方面的知识,加深对计算机硬件工作原理的理解和掌握。
学生需要根据自己的设计目标和要求,按照计算机硬件设计的流程进行设计,最终完成指定任务。
计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。
本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。
二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。
三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。
控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。
1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。
1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。
2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。
2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。
3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。
3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。
四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。
1.2 编写控制单元的逻辑电路代码。
1.3 编写算术逻辑单元的逻辑电路代码。
1.4 进行仿真验证,确保电路的正确性。
2. 存储器实现2.1 设计主存储器的存储单元。
2.2 设计辅助存储器的存储单元。
2.3 编写存储器的读写操作代码。
2.4 进行存储器的功能测试,确保读写操作的正确性。
3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。
3.2 设计显示器输出设备的接口电路。
3.3 编写输入输出设备的读写操作代码。
3.4 进行输入输出设备的功能测试,确保读写操作的正确性。
五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。
目录一、实验计算机的设计 (2)1.整机逻辑框设计 (2)2.指令系统设计 (3)3.微操作控制部件设计 (3)4.设计组装实验计算机连接图 (7)5.编写调试程序 (7)二、课程设计总结 (10)三、参考文献 (11)一、实验计算机的设计1.整机逻辑框设计图1-1模型机结构框图2.指令系统设计本机共有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条。
输入输出指令2条,其他指令1条,表1-1列出了各条指令的格式、会变符号和指令功能。
表1-1 实验指令格式3.微操作控制部件设计3.1微指令编码的格式设计系统设计的微程序字长共24位,其控制顺序如下:注:其中uA5-uA0为6位的后续的微地址,F1、F2、F3为三个译码字段,分别由三个控制位译码出多位。
F3字段包含P1-P4四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的位地址入口,从而实现微程序的顺序、分支、循环运行。
3.2微操作控制信号设计:表1-3 操作控制信号3.3微程序顺序控制方式设计:3.3.1微程序控制部件组成原理指令寄存器IR图1-2 控制部件组成原理3.3.2微程序入口地址形成方法由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控存的0号或特定单元开始的一段控存空间内。
每一条机器指令对应着一段微程序,其入口就是初始微地址。
首先由“取指令”微程序取出一条机器指令到IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。
这是一种多分支(或多路转移)的情况,常用三种方式形成微程序入口地址3.3.3控存的下地址确定方法在程序顺序运行时,控存的下地址有微指令的顺序控制字段直接提供;当程序出现分支转移时,即“取指”微指令时,该微指令的判别测试字段P1、P2、P3、P4测试,出现分支转移,当分支位地址单云固定后,剩下的其他地方就可以一条微指令占用控存一个位地址单元随意填写。
计算机组成原理课程设计一、设计背景计算机组成原理是计算机科学与技术专业的一门基础课程,旨在培养学生对计算机硬件组成和工作原理的深刻理解。
通过课程设计,学生可以巩固和应用所学的知识,提高解决实际问题的能力。
二、设计目标本次计算机组成原理课程设计的目标是让学生通过实践,加深对计算机硬件组成和工作原理的理解,培养学生的设计和实现能力。
具体目标包括:1. 设计并实现一个简单的计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
2. 熟悉计算机指令系统的设计与实现,包括指令的编码、解码和执行过程。
3. 学会使用硬件描述语言(如VHDL)进行计算机硬件的设计和仿真。
4. 掌握计算机系统的性能评估方法,包括指令周期、时钟频率等。
三、设计内容本次计算机组成原理课程设计的内容为设计并实现一个简单的基于冯·诺依曼结构的计算机系统。
具体设计内容包括以下几个方面:1. 计算机系统的总体设计根据冯·诺依曼结构的原理,设计计算机系统的总体框架。
包括中央处理器(CPU)、存储器、输入输出设备等。
2. 指令系统的设计与实现设计并实现一个简单的指令系统,包括指令的编码、解码和执行过程。
指令集可以包括算术运算、逻辑运算、数据传输等常见指令。
3. 中央处理器(CPU)的设计与实现设计并实现一个简单的中央处理器,包括指令寄存器、程序计数器、算术逻辑单元等。
通过对指令的解码和执行,实现计算机的基本功能。
4. 存储器的设计与实现设计并实现一个简单的存储器模块,包括指令存储器和数据存储器。
通过存储器的读写操作,实现程序的加载和数据的存储。
5. 输入输出设备的设计与实现设计并实现一个简单的输入输出设备,如键盘和显示器。
通过输入输出设备,实现用户与计算机系统的交互。
6. 系统性能评估对设计的计算机系统进行性能评估,包括指令周期、时钟频率等指标的测量和分析。
通过性能评估,优化计算机系统的性能。
四、设计步骤本次计算机组成原理课程设计的步骤如下:1. 确定设计的整体框架和目标,明确设计的内容和要求。
计算机组成原理项目课程设计计算机组成原理是计算机科学与技术专业中的一门重要课程,旨在介绍计算机硬件系统的组成和工作原理。
为了巩固学生对计算机组成原理的理论知识,提高实践能力,通常会设置计算机组成原理项目课程设计。
计算机组成原理项目课程设计是一个综合性的实践项目,旨在让学生通过设计和实现一个简单的计算机系统,加深对计算机组成原理的理解,并在实践中提升解决问题的能力。
在计算机组成原理项目课程设计中,学生需要完成以下几个主要任务:1. 设计计算机系统的整体架构。
学生需要根据计算机组成原理的知识,设计一个简单的计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
2. 实现计算机系统的各个部件。
学生需要根据设计的计算机系统架构,逐个实现各个部件的功能。
例如,设计并实现一个简单的指令集,编写控制器代码等。
3. 进行计算机系统的集成与测试。
学生需要将各个部件进行集成,并进行一系列的测试,验证计算机系统的正确性和稳定性。
例如,编写测试程序,测试指令的执行结果是否符合预期。
4. 进行性能优化与扩展。
学生可以根据自己的兴趣和能力,对设计的计算机系统进行性能优化或扩展。
例如,改进指令集,增加硬件资源等。
在计算机组成原理项目课程设计中,学生需要运用所学的计算机组成原理的知识,理解计算机系统的工作原理。
通过设计和实现一个简单的计算机系统,学生可以更加深入地理解计算机硬件系统的组成和工作原理,培养解决实际问题的能力。
在计算机组成原理项目课程设计中,学生还可以学习到团队合作和项目管理的能力。
通常情况下,计算机组成原理项目课程设计是以小组为单位进行的,学生需要与小组成员共同合作,分工合作,完成项目的各个阶段。
计算机组成原理项目课程设计是一个重要的实践项目,通过设计和实现一个简单的计算机系统,学生可以巩固和应用所学的计算机组成原理的知识,提高解决问题的能力,并培养团队合作和项目管理的能力。
通过这样的实践项目,学生可以更好地理解计算机硬件系统的组成和工作原理,为将来从事计算机相关的工作打下坚实的基础。
计算机组成原理简明教程课程设计1. 课程背景计算机组成原理是计算机科学与技术专业的一门基础课程,课程内容涵盖计算机硬件的组成、运行原理和体系结构等方面,是学生们理解和掌握计算机硬件基本工作原理的必修课程。
本课程设计旨在提高学生对计算机硬件体系结构的理解和掌握,以及编写简单汇编程序的能力。
2. 课程目标本课程设计的目标为:1.学习计算机硬件组成的基本原理和体系结构;2.分析计算机系统的层次结构,并理解其运行原理;3.掌握8086汇编语言的基本指令和程序设计思路;4.提高学生逻辑思维和问题分析的能力。
3. 课程内容课程设计的内容包括以下几个方面:3.1 计算机硬件组成基本原理介绍计算机硬件的组成和功能,包括CPU、存储器、输入输出设备等硬件元件的功能及其相互关系。
3.2 计算机体系结构介绍计算机体系结构及其层次结构,包括指令集、寄存器、程序计数器、内存地址和数据总线等基本概念。
3.3 8086汇编语言介绍8086汇编语言的基本语法、指令系统和程序设计思路,通过实例演示学生如何编写简单汇编程序,例如计算机加法、乘法和阶乘等。
3.4 程序设计思路和问题分析通过实例分析,引导学生理解程序设计的思路,培养学生分析和解决问题的能力。
4. 课程安排本课程设计安排10周时间,每周3学时,总计30学时,具体课程安排如下表所示:课程内容学时安排计算机硬件组成基本原理2学时计算机体系结构3学时8086汇编语言12学时程序设计思路和问题分析13学时5. 教学方法本课程设计采用讲授、分析和实践相结合的教学方法,重点培养学生的实际操作能力。
同时,注重与企业实际需求的结合,引导学生合理应用所学知识。
6. 教学评价本课程设计的教学评价方式包括课堂考勤、作业实验、期中测验、期末实验和报告等几个方面,帮助学生巩固所学知识,发现和解决问题。
7. 结束语计算机组成原理是计算机专业的基础课程,对于提高学生的计算机理论基础、培养实际操作能力具有非常重要的意义。
课程设计说明书题目: 计算机组成原理课程设计院系:计算机科学与工程学院专业班级: **********学号: **********学生姓名: **********指导教师: **********2011年 6月 29 日安徽理工大学课程设计(论文)任务书2011年 6月 29 日安徽理工大学课程设计(论文)成绩评定表目录1系统分析 (1)1.1 设计背景 (1)1.2 设计的原理................................................. 错误!未定义书签。
1.3模型机的逻辑框图 ........................................... 错误!未定义书签。
2指令系统及其指令格式.......................错误!未定义书签。
2.1指令系统 ................................................... 错误!未定义书签。
2.2 指令的格式................................................. 错误!未定义书签。
3微程序的设计及其实现的方法 .. (6)3.1微程序入口地址的形成 (7)3.2微指令格式的设计 (8)3.3后续微地址的产生方法 (8)3.3程序执行流程 (9)4程序的实现 (10)4.1源程序,程序的指令代码及微程序 (10)4.2 程序的指令代码 (10)4.3 微程序 (10)4.4 程序调试 (11)总结 (13)参考文献 (14)摘要在飞速发展的科技社会中,计算机被应用到各行各业,各个领域中。
人们渐渐地步入自动化、智能化的生活阶段。
本次计算机组成原理课程设计课题是基本模型机的设计与实现。
利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。
本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转移,传送指令),形成具有一定功能的完整的应用程序。
简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。
这一课题的实现不仅使我们对各种微指令有了熟练的掌握,更对有关知识的深入学习打下基础。
关键词:指令系统,微指令,机器指令,加减运算1.系统分析1.1 设计背景通过计算机组成原理理论课和几次实验的学习,尝试设计八类机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。
本课程设计的模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数,指令码的最低两位用来选择R0-R3寄存器。
在微程序控制方式下,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。
在本模型机中,一条指令最多分为四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制寄存器的输入输出,选择运算器的运算功能,存储器的读写。
简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。
24位控制位分别介绍如下:XRD:外部设备读信号,当给出个外设的地址后,输出此信号,从指定外设读数据。
EMWR:程序存储器EM写信号EMRD:程序存储器EM读信号PCOE:将程序计数器PC的值送到地址总线ABUS上EMEN:将程序存储器EM与数据总线DBUS接通,有EMWR和EMRD决定是将DBUS数据写入EM中,还是从EM读出数据到DBUSIREN:将程序存储器EM独处的数据打入指令寄存器IR和微指令计数器uPCEINT:中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP:PC打入允许,与指令寄存器的IR2.,IR3位结合,控制程序跳转。
MAREN:将数据总线DBUS上数据打入地址寄存器MARMAROE:将地址寄存器MAR的值送到地址总线ABUS上OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里STEN:将数据总线DBUS上数据存到堆栈寄存器里RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位FEN:将标志位存入ALU内部的标志寄存器X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,见表1WEN:将数据总线DBUS的值打入工作寄存器W中AEN:将数据总线DBUS的值打入累加器A中S2,S1,S0三位组合决定ALU做何种运算,见表2表1表21.2设计的原理计算机中CPU是核心,它是通过指令和微指令的执行来工作的。
指令是计算机要完成的某一项功能。
它对应到执行的过程中是一段微程序。
一段微程序含多条为指令,而一条微指令又含多个微命令。
一个微命令驱动某个硬件部件执行某种操作。
通过这样一个关系,从而达到由计算机指令来驱动计算机各个硬部件的协调工作以实现一条指令的执行。
在各个模块实验中,个模块的控制信号都是有实验者手动模拟产生的。
而在真正的实验系统中,模型机的运行是在微程序的控制下进行的,可实现特定的指令功能。
在本实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之配合的时序来完成,即一条机器指令由对应一个微程序。
1.3.模型机的逻辑框图简单的模型计算机是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器,启停、时序单元、总线和存储器单元组成。
在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU 的加、减、与、或指令。
把通用寄存器作为累加器A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。
运算器由2片74L181构成8位字长的ALU单元。
2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。
数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,那来自数据总线的数据打入锁存器DR1。
同样使EDR2为低电平、D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。
整机的逻辑框图如下:2.指令系统及其指令格式2.1指令系统MOV A , #10 ; //将立即数10传送到累加器A中MOV R0, #20 ; //将立即数20传送到寄存器R0中ADD A, R0 ; //将累加器A和寄存器R0中的内容相加,结果送入累加器A中MOV R1, #10 ; //将立即数10传送到寄存器R1中SUB A, R1 ; //将累加器A中的内容减去寄存器R1中的内容,结果送入累加器A;STA 10 ; //A->RAMHALT ; //停机2.2指令格式一般指令由操作码和操作码组成,如下所示:计算机操作数寻址方式及其编码的格式如下:1、直接寻址方式:如双字节指令STA addr (A)->addr第1字节操作码第2字节操作地址addr2、寄存器直接寻址:指令字节中含有寄存器选择码,决定选哪个寄存器进行操作。
如:单字节指令MOV A,Rj (Ri)->AMOV指令采用单字节指令,其格式如下:单字节操作码与Ri选择码如:双字节指令MOV Ri, #data data->Ri第1字节操作码及Ri选择码第2字节data3、寄存器间接寻址如:单字节指令:MOV A,@Ri (Ri)->ARi选择码操作码4、立即数寻址如:MOV A, #data data->A MOV Ri, #data data->Ri第1字节操作码及Ri选择码第2字节data3.微程序的设计及其实现的方法3.1微程序入口地址的形成在本实验平台的硬件设计是采用的24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可由微代码直接实现。
若采用多组编码译码,那么24位的微代码通过二进制译码可实现2n个互斥的微操作控制信号。
由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。
在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD7。
这种方法称为“按操作码散转”(如下表所示)。
按操作码散转此次实验程序中的微程序指令如下表:3.2微指令格式的设计一条微指令的一般格式是如下图:3.3后续微地址的产生方法由于本系统中指令系统规模不大,功能较简单,微指令采用全水平、不编码的方式,每一个微操作控制信号由一位微代码来表示,24位微代码至少可表示24个不同的微操作控制信号。
用增量方式来控制微代码的运行顺序,每一条指令的微程序连续存放在微指令存储器连续的单元中。
在本系统内,MLD为置微地址的控制信号,MCK为工作脉冲。
当MLD=0、MCK有上沿时,把MD0~MD7的值作为微程序的地址,打入微地址寄存器。
当MLD=1、MCK有上升沿时,微地址计数器自动加1。
由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。
为了更好地观察实验的各个中间过程中各寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生。
PLS-O信号经过时序单元的处理产生了4个脉冲信号。
4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。
PLS1:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。
PLS2:PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC 计数器(如跳转指令)等功能。
PLS3:把24位微指令打入3片微指令锁存器PLS4:把当前总线上的数据打入微指令选通的寄存器3.4此次实验每条指令的执行流程如下:4. 源程序,程序的指令代码及微程序4.1源程序MOV A,#10MOV R0,#20ADD A,R0MOV R1,#10SUB A,R1MOV R1,ASTA 10HALT4.2程序的指令代码4.3微程序MOV A,#10: 0000[4D],[FF],[FF] 取指指令0017[DD],[FB],[FF] Dbus→A MOV R0,#20 0036[4D],[FE],[FF] 取指指令0013[FF],[BD],[FF] A→Dbus→RIADD A,R0: 001C[4D],[FF],[FF] 取指指令0037[FF][FC][FB] A→Dbus→DR10038[DD][FF][7B] RAM→Dbus→DR20039[FF][FB][BB] ALU→AMOV R1,#10: 003A[4D][FF][FF] 取指指令0013[FF][BD][FF] A→Dbus→RISUB A,R1: 001C[4D],[FF],[FF] 取指指令0037[FF][FC][FB] A→Dbus→DR10038[DD][FF][7B] RAM→Dbus→DR20039[FF][FB][BB] ALU→ASTA 10 : 0014[4D][FF][FF] 取指指令0023[D5][FF][FF] Dbus→IR20024[BB][FD][FF] IR2→Dbus; A→Dbus→RAM HALT : 0025[4D][FF][FF] 取指指令0003F[FF][DF][FF] 停机4.4程序的运行调试首先启动HKCPT软件,打开主窗口.在代码窗口输入汇编源程序,然后单步运行,微单步运行过程如下表格所示:4.总结4.1 设计体会通过近一个星期的课程设计,结果设计出来了这么一个看似很一般的指令系统。