计算机硬件课程设计报告(cpu设计)

合集下载

计算机硬件课程设计报告(cpu设计)

计算机硬件课程设计报告(cpu设计)

计算机硬件课程设计设计报告学号: 姓名:成绩:学号: 姓名:成绩:东南大学计算机科学与工程系二0 10 年11 月一、设计名称:My CPU的设计二、本设计的主要特色:1、熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。

2、掌握半导体静态存储器的存取方法。

三、设计方案:1. 数据格式——8位二进制定点表示2. 指令系统——CPU的指令格式尽量简单规整,这样在硬件上更加容易实现。

7条基本指令:输入/输出,数据传送,运算,程序控制。

指令格式:Array7 6 5 4 3 2 1 0两种寻址方式:寄存器寻址Array7 6 5 4 3 2 1 0直接地址寻址,由于地址要占用一个字节,所以为双字节指令。

7条机器指令:IN R目:从开关输入数据到指定的寄存器R目。

OUT R源:从指定的寄存器R源中读取数据送入到输出缓冲寄存器,显示灯亮。

ADD R目,R源:将两个寄存器的数据相加,结果送到R目。

JMP address : 无条件转移指令。

HALT : 停机指令。

LD R目,address : 从内存指定单元中取出数据,送到指定寄存器R 目。

ST address , R 源: 从指定的寄存器R源中取出数据,存入内存指定单元。

Address(内存地址)3. CPU内部结构4.数据通路设计根据指令系统,分析出数据通路中应包括寄存器组、存储器、运算器、多路转换器等,采用单总线结构。

通用寄存器组:运算器:存储器:多路转换器:输出缓冲器:5.控制器设计控制通路负责整个CPU的运行控制,主要由控制单元和多路选择器MUX 完成。

在每一个时钟周期的上升沿指令寄存器IR 从内存中读取指令字后,控制单元必须能够根据操作码,为每个功能单元产生相应主控制信号,以及对ALU 提供控制信号。

对于不同的指令,同一个功能单元的输入不同,需要多路选择器MUX 来对数据通路中功能单元的输入进行选择。

程序计数器PC:指令寄存器IR:指令译码电路:脉冲源及起停控制线路:时序信号产生部件:Sequence1内部电路:四、完成的任务1、补充了译码电路;2、修改了时序电路,满足教材要求;3、编写指令的微程序;指令的微程序lodpc (1000 0000):C00100 310080送数(1100 0000):30C000 C00400 010080取值公操作(0000 0000):30C000 002000IN (0001 0000):C00200 111080OUT (0010 0000):110880LD (0011 0000):30C000 008000 001200 111080 ST (0100 0000):30C000 008000 110C080ADD (0101 0000):181000 160800 400200 111080 JMP (0110 0000): 30C000 000100 310080HALT (0111 0000):0000404、建立RAM.mif中的内容;RAM中内容简要介绍:地址指令E0 IN R0//向R0里放入数据20E1 LD //从指定存储单元30取出数据03放到R1中E3 OUT //将R1中的数据输出出来E4 ADD R0,R1//将R0和R1相加结果放入到R0中E5 OUT //把相加结果23输出E6 JMP //跳转到F0F0 ST //将R0里的数据存入指定单元20中F2 LD //将20中的数据取出放入R3中F4 OUT //将R3中的数据取出F5 HALT //停机指令5、测试结果与性能分析。

计算机组成原理课程设计--用硬件描述语言设计CPU

计算机组成原理课程设计--用硬件描述语言设计CPU

用硬件描述语言设计CPU摘要本次设计完全用verilog硬件描述语言编写微处理器的各个部件,在顶层文件里将各个部件连接起来,形成一个简单的微处理器,加上一些外围模块来实现一些功能。

本次设计在合理性与实用性上没有考虑。

只为了达到技术指标,从原理上完成一个简单的cpu设计。

关键字:verilog,微处理器,CPU设计1Design CPU In Hardware Description LanguageAbstractThe design completely microprocessor verilog hardware description language in all parts, the top file in the various components connected together to form a simple microprocessor, plus some peripheral modules to achieve some functionality. The design does not have a reasonable and practical considerations. Only to achieve technical indicators, from the principles of the cpu to complete a simplecpu design.Key Words:verilog, microprocessor, CPU design目录2第1章设计任务和技术指标 (5)第2章简单介绍 (6)2.1微处理器硬件系统及原理 (6)2.1.1内部组成 (6)2.1.2外围模块 (8)2.2处理器指令系统及功能 (8)第3章各模块的设计及实现 (9)3.1时钟发生器的设计及实现 (9)3.2程序计数器的设计及实现 (12)3.3指令寄存器的设计及实现 (13)3.4运算器的设计及实现 (14)3.5累加器的设计及实现 (16)3.6地址选择器的设计及实现 (17)3.7数据选择器的设计及实现 (17)3.8控制器的设计及实现 (18)3.9 ROM的设计及实现 (25)3.10 RAM的设计及实现 (26)第4章CPU的测试 (27)4.1乘法测试 (29)4.2除法测试 (29)4.3减1测试 (29)4.4加、减1测试 (30)4.5测试结果 (30)第5章总结 (33)第6章参考文献 (34)3第1章设计任务和技术指标运用在“数字电路与逻辑设计”课程中学过的基本理论知识,设计并用可编程逻辑器件实现一个简单的八位操作数的微处理器。

CPU设计报告

CPU设计报告

32位CPU本CPU是32位CPU,具有32个通用寄存器,指令包括算术加减,与或非,逻辑比较,无条件跳转以及条件跳转,内存加载与存储,体系结构属于RISC体系结构。

内部结构如下,具有两条5级的并行流水线A和B,在A中内嵌有一个执行16周期的串行乘法器,能够执行两个16位无符号数乘法运算,能够响应外部中断并执行相应中断服务程序和中断返回。

软件指令方面,扩展了指令集,所有算术指令和逻辑指令都支持第二个操作数为立即数。

跳转指令除了能够跳到一个立即数表示的偏移地址外,还能够跳转到某个寄存器里面的地址。

硬件整体结构如下:下面将仔细说明各个模块的功能:数据通路整体说明:取数:指令预取于发送部件将指令发送到取数部件,取数部件根据译码结果以及前向数据通道给出的信号决定是取立即数,寄存器堆输出或者前向数据通道给出的数据。

执行:取数完成后,在下一个周期流到执行部件,算术和逻辑运算指令通过ALU 得到结果,访存指令读或写内存,跳转指令算出新的PC 地址,乘法指令将被乘数和乘数打入到乘法器的两个输入寄存器。

写回:执行完成后,在下一个时钟上升沿将结果以及本级IR 和ID 送往写回部件,写回部件将要写的寄存器号和写使能信号送往寄存器堆,在下一个时钟上升沿将数据写入寄存器堆。

A流水线 B流水线指令的预取与发送:(”IRLoader.v”):输入数据与控制信号:输出数据:功能:自动加载程序PC,LdPc有效时,给出的是两条空指令。

若Read1或Read2无效,则送往A或B的是空指令。

同时自动将乘法指令送往A流水线,将访存和跳转指令送往B 流水线。

内部核心部件:8个寄存器的指令队列,同时在某个3位的数据InsAdr标志最后一条指令在队列中地址。

另外一个Flag[7:0]标志当前要写的寄存器,高电平有效。

每次根据发送指令的条数和从内存中读取得条数(2)来决定InsAdr的改变(可以改变-2,-1,0,1,2)。

在加载新PC的同时将队列清空,另外,只有当队列中指令数目〉=2才能读取地址是否加8【译码器】-“INS_DECODER.v”输入为6位指令操作码INS_OP[5:0],输出有指令译码ID[15:0]、ALU操作码ALU_OP[3:0]、寄存器或立即数标志RI。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。

本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。

二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(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、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。

单周期cpu课程设计

单周期cpu课程设计

单周期cpu课程设计一、课程目标知识目标:1. 学生能理解单周期CPU的工作原理,掌握其内部结构及功能。

2. 学生能描述单周期CPU的指令执行过程,包括取指、译码、执行、访存、写回等阶段。

3. 学生能解释单周期CPU中时钟、指令和数据的关系,并分析其性能特点。

技能目标:1. 学生能运用所学知识,设计并实现一个简单的单周期CPU。

2. 学生能运用仿真软件对单周期CPU进行功能仿真,验证其正确性。

3. 学生能通过课程学习,培养自己的逻辑思维和问题解决能力。

情感态度价值观目标:1. 学生能对计算机硬件及CPU产生兴趣,激发学习热情。

2. 学生能认识到CPU在计算机系统中的核心地位,增强对计算机科学的尊重和热爱。

3. 学生能在团队协作中发挥积极作用,培养合作精神和沟通能力。

课程性质:本课程为计算机科学与技术专业核心课程,旨在让学生了解CPU的基本原理,掌握单周期CPU的设计方法。

学生特点:学生已经具备一定的数字逻辑电路基础,具有一定的编程能力和逻辑思维能力。

教学要求:结合学生特点,注重理论与实践相结合,引导学生通过课程学习,达到课程目标所规定的知识、技能和情感态度价值观要求。

在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养其独立思考和解决问题的能力。

通过课程目标的分解,确保教学设计和评估的针对性和有效性。

二、教学内容1. 单周期CPU概述:介绍CPU的发展历程,单周期CPU的概念及其在计算机系统中的作用。

教材章节:第1章 计算机系统概述2. 单周期CPU内部结构:讲解CPU的内部组成部分,包括控制单元、算术逻辑单元(ALU)、寄存器组、程序计数器等。

教材章节:第2章 CPU内部结构3. 指令集与指令执行过程:分析指令集的设计,讲解单周期CPU指令执行过程中各阶段的任务和实现方法。

教材章节:第3章 指令集与指令执行4. 时序控制与性能分析:探讨时钟、指令和数据的关系,分析单周期CPU的性能特点。

教材章节:第4章 时序控制与性能分析5. 单周期CPU设计方法:介绍设计单周期CPU的步骤,包括电路设计、指令集设计、时序控制等。

硬件课程设计报告

硬件课程设计报告

硬件课程设计报告一、课程目标知识目标:1. 让学生掌握硬件基础知识,包括计算机硬件的基本组成、功能及工作原理。

2. 使学生了解各类硬件设备的发展历程、技术特点及未来发展趋势。

3. 帮助学生理解硬件与软件之间的相互关系,提高系统优化的能力。

技能目标:1. 培养学生运用所学硬件知识进行计算机组装、维护和故障排除的能力。

2. 提高学生运用硬件知识解决实际问题的能力,如根据需求选择合适的硬件配置、评估硬件性能等。

3. 培养学生的团队协作能力和动手实践能力,通过小组合作完成硬件课程项目。

情感态度价值观目标:1. 培养学生对计算机硬件的兴趣和热情,激发他们探索硬件领域新知识的欲望。

2. 增强学生的环保意识,让他们认识到硬件设备在环保方面的责任和担当。

3. 培养学生的创新精神和勇于挑战的精神,鼓励他们在硬件领域不断尝试和突破。

课程性质:本课程为实践性较强的学科,注重理论联系实际,强调学生的动手实践能力。

学生特点:学生处于好奇心强、求知欲旺盛的年级,具备一定的计算机操作基础,但对硬件知识了解有限。

教学要求:结合学生特点,注重启发式教学,以案例导入、小组讨论、实践操作等形式,激发学生的学习兴趣,提高他们的实践能力。

同时,注重分层教学,满足不同层次学生的学习需求。

通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程打下坚实基础。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 计算机硬件概述:介绍计算机硬件的基本组成、发展历程及各类硬件设备的功能。

- 教材章节:第1章 计算机硬件基础- 内容列举:CPU、主板、内存、硬盘、显卡等硬件设备的基本概念和作用。

2. 计算机硬件工作原理:剖析计算机硬件各部件的工作原理及相互协作关系。

- 教材章节:第2章 计算机硬件工作原理- 内容列举:CPU的工作原理、内存管理、总线系统、输入输出系统等。

3. 硬件设备选购与组装:教授如何根据需求选择合适的硬件配置,以及计算机组装的方法。

计算机原理cpu课程设计

计算机原理cpu课程设计

计算机原理 cpu课程设计一、教学目标本节课的教学目标是让学生了解和掌握计算机CPU的基本原理和组成结构,包括中央处理器(CPU)的功能、架构、工作原理及其在计算机系统中的重要性。

知识目标要求学生能够描述CPU的主要组成部分,如控制单元、算术逻辑单元(ALU)、寄存器等,并理解它们的作用。

技能目标则要求学生能够通过实验或模拟软件,观察和分析CPU的工作过程,提升学生的实际操作能力和问题解决能力。

情感态度价值观目标则是培养学生对计算机科学的好奇心和探索精神,增强学生对技术进步的认同感,同时培养学生的团队合作意识。

二、教学内容本节课的教学内容将围绕CPU的原理与结构展开。

首先,介绍CPU在计算机系统中的核心地位及其重要性。

接着,详细讲解CPU的组成,包括控制单元、ALU、寄存器等关键部件的功能和作用。

然后,通过实例分析CPU的工作流程,即 fetch-decode-execute 循环,让学生理解指令的执行过程。

最后,讨论CPU性能指标,如时钟频率、指令周期、流水线技术等,并介绍多核处理器的基本概念。

三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行教学。

首先,采用讲授法向学生介绍CPU的基本概念和原理。

其次,通过案例分析法,分析具体的CPU工作实例,让学生更直观地理解CPU的工作过程。

再次,利用实验法,让学生在实验室中实际操作CPU模拟软件,亲身体验CPU的工作原理。

最后,课堂讨论,鼓励学生提出问题、分享心得,以提高学生的主动性和参与度。

四、教学资源为了支持教学,将准备丰富的教学资源。

主要教材为《计算机组成原理》,辅助教材包括《计算机科学概论》等。

参考书籍将提供更深入的理论知识,如《深入理解计算机系统》。

多媒体资料将包括教学PPT、视频动画等,以形象直观的方式展示CPU的工作原理。

实验设备包括CPU模拟器软件和必要的计算机硬件,供学生进行实验操作,增强实践体验。

五、教学评估为了全面、客观地评估学生的学习成果,将采用多种评估方式。

计算机硬件课程设计报告(模板)

计算机硬件课程设计报告(模板)

计算机硬件课程设计报告(模板)计算机硬件课程设计报告(模板)计算机硬件课程设计设计报告学号:姓名:成果:学号:姓名:成果:东南高校计算机科学与工程系二0年月一、设计名称:二、本设计的主要特色:三、设计方案:1.数据格式和指令系统2.本设计的体系结构3.各部件的设计与特色(包括掌握器、运算器、译码电路等设计思路及电路)四、测试结果与性能分析(测试程序、时序图、编译报告中资源使用状况)五、课程设计总结(包括设计的总结和需要改进之处及体会)老师评语:老师签字:日期:注:本设计报告中各个部分假如页数不够,请大家自行扩页,原则是肯定要把报告写具体,能说明本组设计的成果和特色,能够反应每个人的工作。

报告中应当叙述设计中的每个模块。

设计报告将是评定每个人成果的一个重要组成部分。

扩展阅读:计算机硬件课程设计报告模板计算机硬件课程设计设计报告学号:09011433姓名:李文康成果:学号:姓名:成果:东南高校计算机科学与工程系二0年月一、设计名称:二、本设计的主要特色:三、设计方案:1.数据格式和指令系统2.本设计的体系结构3.各部件的设计与特色(包括掌握器、运算器、译码电路等设计思路及电路)四、测试结果与性能分析(测试程序、时序图、编译报告中资源使用状况)测试程序:Memory.mifDEPTH=256;WIDTH=8;ADDRESS_RADIX=HEX;DATA_RADIX=HEX;CONTENTBEGIN00:30;01:10;02:34;03:11;04:51;05:20;06:40;07:16;08:60;09:12;10:09;11:06;12:91;13:20;14 :70;END;CM.mifDEPTH=256;WIDTH=24;ADDRESS_RADIX=HEX;DATA_RADIX=HEX;CONTENTBEGIN00:30C000;01:00201*;10:C00200;11:111080;20:110880;30:308000;31:008000;32:005280;40:308000;41:008000;42:104C80;50:181001;51:140801;52:0201*1;53:401281;60:308000;61:004100;62:000080;70:0003C0;80:C04100;81:310080;90:181000;91:140800;92:0201*0;93:401280;C0:308000;C1:C04400;C2:010080;END;时序图:ALUbi74161bi74640DataPathSequenceStartuAddrGenuControlerWaveform编译报告中资源使用状况:五、课程设计总结(包括设计的总结和需要改进之处及体会)老师评语:老师签字:日期:注:本设计报告中各个部分假如页数不够,请大家自行扩页,原则是肯定要把报告写具体,能说明本组设计的成果和特色,能够反应每个人的工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机硬件课程设计
设计报告
学号: 姓名:成绩:
学号: 姓名:成绩:
东南大学计算机科学与工程系
二0 10 年11 月
一、设计名称:
My CPU的设计
二、本设计的主要特色:
1、熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。

2、掌握半导体静态存储器的存取方法。

三、设计方案:
1. 数据格式——8位二进制定点表示
2. 指令系统——CPU的指令格式尽量简单规整,这样在硬件上更加容易实现。

7条基本指令:输入/输出,数据传送,运算,程序控制。

指令格式:Array
7 6 5 4 3 2 1 0
两种寻址方式:
寄存器寻址Array
7 6 5 4 3 2 1 0
直接地址寻址,由于地址要占用一个字节,所以为双字节指令。

7条机器指令:
IN R目:从开关输入数据到指定的寄存器R目。

OUT R源:从指定的寄存器R源中读取数据送入到输出缓冲寄存器,显示灯亮。

ADD R目,R源:将两个寄存器的数据相加,结果送到R目。

JMP address : 无条件转移指令。

HALT : 停机指令。

LD R目,address : 从内存指定单元中取出数据,送到指定寄存器R 目。

ST address , R 源: 从指定的寄存器R源中取出数据,存入内存指定单元。

Address(内存地址)
3. CPU内部结构
4.数据通路设计
根据指令系统,分析出数据通路中应包括寄存器组、存储器、运算器、多路转换器等,采用单总线结构。

通用寄存器组:
运算器:
存储器:
多路转换器:
输出缓冲器:
5.控制器设计
控制通路负责整个CPU的运行控制,主要由控制单元和多路选择器MUX 完成。

在每一个时钟周期的上升沿指令寄存器IR 从内存中读取指令字后,控制单元必须能够根据操作码,为每个功能单元产生相应主控制信号,以及对ALU 提供控制信号。

对于不同的指令,同一个功能单元的输入不同,需要多路选择器MUX 来对数据通路中功能单元的输入进行选择。

程序计数器PC:指令寄存器IR:指令译码电路:
脉冲源及起停控制线路:
时序信号产生部件:
Sequence1内部电路:
四、完成的任务
1、补充了译码电路;
2、修改了时序电路,满足教材要求;
3、编写指令的微程序;
指令的微程序
lodpc (1000 0000):C00100 310080
送数(1100 0000):30C000 C00400 010080
取值公操作(0000 0000):30C000 002000
IN (0001 0000):C00200 111080
OUT (0010 0000):110880
LD (0011 0000):30C000 008000 001200 111080 ST (0100 0000):30C000 008000 110C080
ADD (0101 0000):181000 160800 400200 111080 JMP (0110 0000): 30C000 000100 310080
HALT (0111 0000):000040
4、建立RAM.mif中的内容;
RAM中内容简要介绍:
地址指令
E0 IN R0//向R0里放入数据20
E1 LD //从指定存储单元30取出数据03放到R1中E3 OUT //将R1中的数据输出出来
E4 ADD R0,R1//将R0和R1相加结果放入到R0中E5 OUT //把相加结果23输出
E6 JMP //跳转到F0
F0 ST //将R0里的数据存入指定单元20中
F2 LD //将20中的数据取出放入R3中
F4 OUT //将R3中的数据取出
F5 HALT //停机指令
5、测试结果与性能分析。

M1,M2,M3,M4的波形:
整体仿真波形:
五、课程设计总结
实验分工:XX负责波形仿真及电路图的后期修改、RAM程序设计,以及实验报告中RAM程序的介绍和总结。

XX和OO共同负责时序电路的修改、译码电路的设计和指令的微程序。

OO负责实验报告的原理分析和各种贴图。

这次的实验一开始就有很多的困难。

实验初期分析电路图就费了很大的功夫,查看各种资料了解各元件的原理和性能。

因为只有理清了电路才能按照电路来写指令的微程序。

但是写好了为程序在后期的仿真中还是会出现不少的问题,到时候还要回都修改微程序。

在修改电路图的时候由于对Quartus II软件并不是很熟悉,浪费了很多的时间。

例如,sequence1的内部电路修改了以后要用新的sequence1原件代替旧的,都不知道该怎么做。

都是自己一点点试出来的。

另外,因为比较依赖书上给的电路图并没有怀疑书上的电路图会有错,所以在仿真出的波形不对是一直是在检查自己指令的微程序有没有出错。

仔细看了波形图后发现三个74238寄存器和1to8接的顺序是错的。

还有就是要给ram和rom都接时钟。

经过一个月的努力我们完成了mycpu设计的基本要求。

虽然比起有些同学的设计我们的功能显得很单薄,但我们也是靠着自己的力量做出来了。

在发现和解决问题的过程中,我们考虑问题也变得更加的全面和仔细,还有就是提高了我们的逻辑思维能力,特别是遇到问题
锲而不舍的精神,因为有的时候一个很简单的错要反复试验花一两个小时才能改出来。

总的来说,在完成实验的过程中。

我们的知识得到了丰富,能力也得到了锻炼。

同时也为我们大四的毕业设计奠定了基础。

教师评语:
教师签字:
日期:。

相关文档
最新文档