MicA, a micro-programming language for Rapid-2

L. Winckel, D. Archambaud

IBP-Masi 1995/13: Rapport de Recherche Masi / Masi research reports
27 pages - Mai/May 1995 - Document en anglais.

PostScript : Ko /Kb

Titre / Title: MicA, a micro-programming language for Rapid-2


Résumé : Ce document donne les informations nécessaires à la bonne utilisation de MicA, le micro-assembleur fourni avec la carte Rapid-2. La première partie de ce papier introduit l'architecture sans nécessiter de connaissances architecturales particulières; la seconde partie peut être considérée comme un manuel d'utilisation à compulser pendant la rédaction des micro-programmes.
Rapid-2 est une carte accélératrice connectée à un ordinateur hôte. Sa puissance de calcul dû à un parallélisme massif permet l'accélération de certaines tâches comme la comparaison de séquences génétiques, la recherche dans les textes et les dictionnaires etc... L'application à accélérer doit être réécrite spécifiquement pour la carte, MicA est l'outil qui génère le code nécessaire à la carte à partir d'un source écrit dans une syntaxe proche de l'assembleur.
Les premières applications pour la carte Rapid ont été développées avec MicA, mais la méthode normale de conception des applications comprend l'utilisation de L1, le compilateur haut niveau dédié à Rapid-2. L1 compile un source dans une syntaxe proche du C et génère un source MicA, le programmeur peut ensuite modifier ce dernier source le cas échéant (pour optimiser des parties précises), et enfin utiliser MicA pour l'assemblage.

Abstract : This document gives information about the way to use MicA - the Micro-Assembler available with the Rapid-2 system. Even though the second part of this paper may be considered as a user-manual (indeed, it has been done on purpose), the first part presents the Rapid-2 system with no technical hardware detail that would have been useless for the programmer.
Rapid-2 is a board intended to be connected to a host-computer. It offers massive parallelism and thus calculation power that speed up long tasks such as genetic sequence comparison, text processing, dictionary search and so forth. The application to be speed up has to be written for the board. MicA is the software tool that generates the binary code for the board, from a textual assembler-like program.
MicA is delivered with the Rapid-2 board, and so does L1 - the high level language dedicated to Rapid. First applications to Rapid have been written directly in MicA. However, since L1 is available the normal way to write an application is to use the high-level language that generates a MicA syntax file and then a binary file. MicA may be useful for controlling the L1 compiling coherency, or for patching L1 output. It offers possibilities to manually optimize some parts of the generated code that require particular execution time efficiency.


Publications internes Masi 1995 / Masi research reports 1995