LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: markus at reaaliaika.net<markus@r...>
    Date: Mon Aug 16 15:35:30 CEST 2004
    Subject: [oc] Parallel Array Processor Project
    Top
    > > That's why I have borrowed many things from VHDL to my HLL.
    > >
    > Why yet a new langage ?

    There's not many programming languages, which support low-level, fine-
    grained parallelism. Many of them are hard to be used for general
    purpose programming (e.g. APL) or they are based on sequential
    constructions (LISP, Prolog). The most usable programming languages
    are sequential (C, Pascal and alikes).

    [MatrioshkaBrains]
    > > > I think the best model is a PC cluster. Every node contain
    > > > memory
    > > > and is linked to the closest other cell. Then the routing
    > > > algorithm could be fractal like.
    > >
    > > Well, my design principles are:
    > >
    > > * Every node contain a memory - at least one single 8-bit
    > > result and an instruction.
    >
    > If it's lsome tiny cpu programmed like macro-cell of FPGA are, it
    > must also contain all the memory code.

    The array itself contains the code - a single cell contains only the
    instruction it will execute, when fired.

    > > * Neighborhood connection: The ways to route data to distant
    > > cells is up to the software.
    >
    > So local node decide the route to an other cell.

    Yes.

    > That's not the TCP/IP moto :/ The local node must be aware
    > of the topology of the local connection.

    Well, the local node need only to move data from it's input to it's result.
    With the software you construct more complex routing.

    > It could be really hard to make a fast routing.

    True. That's why I have thought of having hardware accelerators for
    special purposes, like long distance data transfers. But hardware
    acceleration solutions are not scalable and thus they can be applied
    only for specific size of the array. That's why the fundamental model
    doesn't contain them (they are used only for HW implementations).

    For real world implementation, I have thought of having a hierarchial
    structure of the array. That means, that at the bottom, there's a
    processor core executing the cell instructions. They form a larger unit,
    and connecting these larger units you form even larger units.

    But I have somewhat covered those issues on my web site.

    > > The normal PC clusters are often topologically stars (central
    > > control) or
    > > full-connected (each node can contact any node in the
    > > cluster).
    >
    > http://aggregate.org/KLAT2/ describe an other topology much more
    > efficient and scalable.

    Well, yes, that's one possible hardware topology. In my design I'm still
    quite sceptic to use any other than neighborhood connections, for the
    reasons I described above.

    Follow upAuthor
    [oc] Parallel Array Processor ProjectNico

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.