当前位置:   article > 正文

利用FPGA实现简单的CPU_fpga实现cpu

fpga实现cpu

微处理器结构简介

根据处理器体系结构的不同,可分为冯·诺依曼结构和哈佛结构两种。冯·诺依曼型的处理器以存器程序原理为基础,将程序和数据混合存放在单一存储器中,并使用单一处理部件按“取指-分析-执行”的步骤顺序执行指令,因此该结构中指令宽度和数据宽度相同。串行性作为冯·诺依曼型处理器的本质特点,主要表现在两个方面:执行指令的串行性和存储器读取的串行性。具体结构如下图所示:

哈佛结构处理器是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度。具体结构如下图所示:

与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:

1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

2、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

 指令集介绍

由于指令结构不同,CPU可分为RISC和CISC两种。RISC即精简指令集计算机(Reduced Instruction Set Computer)的缩写。它是一种八十年代才出现的CPU,与一般的CPU相比不仅只是简化了指令系统,而且是通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。从实现的途径看,RISC_CPU与一般的CPU的不同处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做省去了读取微指令的时间。

复杂指令集计算机(Complex Instruction Set Computer,CISC),早期的计算机部件比较昂贵,主频低,运算速度慢。为了提高运算速度人们不得不将越来越多的复杂指令加入到指令系统中,以提高计算机的处理效率,这就逐步形成复杂指令集计算机体系。为了在有限的指令长度内实现更多的指令,人们又设计了操作码扩展。然后为了达到操作码扩展的先决条件——减少地址码设计师又发现了各种寻址方式,如基址寻址、相对寻址等以最大限度地压缩地址长度,为操作码留出空间。CISC可以有效的减少编译代码中指令的数目,使得取指令操作所需内存访问数量达到最小化。此外CISC可以简化编译器结构。

RISC和CISC是目前设计制造微处理器的两种典型技术,虽然都是试图在体系结构、操作运行、软件硬件、编译时间以及运行时间等诸多因素中达到某种平衡,以求达到高效目的,但是采用的方法不同,在很多方面依旧存在较大差异,本CPU选择采用RISC_CPU主要原因如下:

  1. 指令系统:RISC专注于常用指令的设计上,使得常用指令具有简单高效的特点,在处理日常任务时相较于CISC更优秀。
  2. 中断:RISC_CPU能在指令执行到适当地方则进行响应中断,而CISC则需要等待指令执行结束才能响应中断。
  3. 设计周期:RISC微处理器结构相较于CISC结构简单,布局紧凑,设计周期更短,容易结合最新技术。

使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用。

CPU总体架构设计

本次设计的CPU为冯.诺依曼结构,使用了16位精简指令集,内部的数据路径、寄存器、地址均是16位,对存储器可以寻址64M的存储空间。对于IO口可以寻址2的八次方的存储空间,具体结构如下图所示

数据通路设计为:

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/628643
推荐阅读
相关标签
  

闽ICP备14008679号