当前位置:   article > 正文

如何用计算机设计程序,用FPGA如何自己设计CPU和制作计算机.pdf

fpga可以做成cpu吗

FPGA如何自己设计CPU和制作计算机.pdf

用 FPGA 如何自己设计 CPU 和制作计算机

姜咏江

对外经济贸易大学信息学院

关键词:FPGA CPU设计 计算机制作

1 引子

两年前,在YOCSEF 举办的“反造假”誓师大会上,当我说出专家要自己设计制作计算机时,一位

老前辈当时就说:“不可能,我们根本没有条件!”其实,那个时候我已经自己设计制作出一台包括CPU

在内的教学计算机了(见图 1 )。在十几年前,要说个人设计制作一台计算机,那简直是天方夜谭,因为

工艺条件根本就不具备。如今的情况大不相同了,成熟的电子设计自动化 EDA 软件和可编程器件

CPLD/FPGA 出现,再加上PCB 设计方便的软件,一个个人能够设计制作计算机的时代已经到来了。现

在,个人完整设计制作单板机一类的计算机并不困难。只要你具备计算机的系统理论知识,学会PCB 电

路板设计制作方法,你就可以造出一台你所

需要的计算机!①

为了让更多的人能够迅速掌握用 FPGA

自己设计CPU 和制作计算机的方法,推动我

国计算机科学向深层次发展,本文特一般性

介绍一下设计需要掌握的基本知识和设计制

作计算机的一般过程。

2 计算机设计必要的知识

计算机确实是一个十分复杂的机器,你

想设计制造它,一定要有强烈的欲望。在这

个前提之下,一般要具备下面所说的一些知 图 1 用 FPGA 自制的计算机在运行

识。

2.1 计算机设计原理

懂得计算机的原理,特别是关于体系结构的原理和方法,这是能否设计制造出计算机的最基本条件。

计算机起源于四方面的基础理论:限位记数②、信息表示方法、逻辑代数和逻辑电路。在掌握这些

基础理论和方法的同时,要明确冯.诺依曼计算机设计的基本思想,理解好总线结构计算机信息交互的基

本形式,就可以自己设计计算机的部件,组织能够运行程序的体系结构了。

一般认为计算机体系结构的层次如图 2 所示,矩形右面的标注是对应层次的典型设备或内容。图中

最低的三层,由电子电路方面的专业技术解决,计算机设计者只要提出要求,明确那些物理器件的使用

方法即可,特别是集成电路技术如此发达的今天更是如此。自己设计CPU 和制作计算机,则必须理解好

上面的5 个层次中与设计直接相关的内容。

计算机是由运算器、存储器、控制器和输入输出设备构成的,这些设备直接涉及到数字电路、逻辑

电路、指令系统和外部设备的连接管理,如果要使计算机能够完成那些用户需要的任务,还必须熟悉程

序执行的方法设计。真正的计算机设计过程是从软件需求出发的,考虑计算机的整体设计,要从如下的

分析步骤来进行。

(1)运行任务程序的种类;

① 详细制作方法请参阅所列参考文献

②见参考文献[6]

-1-

(2 )需要哪些必要的程序支援;

(3 )实现程序设计需要哪些指令;

(4 )全部指令实现需要哪些信息结构和处理方式;

(5 )信息结构和处理方式的实现需要哪些必需的设备;

(6 )设备如何组织和关联;

(7 )低3 个层次的元器件支持。

在今天这个超大规模集成电路的CPLD/FPGA 非常发达的时期,许多模拟电路中复杂的设备都被制

成了体积很小的集成电路块,在进行计算机设计时,将这些器件按照需要拿来使用即可,基本上不用再

过多考虑模拟电路层、器件层和物理层的问题,这正是我们今天能够个人设计制作计算机的基础条件。

2.2 逻辑电路设计

逻辑电路设计是计算机所构成的5 大部件

设计的基础,因而要在懂得逻辑代数和逻辑电

路的基础上,熟练掌握电路描述的原理图和硬

件设计语言,熟悉常用器件和电路的结构和基

本功能。二进制的数字电路只能通过只有“0 ”

“1”逻辑值的逻辑电路实现,这是数值运算转

化为电子电路运算的基本途经。

2.2.1 用限位数设计运算器

实际上计算机中的数,到达物理器件一级,

只是那些易识别和控制的电子器件的有限位排

图 2 计算机体系结构的层次

列,因为这些电子器件容易识别两种对立的状

态,所以在数字电子计算机中才使用二进制。所有在计

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

闽ICP备14008679号