Vous êtes sur la page 1sur 13

Ministère De L'enseignement Supérieur Et De La Recherche Scientifique

Université Hassiba Benbouali de Chlef


Faculté des Sciences Exactes et Informatique
Département de TC en Sciences Exactes et Informatique
Module : Algorithmique et structure de données 1

Fiche TD N° 01 : Introduction - Solution


L’objectif de cette fiche de TD est de faire un rappel sur la description d’un ordinateur,
les instructions de base d’un ordinateur, et les différentes phases de résolution d’un
problème par ordinateur.

1. Donner la définition des termes suivants :


 Donnée :

Une donnée est un élément fondamental (un fait, une notion, un chiffre, une instruction,

un indice…) prélevé à partir d’une expérience. Elle est transformée/traitée par l’être

humain ou par des moyens automatiques. Pour : Servir à un raisonnement ou à une


recherche, Créer de l’information.

 Information :

L’information est une donnée, transformée et structurée sous une forme


conventionnelle et intelligible pour être insérée dans une dynamique de diffusion et/ou
d’échange (pour être communiquée).

 Communication

La communication est l’ensemble des processus par lesquels l’information est cherchée,
rendue accessible, échangée, transférée, discutée, négociée. La communication sert à :
Informer et construire, modifier, entretenir, faire évoluer une connaissance/un savoir,

 Informatique

L'informatique est la science du traitement des informations avec des moyens


électroniques, elle est conçue pour servir les humains. Elle s'occupe d'enregistrer,
Chapitre 1 : Introduction

stocker, traiter, organiser, transférer et présenter les informations sous une forme
utilisable. Le mot informatique vient de la contraction des mots information et
automatique.

 Ordinateur

1
Un ordinateur est une machine de traitement de l'information. Il est capable d'acquérir
de l'information, de la stocker, de la transformer en effectuant des traitements
quelconques, puis de la restituer sous une autre forme.

 Programme

Un programme informatique est un ensemble d'opérations destinées à être exécutées


par un ordinateur. Un programme source est un code écrit par un informaticien dans un
langage de programmation. Il peut être compilé vers une forme binaire, ou directement
interprété.

2. Quels sont les éléments de base d’un ordinateur de bureau ?

3. Donner la définition des termes suivants :


 Matériel

Un ordinateur est un système constitué de nombreux éléments qui fonctionnent


ensemble. Les éléments physiques, que vous pouvez voir et toucher sont collectivement
appelés le matériel.

 Logiciel

Le terme logiciel, en revanche, désigne les instructions ou programmes qui demandent


au matériel de faire telle ou telle chose
Chapitre 1 : Introduction

2
 Périphérique

Pratiquement tous les autres éléments de l’ordinateur sont connectés à l’unité système
au moyen de câ bles. Le matériel qui ne fait pas partie de l’unité système est parfois
appelé périphérique.

 Stockage

L’ordinateur comporte un ou plusieurs lecteurs de disque, périphériques qui stockent


des informations sur un disque métallique ou plastique. Le disque conserve les
informations, même lorsque l’ordinateur est éteint.

4. Faits les transformations suivantes :


1 Ghz = 1000 Mhz 1 Mhz = 1000 Khz 1 Khz = 1000 Hz
5. Faits les transformations suivantes :
1 octet = 8 bits 1 Ko = 1024 octets ……
6. Quel est le composant le plus important dans l’unité système ?

Le composant le plus important est l’unité centrale (CPU) ou microprocesseur, qui agit
comme le « cerveau » de l’ordinateur.

7. Que désignent les abréviations suivantes : CPU, RAM, ROM, Bit ?


CPU : Central Processing Unite
RAM : Random Access Memory
ROM : Read Only Memory
Bit : Binary Digit
8. Quel est le fonctionnement d’un processeur ?
Un processeur, qui est le cerveau du système ; il est capable d'effectuer des opérations
arithmétiques et logiques et d'organiser des transferts de données entre les différents
éléments du système ;
9. Quel est le rôle de la mémoire principale ?
On appelle « mémoire » tout composant électronique capable de stocker temporairement
des données.
10. Quels sont les types de mémoires vives ?
Chapitre 1 : Introduction

On distingue ainsi deux grandes catégories de mémoires :

 La mémoire centrale (appelée également mémoire interne) permettant de mémoriser


temporairement les données lors de l'exécution des programmes. La mémoire centrale

3
est réalisée à l'aide de micro-conducteurs, c'est-à -dire des circuits électroniques
spécialisés rapides. La mémoire centrale correspond à la mémoire vive.
 La mémoire de masse (appelée également mémoire physique ou mémoire externe)
permettant de stocker des informations à long terme, y compris lors de l'arrêt de
l'ordinateur. La mémoire de masse correspond aux dispositifs de stockage magnétiques,
tels que le disque dur, aux dispositifs de stockage optique, correspondant par exemple
aux CD-ROM ou aux DVD-ROM, ainsi qu'aux mémoires mortes.
11. Quel est l’architecture proposée par Von Neumann ?

L’architecture, dite architecture de Von Neumann, est un modèle pour un ordinateur qui
utilise une structure de stockage unique pour conserver à la fois les instructions et les
données requises ou générées par le calcul. De telles machines sont aussi connues sous le
nom d’ordinateurs à programme stocké en mémoire. La séparation entre le stockage et le
processeur est implicite dans ce modèle.

Donner un schéma représentatif.

Architecture de Von Neumann.

Voici un schéma d’une architecture moderne des microprocesseurs :


Chapitre 1 : Introduction

Architecture moderne des microprocesseurs.

4
12. Quel est le rôle de chaque unité de cette architecture ?

L’architecture de Von Neumann décompose l’ordinateur en 4 parties distinctes :

1. L’unité arithmétique et logique (UAL ou ALU en anglais) ou unité de traitement :


son rô le est d’effectuer les opérations de base ;
2. L’unité de contrôle, chargée du séquençage des opérations ;
3. La mémoire qui contient à la fois les données et le programme qui dira à l’unité de
contrô le quels calculs faire sur ces données. La mémoire se divise entre mémoire
volatile (programmes et données en cours de fonctionnement) et mémoire
permanente (programmes et données de base de la machine).
4. Les dispositifs d’entrée-sortie, qui permettent de communiquer avec le monde
extérieur.
13. Quel est le schéma classique d’UAL ? (avec définition de chaque notation)

La figure ci-dessous représente un schéma classique d'UAL. Celle-ci possède deux entrées A
et B sur lesquelles on présente les données à traiter. L'entrée F désigne l'opération à
effectuer. Enfin, l'UAL possède deux sorties, R qui est le résultat de l'opération, et D les
drapeaux qui indiquent soit qu'il y a eu erreur (division par zéro, dépassement de capacité,
etc.), soit des codes conditions (supérieur, inférieur, égal à zéro, etc.).

Schéma classique d'UAL.


Chapitre 1 : Introduction

5
Voici un autre schéma représentatif de l’UAL :

Chemin de données de l'ordinateur de Von Neumann.


14. Quels sont les opérations qui peuvent effectuer l’UAL ?

Les UAL peuvent être spécialisées ou pas. Les UAL élémentaires calculent sur des nombres
entiers, et peuvent effectuer les opérations communes, que l'on peut séparer en quatre
groupes :

 Les opérations arithmétiques : addition, soustraction, changement de signe etc.,


 Les opérations logiques : compléments à un, à deux, ET, OU, OU-exclusif, NON, NON-
ET etc.,
 Les comparaisons : test d'égalité, supérieur, inférieur, et leur équivalents « ou égal »,
 Eventuellement des décalages et rotations (mais parfois ces opérations sont
externalisées).
15. Quel est le rôle de l’unité de contrôle ?
Chapitre 1 : Introduction

Le but de l'unité de contrô le est de chercher les instructions du programme en mémoire, de


les décoder et de commander leur exécution de manière séquentielle.
Dans le cas d'une machine de Babbage, les instructions sont lues sur un dispositif externe.
Dans le cas d'une machine de Von Neumann, les instructions sont lues en mémoire.

6
Elle s'inscrit dans le chemin de données de l'ordinateur de Von Neumann. L'unité de
contrôle sert (en partie) à conserver les résultats intermédiaires des calculs de l'UAL et à
lire et à écrire des données en mémoire.
L'unité de contrô le a pour mission de placer en entrée de l'UAL les opérandes nécessaires à
l'exécution de ses instructions. Elle va les lire dans une mémoire de petite taille nommée
registres.
16. Comment l'unité de contrôle interagir avec les autres unités fonctionnelles de
cette architecture ?

Selon l’architecture de Von Neumann, l'unité de contrô le a les interactions suivantes avec
les autres unités fonctionnelles de cette architecture :

 Elle va chercher des instructions en mémoire en utilisant les bus d'adresses et de


données ;
 Elle décode cette instruction et transmet une action à l'UAL si nécessaire (bus de
commande), plus des données/opérandes (bus de données) ;
 Elle récupère le résultat de l'exécution de l'opération et le stocke dans un registre.
17. C’est quoi un registre de processeur ?
Les registres de données de l'unité de contrô le sont composés de cases mémoires,
repérées par une adresse (les numéroter), et qui possèdent chacune une fonctionnalité
bien précise. Conceptuellement, ils sont identiques aux cases mémoires, mais situés
différemment dans l'architecture du processeur, et avec des fonctions différents. Plus
l'ordinateur est complexe, plus le nombre et la taille des registres sont importants.
18. Comment les informations circulent-ils dans l’unité centrale ? Donner un
schéma représentatif.
L'unité de commande et de contrô le effectue les opérations suivantes : extraction de
l'instruction à exécuter, analyse de cette instruction et liaison avec l'U.A.L., recherche des
données à traiter dans la mémoire centrale, déclenchement du traitement dans l'U.A.L.,
rangement des résultats dans la mémoire centrale ou en mémoire auxiliaire.
Chapitre 1 : Introduction

7
19. C’est quoi une adresse mémoire ?
L’adressage mémoire est, en électronique et informatique, la façon dont sont accédées des
données stockées en mémoire. Une adresse mémoire est un nombre entier naturel
(rarement une autre sorte d'identifiant) qui désigne une zone particulière de la mémoire,
ou juste le début d'une zone. Le plus souvent, une donnée peut être lue ou écrite. La
mémoire peut être temporaire (mémoire vive) pour le travail ou au contraire durable
(mémoire non volatile) pour le stockage.
20. Avec une adresse de 4 bits, il est possible de référencier combien de cases
mémoires ?
24 cases mémoire
21. Quel est le rôle de : bus de donnée, bus d’adresse, bus de contrôle ?
 le bus de données permet, comme son nom l'indique, la circulation des données,
mais aussi des instructions, entre les 4 grands blocs ;
 le bus d'adresse permet au processeur de désigner à chaque instant la case mémoire
ou le périphérique auquel il veut faire appel ;
 le bus de contrôle est également géré par le processeur et indique, par exemple, s'il
veut faire une écriture ou une lecture dans une case mémoire, ou une entrée/sortie de
ou vers un périphérique ; on trouve également, dans le bus de contrô le, une ou
plusieurs lignes qui permettent aux circuits périphériques d'effectuer des demandes
Chapitre 1 : Introduction

au processeur ; ces lignes sont appelées lignes d'interruptions matérielles (IRQ).

8
22. Quels sont les instructions de base d’un ordinateur ?
 Instructions de transfert
 Instructions arithmétiques
 Instructions logiques
 Instructions d'entrées/sorties
 Instructions de branchement
23. Qu'est-ce qu’une instruction machine?
En informatique, une instruction machine est une opération élémentaire qu'un programme
demande à un processeur d'effectuer. C'est l'ordre le plus basique que peut comprendre un
ordinateur.

24. Quel est le cycle d'exécution d'une instruction ?


Supposons maintenant que la mémoire centrale de notre ordinateur contienne un
programme et des données, et que l'on souhaite exécuter ce programme sur ces données.
Lancer cette exécution revient à mettre dans le compteur ordinal (CO) l'adresse où se
trouve stockée la première instruction du programme. A partir de là , le programme est
exécuté étape par étape, instruction par instruction. L'exécution d'une instruction
élémentaire fait suivant un cycle comprenant 3 phases :
 Phase 1 : L'instruction courante, dont l'adresse est stockée dans le CO, est recopiée
dans le registre d'instruction (RI) en transitant par le bus «instructions» ;
 Phase 2 : cette instruction courante est décodée à destination de l'UAL ; ainsi le bus «
ordres » transfère le code de l'opération (les 4 premiers bits) et le bus «
données/résultats » transfère dans les registres appelés « donnée 1 » et « donnée 2 » le
Chapitre 1 : Introduction

contenu des mots mémoire se trouvant aux adresses référencées dans l'instruction ;
 Phase 3 : l'UAL exécute l'opération qui lui est demandée en mettant à jour son registre
« résultat » et transfère ce résultat dans la mémoire centrale, à l'adresse référencée
dans l'instruction, en utilisant le bus « données/résultats »; par ailleurs le CO est
automatiquement incrémentée (c'est-à -dire qu'il est augmenté de 1), pour signifier que

9
l'instruction suivante à exécuter doit se trouver normalement à l'adresse qui suit
immédiatement la précédente. Un nouveau cycle peut commencer alors pour la
nouvelle instruction courante.
Ces cycles sont rythmés par les tops d'horloge, chaque phase correspondant à un nombre
fixe de « tops » successifs. Dans notre exemple, pour la phase 1, qui nécessite de faire
transiter l'instruction courante de la mémoire vers le RI en utilisant le bus d'instruction, 4
tops d'horloge seront nécessaires (car un mot mémoire fait 16 bits et le bus n'a une
capacité que de 4 bits).
25. Quel est l’ordre d'exécution des instructions ?
Sauf instruction contraire, l'ordre d'exécution des instructions est celui de la lecture du
code source : de la gauche vers la droite, de haut en bas.

Exemple :

A ←5 ;
B← A+2 ;
A←6;
B← A+ 4 ;
L'ordre d'exécution des instructions de cet exemple est le suivant :
1. A ←5 ; La variable A contient la valeur 5.
2. B← A+2 ; La variable B contient la valeur 7 (5+2).
3. A ← 6 ; La variable A contient maintenant la valeur 6.
4. B← A+ 4 ; La variable B contient maintenant la valeur 10 (6+4).
Les instructions qui utilisent un ordre d'exécution différent sont des instructions de
contrô le d'exécution.
26. Quels sont les phases de la compilation ?
La compilation passe par différentes phases, produisant ou non des fichiers
intermédiaires :
1. Préprocessing : Le code source original est transformé en code source brut. Les
commentaires sont enlevés et les directives de compilation commençant par # sont
d'abord traités pour obtenir le code source brut.
2. Compilation en fichier objet : les fichiers de code source brut sont transformés en
Chapitre 1 : Introduction

un fichier dit objet, c'est-à -dire un fichier contenant du code machine ainsi que
toutes les informations nécessaires pour l'étape suivante (édition des liens).
Généralement, ces fichiers portent l'extension .obj ou .o.
3. Edition de liens : dans cette phase, l'éditeur de liens (linker) s'occupe d'assembler
les fichiers objet en une entité exécutable.

10
Processus de compilation et d'édition de liens

27. Quels sont les niveaux des langages ?


Nous parlons de langage de bas niveau lorsque celui-ci est composé de valeurs binaires
(langage machine) ou en est proche. Au contraire, un langage de haut niveau est
compréhensible pour nous et peut être travaillé. Dans le schéma ci-dessous, vous pouvez
observer la « hiérarchie » des niveaux de langages.

Chapitre 1 : Introduction

Niveaux des langages

11
28. Quels sont les différentes phases de résolution d’un problème par
ordinateur ?
Pour résoudre un problème, il est vivement conseillé de réfléchir d'abord à l'algorithme
avant de programmer proprement dit, c'est à dire d'écrire le programme en langage de
programmation.

Enoncé du problème

↓ ← Analyse – Conception

Modélisation de données

Algorithme

↓ ← Codage

Programme source

↺ ← Mise au point (compilation, tests,…)

Solutions

(1) Processus de résolution d’un problème.

La fabrication d’un programme suit les phases suivantes :

1. Analyse: Déterminer le problème à résoudre, Comprendre la nature du problème posé


et préciser les données fournies ("entrées" ou "input" en anglais), Préciser les résultats
que l'on désire obtenir ("sorties" ou "output" en anglais).
2. Description de l’algorithme : on raisonne sur la manière de représenter les données
Chapitre 1 : Introduction

du problème, et sur une méthode de résolution. Cette méthode est ensuite énoncée
sous forme de suite de pas à accomplir pour aboutir aux solutions : c’est l’algorithme
de résolution du problème.

12
3. Codage : il s’agit de traduire l’algorithme en langage de programmation, et sous forme
de fichier texte (c.à .d. suite de caractères sans mise en forme ni mise en page). Le
résultat du codage est un fichier appelé code source du programme.
4. Mise au point : comprend le plus souvent plusieurs étapes répétées jusqu’à ce que le
programme semble satisfaisant :
 Compilation : un langage de programmation de haut niveau n’est pas directement
compréhensible par la machine. Il faut donc traduire le code source du programme
vers le langage natif de la machine. Le résultat est un nouveau fichier écrit en
langage machine, et appelé code objet.
 Tests : exécution du code objet avec divers cas typiques des entrées, ou jeu de tests.
C’est le moment où la plupart des erreurs apparaissent.
 Correction des erreurs : on modifie le code de manière à corriger les erreurs au fil
des tests, et l’on recommence la compilation, exécution et tests, etc.

Etude du problème

 Données
 Actions
Réflexion → ↓

Algorithme

traduction → ↓ Langage de programmation

Programme

(langage évolué)

Traduction

(compilation ou → ↓
interprétation)

Programme

(langage machine)
Chapitre 1 : Introduction

(2) Processus de résolution d’un problème.

‫النجاح في شيء يأتي من االقتناع به‬

13

Vous aimerez peut-être aussi