QuartusⅡ平台上的计算机模型机设计与实现

需积分: 9 14 下载量 90 浏览量 更新于2024-08-01 收藏 1013KB DOC 举报
"CPU系统 计算机原理" 在计算机科学中,CPU(中央处理器)是计算机的核心组件,负责执行指令和控制整个系统的操作。本课程设计的目标是通过实际操作来深化对计算机原理的理解,特别是在QuartusⅡ开发平台上设计一个完整的计算机系统模型。这个模型机应该具备以下功能: 1. **总体结构设计**:构建计算机的整机系统模型,包括各个主要组成部分,如控制器、运算器、存储器和输入/输出设备。 2. **数据通路和控制信号设计**:设计数据通路,它是CPU内部数据流动的路径,包括数据的传输、处理和存储。同时,设计控制信号,即微命令,用于协调CPU各部分的操作。 3. **指令系统设计**:定义模型机的指令集,包括各种数据移动、算术和逻辑操作等基本指令。 4. **指令流程和微操作命令**:为每条指令制定详细的执行流程,以及相应的微操作命令序列,这些命令将指导CPU如何执行指令。 5. **控制部件设计**:创建一个控制部件,它能根据时序系统的配合,产生必要的微操作命令,使得计算机能够自动运行存储在主存(RAM)中的程序。 6. **运行测试**:确保模型机在启动后能够稳定工作,连续执行RAM中的程序。 7. **验证设计**:通过检查程序运行时的波形图,验证设计的正确性和功能完整性。 在设计过程中,涉及到了一系列具体的硬件组件,例如: - **时序发生器(TIMER)**:产生定时脉冲,用于同步整个系统的操作。 - **寄存器组(REG)**:存储临时数据或指令地址,这里包括四个16位寄存器。 - **总线暂存器(D)**:在总线传输数据时提供缓冲,支持循环移位功能。 - **算术逻辑单元(ALU)**:执行算术和逻辑运算,此处为16位。 - **程序计数器(PC)**:保存下一条要执行的指令地址,8位宽。 - **存储器(RAM)**:存储数据和程序,8位地址,16位数据宽度。 - **微程序控制部件**:包含指令寄存器(IR)、微程序计数器(uPC)、控存(CM)和微指令寄存器(vIR),用于实现复杂的控制逻辑。 此外,还列举了一些基本的指令操作码助记符和它们的功能,例如`MOV`用于数据转移,`ADD`用于执行加法运算。这些指令构成了模型机的基本指令集,它们的机器操作码和功能描述了模型机的计算能力。 通过这样的课程设计,学生可以深入理解计算机硬件的工作原理,提高硬件设计技能,并学习如何将理论知识应用到实际项目中。
2019-05-03 上传
一、 设计目标 设计目的: 设计一个含有36条指令的MIPS单周期处理器,并能将指令准确的执行并烧写到试验箱上来验证 设计初衷 1、理解MIPS指令结构,理解MIPS指令集中常用指令的功能和编码,学会对这些指令进行归纳分类。 2、了解熟悉MIPS体系中的处理器结构 3、熟悉并掌握单周期处理器CPU的原理和设计 4、进一步加强Verilog语言进行电路设计的能力 二、实验设备 1、装有xilinx ISE的计算机一台 2、LS-CPU-EXB-002教学系统实验箱一台 三、实验任务 1.、学习 MIPS 指令集,深入理解常用指令的功能和编码,并进行归纳确定处理器各部件的控制码,比如使用何种 ALU 运算,是否写寄存器堆等。 2、单周期 CPU 是指一条指令的所有操作在一个时钟周期内执行完。设计中所有寄存器和存储器都是异步读同步写的,即读出数据不需要时钟控制,但写入数据需时钟控制。 故单周期 CPU 的运作即:在一个时钟周期内,根据 PC 值从指令 ROM 中读出相应的指令,将指令译码后从寄存器堆中读出需要的操作数,送往 ALU 模块,ALU 模块运算得到结果。 如果是 store 指令,则 ALU 运算结果为数据存储的地址,就向数据 RAM 发出写请求,在下一个时钟上升沿真正写入到数据存储器。 如果是 load 指令,则 ALU 运算结果为数据存储的地址,根据该值从数据存 RAM 中读出数据,送往寄存器堆根据目的寄存器发出写请求,在下一个时钟上升沿真正写入到寄存器堆中。 如果非 load/store 操作,若有写寄存器堆的操作,则直接将 ALU 运算结果送往寄存器堆根据目的寄存器发出写请求,在下一个时钟上升沿真正写入到寄存器堆中。 如果是分支跳转指令,则是需要将结果写入到 pc 寄存器中的。