English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

De quoi est composé un microprcesseur, et comment ça marche?
Quels sont les opérations de base qu'effectue un ordinateur?

2007-12-11 01:33:06 · 3 réponses · demandé par Anonymous dans Informatique et internet Programmation

3 réponses

Regardes sur www.developpez.com

2007-12-11 01:42:16 · answer #1 · answered by Marc 3 · 0 1

L'assembleur représente l'ensemble des instructions reconnues par le microprocesseur. En fait ces instructions sont très similaires à celles qu'on trouve dans un langage de plus haut niveau tel que le C. On y retrouve donc:
- les opérations mathématiques de base (additions, soustractions, multiplications, divisions) pour les entiers comme pour les réels

- des opérations de tests (IF) de saut d'instructions (GOTO) ou d'appel à des "procédures".

- des variables qu'on appelle des registres et qui sont en fait en nombre limité (en général 16).

Donc un programme assembleur s'écrit comme n'importe quel programme. il suffit juste d'avoir un éditeur adapté et de connaitre le jeu d'instructions (langage) qui est spécifique à chaque processeur. Ensuite il est compilé pour pouvoir être exécuter par le processeur.

La grosse différence entre l'assembleur et un langage de haut niveau, c'est que l'assembleur peut te permettre de tirer un meilleur parti de l'architecture du processeur.

En effet, aujourd'hui un processeur est en général composé (au minimum) de 4 étages travaillant en parallèle:
- Fetch: lecture d'une instruction depuis la mémoire,
- Decode: Analyse de la commande pour en trouver les opérandes, et si besoin est les rechercher en mémoire
- Execute: on effectue l'opération correspondant à la commande
- Write: le résultat est écrit en mémoire

Mais, dans ce type d'architecture il y a facilement des "temps morts". Par exemple si une opération génère un résultat, et que l'opération qui suit à besoin d'utiliser immédiatement ce résultat, la seconde opération (dans l'étage "décode") doit attendre que la première ai terminé.

Pour limiter ces "temps morts" on peut optimiser le code en modifiant l'ordre des instructions du programme. Ceci est fait automatiquement par le compilateur, avec un langage de haut niveau, mais pas de manière optimale. En écrivant directement en assembleur on peut donc accélérer encore le code.

2007-12-11 09:53:58 · answer #2 · answered by alain K 7 · 2 0

www.developpez.com

2007-12-12 05:53:10 · answer #3 · answered by Daniel 3 · 0 0

fedest.com, questions and answers