blob: 6ea86d9c0a9b0a75bda1a4dc912da42f411c4deb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
\chapter{Description des problèmes rencontrés ainsi que des solutions technologiques employées pour y remédier}
\section{Parseur et Meta-Parseur}
\section{Assembleur}
\section{Editeur de liens}
%mecanisme de relocation
\section{Operations ALU} %algos ALU lente
L'ALU est divisée en deux parties : La première qui fait les opérations sur les entiers et la deuxième qui se comporte comme un microprocesseur c'est-
\paragraph{Descriptifs des opérations sur les entiers :}
Ces fonctions ont été écrites pour pouvoir tester l'Unité de contrôle, elles sont implementées en C, ce qui permet d'utiliser les opérations tradition
\paragraph{Descriptifs des opérations en binaire :}
Toutes les fonctions sont écrites sur la meme base, on sait qu'il y a au maximum 32 bits, donc pour faire les opérations, il suffit de parcourir les 3
Pour les fonctions de l'addition et de la soustraction, nous faisons comme dit précédemment les opérations bits après bits en commencant par le bit de
En ce qui concerne la multiplication, nous utilisons l'algorithme que nous avons apris a l'école primaire : c'est-à-dire la multiplication d'un facteu
Pour la division, nous utilisons comme pour la multiplication deux registres, un pour stocker le résultat et l'autre pour y mettre le reste de la divi
Pour les deux fonctions de décalage, nous décalons les bits du nombre demandé et on remplace les bits manquants par 0.
\section{Contrôleur}
%decodage, execution, gestion de la ram
\section{MiniOS}
|