• Aucun résultat trouvé

Niveaux de description

N/A
N/A
Protected

Academic year: 2022

Partager "Niveaux de description"

Copied!
9
0
0

Texte intégral

(1)

Olivier Raynaud Université Blaise Pascal

Chapitre 1

Niveaux de description

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Base conceptuelle d’un ordinateur

Extrait de [Tis]

Chap. 1 : Niveaux de description

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

La mémoire

La mémoire est divisée en parties

physiques appelées mots

(par exemple 65 536 mots pour une mémoire).

Un mot se divise en bits

(la taille d’un mot correspond à la taille d’un registre ou du bus)

X X X X X O O O X X O O … X X X O O O O X X O X

Les bits sont des contacts magnétiques qui peuvent être dans l’une ou l’autre position.

Chap. 1 : Niveaux de description

(2)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Interprétation

1. La première partie du mot contient le nom du type de l’instruction à exécuter.

2. La seconde partie contient l’adresse numérique d’un mot (ou des mots)sur lequel exécuter l’instruction.

Mémoire : Les mots de la mémoire contiennent les

données à traiter ou les instructions pour traiter ces données.

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Unité centrale et registre

Exemple

ADD AX, 1983 MOV AX, 1982 PUSH AX

Chap. 1 : Niveaux de description

L’unité centrale dispose d’un pointeur spécial

(le registre appelé compteur ordinal ou IP)

qui désigne le prochain mot à être interprété comme une instruction

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Espace de stockage

Considérons la déclaration suivante en Pascal : varn : integer

une cellule non-allouée devient allouée et son contenu est indéfini, n dénote cette cellule.

? 0 1

Nous pouvons voir chaque cellule allouée comme une boite contenant la valeur d’une variable primitive ou un indéfini « ? « . Chap. 1 : Niveaux de description

Un espace de stockage est une collection de cellules.

1. Chaque cellule a un statut courant: alloué ou non alloué 2. Chaque cellule allouée a un contenu courant qui est soit une valeur stockée soit une valeur indéfinie.

(3)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Variable

Définition :

une variable est un objet qui contient une valeur,

cette valeur sera inspectée ou mise à jour aussi souvent que désirée.

Une variable de type composé est constituée de composants pouvant être inspectés de manière sélective.

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Exemple : variable composée

type Mois = (jan, fev, mar,…,dec)

Date = record m : Mois; j : 1..31 end;

var leJour : Date;

… leJour.j := 23; leJour.m := fev

leJour leJour.m leJour.j 23

fev Chap. 1 : Niveaux de description

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

La réunitarisation

Extrait de [HOF93]

Chap. 1 : Niveaux de description

(4)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Caractéristique d’un langage

Un langage doit être universel

(tout problème doit avoir une solution qui peut être programmé dans le langage);

Le langage doit être

le

plus naturel possible;

Le langage doit être implémentable sur un ordinateur.

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Syntaxe et sémantique du langage

Chap. 1 : Niveaux de description

La

Syntaxe concerne la forme du programme,

la façon dont les variables, les expressions et les instructions sont disposées ensemble

pour former un programme.

La

Sémantique concerne le sens à donner à un

programme, sont comportement lors de son exécution.

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Le Langage machine

Ce langage est l’unique langage compréhensible pour un processeur.

Dans un langage machine, les types d’opérations possibles constituent un répertoire fini qui ne peut être étendu.

Tous les programmes doivent être constitués de ces instructions.

Chap. 1 : Niveaux de description

(5)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Le langage d’assemblage

Le langage d’assemblage est situé au dessus du langage machine dans la hiérarchie des langages.

Il existe une correspondance entre les instructions en langage d’assemblage et les instructions en langage machine.

mov $0x61, %al 10110000 01100001

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Un morceau d’A.D.N .

tcgcgcgatctttgagctaattagagtaaattaatccaatc tttgacccaaatctctgctggatcctctggtatttcatgtt ggatgacgtcaatttctaatatttcacccaaccgttgag caccttgtgcgatcaattgttgatccagttttatgattgc accgcagaaagtgtcatatctgagctgcctaaaccaa ccgccccaaagcgtacttgggataaatcaggcttttgt gatctgttctaataatggctgcaagttatcaggtagatc cccggcaccatgagtggatgtcacgattaaccacagg ccattcagcgtaagttcgtccaactctgggccagaagt tttctgtagaaaacccagcttcttctaatttatccgctaa atgttcagcaacatattcagc

Chap. 1 : Niveaux de description

Extrait de [HOF93]

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

L’assembleur

Le programme « Assembleur» est un programme de traduction en langage machine.

Une fois le programme « assemblé » (traduit) il peut être exécuté.

Chap. 1 : Niveaux de description

Question : Que se passe-t-il si l’on fourni au

matériel un programme en langage d’assemblage?

(6)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Les langages de compilation

Principalement deux réflexions ont mené au concepts de langages évolués (1950) :

1. Il existe des modèles fondamentaux lorsque l’on essaie de formuler des algorithmes.

2. Les programmes étaient toujours constitués d’unités de haut niveau indépendantes.

Les nouveaux langages fondés sur ces idées ont été baptisés langages de compilation

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Les trois niveaux de description

Niveau en langage machine:

« Exécution du programme interrompue au point 1110010101110111 »

Niveau en langage d’assemblage :

« Exécution du programme interrompue lorsque l’instruction DIV (division) a été rencontrée »

Niveau en langage de compilation:

« Exécution du programme interrompue lors de l’examen de l’expression algébrique

« (A+B)/Z». » Chap. 1 : Niveaux de description

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Les compilateurs

Vers 1950, on a réussi à écrire des programmes appelés compilateurs, dont la fonction était de traduire des langages de compilation en langage machine

.

Chap. 1 : Niveaux de description

Question : Dans quel langage sont écrits ces

compilateurs?

(7)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

L’amorçage

Langage de compilation

Langage d’assemblage Compilateur

Assembleur Langage

machine Extrait de [HOF93]

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Les interpréteurs

Ils assurent la traduction des langages évolués en langage machine en lisant un programme ligne à ligne et en exécutant immédiatement cette ligne.

Un interpréteur est donc au compilateur ce qu’un interprète simultané est à un traducteur.

Chap. 1 : Niveaux de description

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Historique

Chap. 1 : Niveaux de description

1950 1960 1970 1980

Fortran

Algol60 Cobol

Algol68 Pascal

Ada Smalltalk

C

Lisp

Prolog ML

Miranda Simula

L. Impératifs

et procéduraux L. fonctionnels L. orientés objects

L. logiques Extrait de [W90]

(8)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Langage de description d’algorithme

Nous faisons le choix d’une description en deux blocks : le block d’identification (nom, type de données, type du résultat, variables utilisées) et le block d’instructions encadré par les mots clés début et fin.

Algorithme valeurAcquise() Données :sommInitiale, taux : réel;

Résultat :valeurAcquise : réel;

Variables :intérêts: réel;

début

intérêtssommeInitiale * taux; valeurAcquisesommeInitiale + intérêt;

retournervaleurAcquise;

fin

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Mathématique : fonction calculable

Définition :Une fonction f estcalculables’il existe un procédé systématique permettant à partir de la valeur « x », par une série de manipulations précises, de connaître «f(x)».

En février 34, A.Church soulève la question suivante:

Quel est l’ensemble d’outils, le kit d’opérations, nécessaire pour calculer les valeurs des fonctions calculables?

Chap. 1 : Niveaux de description

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

La thèse de Alonso Church

Les fonctions calculables avec le Kit algorithmique

(L.D.A.)

sont par définition les fonctions programmables.

Thèse :

Toute fonction calculable est programmable et réciproquement.

Thèse de Church

Chap. 1 : Niveaux de description

(9)

Olivier Raynaud Université Blaise Pascal Clermont-Ferrand

Pour résumer

Nous avons décrit un micro ordinateur comme composé d’une mémoire, d’un C.P.U. et d’un ensemble d’entrée/sortie. La fonction d’un ordinateur est d’exécuter des instructionssur des données.

La mémoire d’un ordinateur peut être vu comme un ensemble de mots, composés de bits. D’un point de vue symbolique la mémoire est un espace de stockage composés de cases (allouée, vide ou pleine).

Un programme est composé d’un ensemble d’instructions et il existe plusieurs niveaux de description de ces programmes : du langage machine au langage algorithme (L.D.A.).

Références

Documents relatifs

en jeu l’interaction des deux niveaux avec le champ de radiofréquence sans tenir compte de l’existence des autres niveaux, la théorie complète prévoit toute une

D autres linguistes, à propos de la structure de la langue, ont introduit d autres niveaux de formalisation : tripartition du langage de Hjelmslev (1949), de Coseriu (1952 &

Et même, cette vocifération, eut-on dit, réveilla le juge inerte d'un problème qu'il ne savait point résoudre.. PREMIERE TRANSCRIPTION : L'intellectuel

Exercice 4 : Dans chaque liste, souligne en rouge le mot familier, en vert le mot courant et en bleu le mot soutenu...  Ce spectacle est

Exercice 3 : Recopie les phrases en remplaçant le mot souligné par le mot en langage soutenu qui convient..  Le film commencera dans

3 Indique le niveau de langage utilisé pour chaque phrase : familier, courant ou soutenu.?. LES NIVEAUX

3 Indique le niveau de langage utilisé pour chaque phrase : familier, courant ou soutenu!. Hâte-toi, nous allons

Pour rendre compte concrètement des niveaux de conscience de la production et de la compréhension langagières, d’où émergent divers types de duplications, cette