本实用新型专利技术公开了一种并行元胞自动机处理系统,包括主控制机和并行元胞自动机处理设备(通过FPGA开发板实现),并行元胞自动机处理设备包括FPGA芯片以及与FPGA芯片连接的外围设备;其中,FPGA芯片包括外围设备控制器以及通过Avalon总线连接的NiosII软核处理器和元胞自动机并行计算模块;NiosII软核处理器接收主控制机发送的待计算的数据,将待计算的数据发送给元胞自动机并行模块,并从元胞自动机并行计算模块中读取计算结果发送给主控制机。本实用新型专利技术可提高元胞自动机的模拟计算效率,显著提高模拟的速度,缩短实验周期,系统结构相对简单,成本较低。(*该技术在2022年保护过期,可自由使用*)
【技术实现步骤摘要】
本技术涉及元胞自动机,特别涉及一种并行元胞自动机处理系统。
技术介绍
兀胞自动机(CellularAutomata 或 Cellular Automaton,简称 CA)是 John VonNeumann提出的一种完全并行的计算模型(1950s)。CA模型包括一个由若干元胞构成的离散的元胞空间,每个元胞的状态由有限数量的信息位组成,在同一时钟驱动下,按照相同的局部演化规则,同步(并行)更新每个元胞的状态。一方面,CA模型具有通用计算性质,用自动机演化规则可以模拟任何计算流程(理论上可以模拟任何复杂的自然行为),另一方面,CA模型足够简单,它直接根据系统的微观作用机制设计局部演化规则来模拟复杂现象,因此,CA模型在物理、化学、生物和人工智能等问题研究中得到广泛的应用。·CA模型的实现是一项重要的实用技术,目前CA模型的大多数应用都是基于现代数字计算机,它不同于CA的体系结构,其设计思想基于Turing机理论(1936),是一种串行计算的数学模型。元胞自动机本身的并行性与现代数字计算机的串行体系结构是CA应用中的内在矛盾,这极大限制了 CA模型的计算效率。在CA模型的应用中,现代数字计算机普遍存在“10/90瓶颈”,即计算程序中10%的并行计算代码占用了 90%的执行时间。为了克服已有串行计算技术在实现CA模型上的缺点,利用CA模型本身具有的并行性,采用的并行计算技术有以下三种方式第一种方式是设计完全并行的CA计算机,例如T. Toffoli和M. H. Margolus开发出第一台通用元胞自动机计算机CAM-6 (1987),后来又将其发展为CAM-8 (1994-1999),它具有适用于CA模型的并行的、可扩展的体系结构,提供了相当于当时巨型计算机的计算能力。该方式硬件系统复杂,设计和实现的难度大、成本高,目前已较少使用。第二种方式是通过分布式集群系统或多核心的高性能计算机实现CA模型的并行计算,将元胞空间划分为多个计算的子区间,分发到集群系统的分布式计算终端或高性能计算机的计算核心上,采用并行编程环境提供的消息传递接口 MPI (Message PassingInterface)和并行虚拟机PVM (Parallel Virtual Machine)实现各子区间计算时的边界数据交换。该方式对软硬件环境要求较高,目前使用广泛,它在一定程度上实现了 CA模型的并行计算,但每一个子区间内部的计算仍然是串行的,并且当子区间数量较多时,有很大的通讯开销。第三种方式是采用中央处理器CPU (Central Processing Unit)与图形处理器GPU (Graphic Processing Unit)异构计算模型,利用计算统一设备架构CUDA (ComputeUnified Device Architecture)和开放运算语言 OpenCL (Open Computing Language)等编程框架来实现元胞自动机的并行计算,将空间数据单元(元胞)映射到GPU的线程计算单元(流处理器)上,通过共享存储单元获得邻域元胞的信息,即一个元胞对应一个计算线程实现元胞数据的并行计算。该方式并行度较高,但消耗大量系统资源,当元胞空间较大时无法满足计算要求。
技术实现思路
本技术要解决的技术问题针对现有元胞自动机模型的实现技术中存在的计算效率较低,速度较慢,实验周期较长,系统结构复杂,成本高的缺陷,提供一种可提高元胞自动机模拟的计算效率,显著提高模拟的速度,缩短实验周期,系统结构相对简单,成本较低的并行元胞自动机处理系统。本技术解决其技术问题所采用的技术方案是提供一种并行元胞自动机处理系统,包括主控制机和与该主控制机连接的并行元胞自动机处理设备,并行元胞自动机处理设备通过FPGA (Field-Programmable GateArray)开发板实现,包括FPGA芯片以及与FPGA芯片连接的外围设备;其中,FPGA芯片包括Nios II软核处理器、元胞自动机并行计算模块和外围设备控制器,外围设备控制器通过Avalon总线与Nios II软核处理器、元胞自动机并行计算模·块相连接;Nios II软核处理器接收主控制机发送的待计算的数据,将待计算的数据发送给元胞自动机并行计算模块,并从元胞自动机并行计算模块中读取计算结果发送给主控制机。本技术所述的并行元胞自动机处理系统中,外围设备包括USB (UniversalSerial Bus)接口芯片,与外围设备控制器和主控制机连接;外围设备还包括作为程序运行的存储区 SDRAM (Synchronous Dynamic Random Access Memory),保存运行程序的 Flash和存储FPGA配置文件的配置器件。本技术所述的并行元胞自动机处理系统中,元胞自动机并行计算模块包括控制模块、数据地址产生模块、流水线处理模块、并行计算模块和数据存储模块,控制模块又包括状态控制器和计算控制器。本技术所述的并行元胞自动机处理系统中,状态控制器包括状态机,状态机的输出信号控制数据存储模块和计算控制器的工作。本技术所述的并行元胞自动机处理系统中,数据存储模块包括4个双口 RAM存储器。实施本技术具有以下有益效果通过并行元胞自动机处理设备,既可以利用主控制机强大的逻辑处理能力进行人机交互,又利用FPGA的可编程能力实现不同应用的硬件计算加速,提高元胞自动机的模拟计算效率,利用FPGA芯片实现的元胞自动机处理设备具有很好的扩展性。附图说明下面将结合附图及实施例对本技术作进一步说明,附图中图I是本技术实施例的并行元胞自动机处理系统的结构示意图;图2是本技术实施例的并行元胞自动机处理系统中元胞自动机并行计算模块的原理框图;图3是本技术实施例的并行元胞自动机处理系统的元胞自动机并行计算模块的状态控制器的状态转移图;图4是本技术实施例的并行元胞自动机处理系统的元胞自动机并行计算模块的数据存储模块的数据映射图;图5是本技术实施例的并行元胞自动机处理系统的元胞自动机并行计算模块的计算控制器的工作流程图。具体实施方式为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。如图I所示,本技术实施例中,并行元胞自动机处理系统包括主控制机100和与该主控制机100连接的并行元胞自动机处理设备200,并行元胞自动机处理设备200通过现场可编程门阵列FPGA开发板实现,本技术实施例采用Terasic公司的DE2开发板,包括Altera公司的FPGA芯片210以及与FPGA芯片210连接的外围设备220 ;其中FPGA芯片210配置成包括一个Nios II软核处理器211、元胞自动机并行计算模块212和外围设备·控制器213的Nios II系统,其中外围设备控制器213通过Avalon总线214与Nios II软核处理器211、元胞自动机并行计算模块212相连接。Nios II软核处理器211接收主控制机100发送的待计算的数据,将待计算的数据发送给元胞自动机并行计算模块212,并从元胞自动机并行计算模块2本文档来自技高网...
【技术保护点】
一种并行元胞自动机处理系统,包括主控制机和与该主控制机连接的并行元胞自动机处理设备,并行元胞自动机处理设备通过FPGA开发板实现,其特征在于,并行元胞自动机处理设备包括FPGA芯片以及与FPGA芯片连接的外围设备;其中,FPGA芯片包括Nios?II软核处理器、元胞自动机并行计算模块和外围设备控制器,外围设备控制器通过Avalon总线与Nios?II软核处理器、元胞自动机并行计算模块相连接;Nios?II软核处理器接收主控制机发送的待计算的数据,将待计算的数据发送给元胞自动机并行计算模块,并从元胞自动机并行计算模块中读取计算结果发送给主控制机。
【技术特征摘要】
【专利技术属性】
技术研发人员:墙威,张良,曹蕙,
申请(专利权)人:中国地质大学武汉,
类型:实用新型
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。