PASC-HLL : AN EXPERIENCE IN DESIGN TECHNIQUES FOR FIRMWARE AND THE SUPPORTING HARDWARE J.P. SCHOELLKOPF E.N.S.I.M.A.G. - B.P. - GRENOBLE Cedex - France SUMMARY ; PASC-HLL design started from a study of the highlevel language PASCALwhich allowed the definition of a special purpose intermediate language. A new mechanism for pipe-lined execution of polish strings using a FIFO queue instead of a push-down stack [1] made possible the design of a pipe-lined architecture bit-slice computer for high level language called PASC-HLL [2]. That computer consists in five special purpose microprogrammed processors, each being involved in a special function (instruction fetch, operand fetch, execution of operators, local storage management, and memory access). Design of those processors was made using techniques based on a top-down analysis, starting from the algorithms to be implemented, downto the supporting hardware which executes the intermediate firmware. In such a situation, the designer has to define both firmware (the microprogramming language) and hardware, knowing that only one microprogram must be written for implementing only one well-defined application. Given that five different processors must be designed, i t was important to define a methodology. I t was f i r s t chosen to use a unique family of bitslice components (AM 2900 family) and to build the architectures around them. These components bring a set of hardware functions and an associated set of firmware (the operations they are able to perform), and they define a basic architecture by their input/output structure. The above point is by i t s e l f important : one can design a special-purpose application around a basic architecture which provides a basic firmware. I t is generally necessary to extend the hardware possibilities to match the application requirements, by designing special pieces of hardware which, when initialized by the firmware, will automatically perform a special function, returning results back to either data or control part. Another important aspect of the top-down approach is the definition of a microprogramming language, since i t must be designed for programming only one microprogram. The hardware structure defines by i t s e l f a set of hardware fields representing the commands to the hardware elements. Analysis of those commands generally shows a great dependency between some of them. So only one firmware field can be sufficient to control several linked hardware fields. As an example, there is often a relation between a set of operations and a set of operands, all the possible combinations are not used, and the useful subset can be encoded on a small number of bits in only one firmware f i e l d , when encoded, selects both the operation and its associated operands. Top-down approach, when used for special purpose computer design [3], brings a simple technique by i t s e l f . When combined with the use of bit-slice components, i t can be a powerful design technique : the basic capabilities are well-known, and i t is easy to select a special purpose microprogramming language as a subset of all the possible combinations executed by the hardware elements.
/lp/association-for-computing-machinery/pasc-hll-an-experience-in-design-techniques-for-firmware-and-the-n6ebsaiH79