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