









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
course lecture over the df df dfdf
Typology: Summaries
1 / 16
This page cannot be seen from the preview
Don't miss anything!










A. Qu'est qu'un ordinateur ?.............................................................................. 9 B. Architecture de base d'un ordinateur............................................................ 10
1. Bus système.................................................................................................................. 10 2. Unité centrale de traitement ( microprocesseur)................................................................. 12 3. Structure interne de base d'une unité centrale de traitement............................................... 13 4. La mémoire................................................................................................................... 14 C. Langages de programmation évolués et Langage assembleur.......................... 18 D. Architectures RISC et CISC......................................................................... 19 K. DERBAL
K. DERBAL
Le chapitre III aborde la programmation en assembleur i8080 et la génération du
K. DERBAL
B. Architecture de base d'un ordinateur l'architecture de base d'un ordinateur peut être représentée par le schéma bloc suivant : Figure 1.1 : schéma synoptique d'un ordinateur le schéma de la figure 1.1 présente les principaux composants d'un ordinateur et leurs interconnections : l'Unité Centrale de Traitement (UCT) ou Central Processing Unit (CPU) en Anglais est chargé des traitement de l'information qui lui est fournis conformément au programme traitant cette information. ces programmes ainsi que les données qu'ils traitent sont stockées en mémoire. Toutes ces activités sont synchronisées par un signal d'horloge à fréquence bien défini. Ll' Unité d'Entrée/Sortie (I/O en Anglais) représente les différents dispositifs (périphériques) qui permettent au processeur d'interagir avec le monde externe, en introduisant de l'information dans l'ordinateur (unités d'entrée)ou en restituant les résultats des traitements effectués par l'ordinateur (Unité de sortie), on peut citer ,le clavier, l'écran, la souris, la carte graphique, la carte réseau, etc. Ces différents composants d'un ordinateur sont reliés par des bus
1. Bus système Définition On appelle « Bus » l'ensemble des liaisons physiques (câbles, pistes de circuits imprimés, etc.) pouvant être exploités en commun par plusieurs éléments matériels (Composants) afin de les faire communiquer. tel qu'illustré sur la figure 1.1. L' UCT est liée à la mémoire ainsi qu'à l'unité d'E/S via des Bus. Mais il faut noter Chapitre I :Concepts fondamentaux en architecture des ordinateurs
cycle d'exécution : exécute l'instruction en procédant éventuellement, au chargement des opérandes à partir de la mémoire. Cette séquence d'étapes Recherche-Décodage-Exécution (voir figure 1.3) que le processeur effectue indéfiniment informe sur la nature séquentielle de l'exécution d'un programme, cela signifie qu'une instruction d'ordre n ne peut s'exécuter avant une instruction d'ordre n-1. Cependant cette séquentialité peut ne peut pas être vérifiée ?! Question : Dans quel cas la séquentialité d'un programme est perturbée? Toutes les activités ou calculs effectuées par l'ordinateur (processeur, bus, etc.) sont cadencées et synchronisées par une horloge de fréquence f. Une horloge est un circuit à quartz qui génère des signaux périodiques appelés impulsions. Son rôle est de cadencer toutes les activités de l'ordinateur, de façon à ce que tous les composants de l'ordinateur travaillent ensemble de façon synchronisée. Plus la fréquence de l'horloge est élevée, et plus l'ordinateur est plus rapides. En effet, le temps de cycle ou la période de l'horloge est égale à t= 1/f , si f est élevée t sera suffisamment réduit , ce qui permettra à l'ordinateur d'effectuer plus d'opération en une unité de temps (par seconde), mesuré en MIPS, « Million d'Instructions par Seconde ». La figure 1.4 présente un exemple de signal d'horloge. La fréquence d'une horloge est mesuré en Hertz (Hz), elle informe sur le nombre de battements par seconde. Parmi les unités de mesure, nous citons : ( complétez le vide): KHz (kilo-Hertz) ; 1Khz = ....... Hz MHz (Méga-Hertz), 1MHz = .........Hz GHz (Giga-Hertz), 1 GHz = .........Hz THz (Téra-Hertz), 1 THz =..........Hz Le temps d'un cycle machine(Cycle d'horloge ou CLK cycle ) est calculé comme suit : t est exprimé en seconde (s) si f est exprimé en HZ) Figure 1.4 : signal d'horloge Question : La fréquence permet donc d'évaluer la puissance de l'ordinateur. Ceci est-il toujours vrai ?!, expliquer. Chapitre I :Concepts fondamentaux en architecture des ordinateurs
3. Structure interne de base d'une unité centrale de traitement L'architecture de base d'une unité centrale de traitement intègre deux parties : Unité d'exécution ou de calcul et l'unité de contrôle (voir Figure I.5) qui communique avec la mémoire centrale ou sont stockés les programmes et les données qu'elle traitent. f Figure 1.5 : architecture interne de base d’une unité centrale de traitement 1. figure Définition : Unité de contrôle : Elle joue le rôle de superviseur, elle contrôle le déroulement de toutes les opérations au sein du Processeur (Génération des signaux de Lecture/Ecriture d'accès à la mémoire, décodage des instructions, etc.). Elle est composée de : Compteur Ordinal (Program Counter en Anglais) : qui contient l'adresse mémoire où est stockée la prochaine instruction à charger. Au début de l'exécution d'un programme, le CO est initialisé par le système d'exploitation à l'adresse mémoire où est stockée la première instruction.Le compteur ordinal est incrémenté chaque fois qu'une instruction est chargée dans le CPU. Le Registre d'Instruction (RI) : un registre où est stockée l'instruction en cours d'exécution ou qui doit être exécuté. Le décodeur : identifie (à partir du code de l'opération) l'opération à exécuter parmi toutes les opérations possibles, générer les signaux correspondant et les communiquer aux autres unités (séquenceur). Le séquenceur : qui va "décoder" l'instruction contenue dans RI egénère tous les signaux de commandes qui activent les différents composants concernés par l'exécution de l'opération telle que l'UAL. Il gère le séquencement des opérations. Chapitre I :Concepts fondamentaux en architecture des ordinateurs
Deux principales opérations sont effectuées sur la mémoire soient : l'opération de Lecture (Read) qui se traduit par le transfert ou le chargement d'une information à partir de la mémoire dans l'UCT ( le microprocesseur) sans que le contenu de la mémoire soit supprimé. Par contre l'opération d'écriture (Write) implique un transfert d'information de l'UCT vers la mémoire, à un emplacement donné, ce qui provoquera l’écrasement de l'ancienne valeur contenu dans cet emplacement. Ces deux opérations sont effectuées sous le contrôle de deux signaux , read et write comme le notre la figure 1. E e x e f f f f f q d g q f d g q f d g q s h f d g h q s f d g h q f s d g x 2. Reprendre l'exemple avec une mémoire de 1 K octets. e m p l e Exemple d’application Soit une mémoire de 16 emplacements d'un octet chacun.
code appelé code opération (Operation code ou Opcode en anglais), ainsi l'opcode d'une addition est différent de celui d'une multiplication ou de soustraction. Cependant, il est difficile, voire impossible pour le programmeur qui est un être humain d'utiliser un tel langage de chiffres pour réaliser des programmes du fait de son incapacité de mémoriser un code (suite numérique de 0 et 1). Ceci a conduit à l'apparition du langage assembleur qui est proche du langage binaire mais qui est plus simple à utiliser car il remplace le code de l'instruction par des symboles ou mnémoniques, conformément à une syntaxe bien définie. A titre d'exemple, une opération d'addition est symbolisée par ADD en assembleur i8086 et ses opérandes peuvent être des registres ou des variables mémoire. Le langage assembleur se place donc, à un niveau plus élevé que le langage machine (voir figure 1.7), il doit donc disposer d'un traducteur qui assure le passage du langage assembleur vers le langage binaire compréhensible et exécutable par la machine. Ce traducteur est appelé à ce niveau "programme d'assemblage" où chaque instruction en assembleur correspond à son équivalente en binaire et vice versa. Malgré cela, le langage assembleur demeure difficile à utiliser car chaque processeur a son propre langage machine donc son propre langage assembleur. Cela signifie que celui qui programme en un langage assembleur donné doit impérativement connaître le processeur pour lequel il programme, un inconvénient majeur auquel on devait faire face pour plus de facilité. Et la solution a été apportée avec l'apparition de langages dit évolués ou pseudo- naturels car ils sont proches des langages naturels( vocabulaire et règles syntaxiques), ils sont par conséquent plus simples à utiliser et ils ne sont pas lié à un processeur particulier. Mais comme l'ordinateur ne comprend que son Langage qui est le langage binaire, d'où la nécessité d'avoir un traducteur qui traduit le programme écrit en Langage évolué en un programme écrit en langage binaire compréhensible par la machine. Ainsi, chaque langage évolué dispose d'un traducteur nommé compilateur qui est lui même un programme (logiciel). Il existe actuellement de nombreux langages évolués tels que : C++, java, Python, etc. Il est important de noter que les compilateurs et environnements de développement en général, constitue l'un des axes software qui ont connu une évolution remarquable. Figure 1.7 : processus d'assemblage Remarque Un programme écrit en assembleur ou en langage évolué est appelé "programme source " ou "code source", la phase de compilation ou d'assemblage permet Chapitre I :Concepts fondamentaux en architecture des ordinateurs
ses processeurs plus récent (Pentium Pro) car les instructions complexes sont traduites en instructions simples de type RISC lors de leurs exécutions.
Dans ce chapitre, nous avons présenté quelques concepts fondamentaux en architecture des ordinateurs notamment l'architecture de base d'un processeur et la structure de la mémoire principale avec laquelle il communique lors de l'exécution d'un programme. Ceci permettra au lecteur de ce lancer dans les prochains chapitres qui aborde un micro-processeur réel, soit le micro-processeur i8086 de la famille intel. Chapitre I :Concepts fondamentaux en architecture des ordinateurs