From 4c3cc78a7af5c77726c58f035fa54244e24e9feb Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Wed, 15 Jan 2014 11:00:26 +0100 Subject: Move documentation ; add template for report on CPU. --- plan_micro.tm | 256 ---------------------------------------------------------- 1 file changed, 256 deletions(-) delete mode 100644 plan_micro.tm (limited to 'plan_micro.tm') diff --git a/plan_micro.tm b/plan_micro.tm deleted file mode 100644 index 158ffb5..0000000 --- a/plan_micro.tm +++ /dev/null @@ -1,256 +0,0 @@ - - - - -<\body> - ||>>> - - Nous proposons ici une spécification pour un processeur minimaliste 16 bit - RISC. - - - - La machine dispose de 8 registres \S généraux \T, tous de taille 16 bits : - - \; - - <\itemize> - 0. Registre ou zéro (valant tout le temps 0...) - - 1. Registre - - 2. Registre - - 3. Registre - - 4. Registre - - 5. Registre , écrit par certaines instructions - (multiplication, division...) et utilisé préférentiellement comme - registre temporaire pour certaines instructions composées - - 6. Registre , ou (return adresse), écrit - par l'instruction - - 7. Registre , ou (stack pointer), utilisé - par les instructions et - - - Ces 8 registres sont tous manipulables par les instructions prenant un - registre comme argument. De plus, le processeur dispose d'un registre - manipulable uniquement par certaines instructions spécifiques, le registre - (program counter : contient l'adresse de l'instruction - courante). - - Les numéros de registres sont donc codés sur 3 bits. - - - - La mémoire est adressée sur 16 bits et les mots mémoire font 8 bits, il y a - donc 64ko disponnibles. - - Le CPU est little-endian (le mot 0x1234 est codé 34 puis 12) - - On définit plusieurs zones de mémoire : - - |>||>||>>>>|Memory map> - - Les bits suivants sont utilisés pour la MMIO : - - >>>>|>||>||>>>>|Addresses MMIO> - - - - Les instructions sont codées sur 16 bits. Les tableaux suivants montrent - les instructions avec les bits de poids forts à gauche et les bits de poids - faibles à droite (convention contraire à celle exprimée dans le - ). - - - - ||||||>|>|>|>>>|||>>>> - - >|||||||||>|>|>|>>|>>|>>>>> - - >||||||>|>|>|>>>>> - - ||||||||>|>|>|>>|>>>>> - - >||||||>|>|>>>>> - - - - Certain noms d'instuctions sont en , il s'agit de signifier - qu'il s'agit d'un alias (optionnel) pour une autre instruction. - - |>>|>|>>|>|>|>>|||||R+R>>|>|||||R-R>>|>|||||lo\R|)>>>|>|||||hi\R|)>> - si R>>|>|||||q,R|)>>>|>|||||r,R|)>> - si R>>|>||||||>||||||>||||||>||||||>|||||\R|)>>>|>|||||\R|)>>>|>|||||\R|)>>>|>|||||not - \R|)>>>|>|||||\R|)>>>|>||||>||>|||||\R|)>> - (logical)>|>|||||\R|)>> - (arith)>|>||||>||>||||>||>|||||=R?1:0|)>>>|>|||||\R?1:0|)>>>|>|||||\\R?1:0|)>>>|>|||||\R?1:0|)>>>|>|||||\\R?1:0|)>>>|>|||||\R?1:0|)>>>|>|||||>>| - signé>>|||||d|)>>>| - signé>>|||||PC+d>>|>||||| - ; PC\PC+d>>|>||>|||R>>|>||>||| - ; PC\R>>|>|||||=R> then R>>|>|||||\R> then R>>|>|||||\R> then R>>|>|||||\R> then - R>>|>|||||\R> then R>>|>|||||\R> then - R>>|>|||||PC+d>>| - signé>>||||>||>||||>||>||||||>|||||mem+d|)>> - (16 bits)>|>|||||+d|)>\R> - (16 bits)>|>|||||\mem+d|)> - ; R\0> (8 bits)>|>|||||+d|)>\R> - (8 bits)>|>|||||mem+R|)>> - (16 bits)>|>|||||+R|)>\R> - (16 bits)>|>|||||\mem+R|)> - ; R\0> (8 bits)>|>|||||+R|)>\R> - (8 bits)>|>|||||\d>>|>|||||\d - ; R\0>>| non - signé)>>|||||\d>>|>|||||\d - ; R\0>>|>|||>||sign_extend>>| - signé)>>||||>||>||||>||>||||>|>>|>>>>|Instructions - reconnues par le microproceseur> - - L'assembleur propose également quelques instructions \S étendues \T - permettant de faciliter la programmation : - - |>|>|>>|>|G-2 ;mem\R - >>|>>|||>, >>|>|mem ; - G\G+2>>|, >>|||, 2>>|>>|R>>|, >, >>||R+d>>|>|>>|not - R>>|,Z>>>|, - addr>| then addr>>|>|||>|, addr>|0> then - addr>>|>|||>>>>|Instructions - supplémentaires (produites par l'assembleur)> - - \ - - -<\initial> - <\collection> - - - - - - -<\references> - <\collection> - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - - - -<\auxiliary> - <\collection> - <\associate|table> - > - - > - - > - - > - - <\associate|toc> - |math-font-series||Registres> - |.>>>>|> - - - |math-font-series||Mémoire> - |.>>>>|> - - - |math-font-series||Jeu - d'instruction> |.>>>>|> - - - |Types d'instructions - |.>>>>|> - > - - |Format de base - |.>>>>|> - > - - |Format |R> - |.>>>>|> - > - - |Format |I> - |.>>>>|> - > - - |Format K - |.>>>>|> - > - - |Format |J> - |.>>>>|> - > - - |math-font-series||Tableau - d'instructions> |.>>>>|> - - - - \ No newline at end of file -- cgit v1.2.3