
Implementation Philosophy
I've said elsewhere that the Flexible System Architecture
is a
Control Architecture,
primarily meant for use as a core in SOC and multicore systems.
This is meant to be a very quick overview of its use as such.
Imagine the dealer in a game of blackjack. The dealer has to pass
out cards to the players around the table, and also has to be
responsive to input from those players ("hit me"), which can
affect the order of the card distribution.
The FSA is obviously the dealer in this analogy. What makes
it different than the zillion other cores that are out there?
First, the FSA is
optimized to be the
fastest
dealer in the business.
One way to take advantage of its speed is to have a game with only
smart players. That is to say in a friendly game, the dealer might
offer some advice from time to time ("Should I stay on 16?"), but
this just slows down play while the dealer has to respond.
When the FSA is the 'dealer', the 'players' should definitely have
the primary responsibility for their own play.
To begin to stretch the blackjack analogy, it can also be said that
the FSA is also the dealer with
the most cards.
Within its instruction
set's addressing range, the architecture can pass to IP subsystems
a plethora of information over multiple paths. Again, it all comes
down to what a computer design is optimized for. Not only is the FSA
a Control Architecture, but the control is fast and ... dense.
Still, sometimes the dealer wants to be (or needs to be) a player.
When it has to make decisions and computations, the FSA is a full
featured computing engine with an ALU that has logic
functions beyond the ordinary,
meaning instructions can be saved compared to other instruction sets.
And, being a hierarchical multicore system, dealers can be players
in a pit boss's game, where the pit boss is simply another FSA
system. But now the blackjack analogy has gotten really stretched ...
One other thing I should mention is the inclusion of
Binary-Decision Based Programming (BD)
as part of the instruction set. BD is a kind of logic which can
quickly traverse a binary tree, useful in solving certain classes
of problems. It is a form of programming by which one can easily
create state machines. Two other pages on this site,
An Alternate Way to Code
and
Binary Decision Programming
explain it further.
Finally, and this may be merely an inventor's conceit, but the FSA is a
beautiful
architecture. Elegance may not always win in the marketplace,
but it is certainly more enjoyable to develop within.

GenAPro Sitemap
GenAPro Home