• Aucun résultat trouvé

Informatique pour tous

N/A
N/A
Protected

Academic year: 2022

Partager "Informatique pour tous"

Copied!
51
0
0

Texte intégral

(1)

Informatique pour tous

Informatique pour tous

Architecture des ordinateurs - II

Yannick Le Bras - MPSI

Septembre 2013

(2)

Section 1

Mémoire

(3)

Informatique pour tous Mémoire

Mémoire

Entrée Sortie

Accumulateur

Unité de contrôle

Unité arithmétique et logique

Figure:Architecture de von Neumann (source :Wikipedia, GFDL)

(4)

Mémoire

Entrée Sortie

Accumulateur

Unité de contrôle

Unité arithmétique et logique

Figure:Architecture de von Neumann (source :Wikipedia, GFDL)

(5)

Informatique pour tous Mémoire

(6)
(7)

Informatique pour tous Mémoire

Les mémoires diffèrent par : leur capacité ;

le temps d’accès.

registre

cache

ram

tampon

masse

vitesse capacité

(8)

Mémoire Cache

La mémoire cache est une mémoire : physiquement accolée au processeur ; très rapide d’accès ;

divisée en trois niveau :

L1 : 32 ou 64ko, temps d’accès de 4ns ;

L2 : 256ko, 512ko ou 1mo, temps d’accès>5ns ; L3 : 1 à 4Mo, niveau peu courant, temps d’accès 30ns ; Le plus souvent, la technologie utilisée est la mémoire RAM statique.

(9)

Informatique pour tous Mémoire

Mémoire RAM

La mémoire RAM est une mémoire :

physiquement séparée du processeur, sur la carte mère ; rapide d’accès (env. 60ns) ;

de capacité importante.

Elle assure un taux de transfert autour de 3Go/sec.

Le plus souvent, la technologie utilisée est la mémoire RAM dynamique.

(10)

structure de la RAM

(11)

Informatique pour tous Mémoire

structure de la RAM

mot mémoire

(12)

structure de la RAM

mot mémoire

cellule mémoire

(13)

Informatique pour tous Mémoire

Cellule mémoire

Écriture Rafraîchissement Lecture

Figure:Cellule mémoire dynamique (d’après Blanchet)

la charge du condensateur indique la présence d’un 1 ; il est nécessaire de rafraîchir le contenu ;

une lecture est destructive : elle doit être suivie d’une écriture.

(14)

Mémoire RAM

Décodeu r n bi ts

bus de données

bus d'adresses

mémoire

adr ess

e

sélection

(15)

Informatique pour tous Mémoire

Mémoire de masse

Principalement représentée par le disque dur.

système électromécanique ;

temps d’accès très long : de l’ordre de 12 à 16 ms.

très grande capacité.

Suivant les technologies, le débit est diffférent :

IDE : les nappes assurait 133Mo/sec au maximum ; Serial ATA I : 150Mo/sec;

Serial ATA II : 300Mo/sec; Serial ATA III : 600Mo/sec.

(16)

Mémoires Flash

même principe que la mémoire RAM mais non volatile ; 100 fois plus rapide que les disques électromécaniques ; 15 fois plus chers (coût au Go début 2012 : 0.7 euros) ; capacité plus faible ;

pas de problèmes mécaniques, de bruit...

(17)

Informatique pour tous Processeur

Section 2

Processeur

(18)

Mémoire

Entrée Sortie

Accumulateur

Unité de contrôle

Unité arithmétique et logique

Figure:Architecture de von Neumann (source :Wikipedia, GFDL)

(19)

Informatique pour tous Processeur

Mémoire

Entrée Sortie

Accumulateur

Unité de contrôle

Unité arithmétique et logique

Figure:Architecture de von Neumann (source :Wikipedia, GFDL)

(20)
(21)

Informatique pour tous Processeur

(22)

Deux unités

unité de contrôle :

va chercher les informations en mémoire : instructions, données ;

interprète les instructions ;

donne des ordres à l’unité artihmétique et logique ; assure le bon séquencement.

l’unité arithmétique et logique :

exécute les opérations désignées par par l’unité de contrôle.

Les échanges se font via des BUS internes.

(23)

Informatique pour tous Processeur

32 ou 64 bits ?

32/64 bits est la taille des mots que le processeur est capable de formuler, notamment pour les adresses mémoire.

avec un processeur 32 bits, on peut formuler 232 adresses : la RAM ne peut dépasser 4Go ;

avec un processeur 64 bits, on peut formuler 264 adresses.

en réalité, une partie est réservée à d’autres adressages (carte graphique. . .)

→on ne peut pas utiliser 4Go de RAM sur un système 32 bits.

(24)

Opérations logiques

Les opérations logiques sont assurées par des circuits logiques.

A B Cin

Cout

S

Figure:Additionneur complet 1bit

(25)

Informatique pour tous Processeur

Jeux d’instructions

Chaque processeur reconnaît un certain nombre d’instructions :

le jeu d’instructions est propre au constructeur : base commune ;

chaque instruction possède un code ;

les instructions peuvent être : arithmétiques, de mouvement, de décalage, de branchement...

Exemple :http://aconit.inria.fr/omeka/exhibits/

show/histoire-machines/naissance-ordinateur/

modele-von-neumann

(26)

Section 3

Entrées/Sorties

(27)

Informatique pour tous Entrées/Sorties

Mémoire

Entrée Sortie

Accumulateur

Unité de contrôle

Unité arithmétique et logique

Figure:Architecture de von Neumann (source :Wikipedia, GFDL)

(28)

Mémoire

Entrée Sortie

Accumulateur

Unité de contrôle

Unité arithmétique et logique

Figure:Architecture de von Neumann (source :Wikipedia, GFDL)

(29)

Informatique pour tous Entrées/Sorties

Entrées/sorties de base

Les entrées sorties se font via despériphériques : clavier ;

souris ; écran ;

haut-parleurs...

La communication se fait sous forme normalisée en général pour ces périphériques.

(30)

périphériques avancés

Certains périphériques sont plus évolués : clavier/souris sans fil ;

imprimante ;

lecteurs/graveur de CD/DVD-Rom ; périphériques biométriques.

La communication n’est pas toujours normalisée.

(31)

Informatique pour tous Entrées/Sorties

Rôle du système d’exploitation

Il existe plusieurs systèmes d’exploitation grand public : Windows, MacOS, Linux

Rôle principal

Permettre la communication entre l’humain et la machine ; permettre la communication entre la machine et les

périphériques ; gérer les ressources intelligemment.

La communication avec les périphériques se fait via des pilotes. Notion deplug&play.

(32)

Gestion du disque dur

Un des rôles principaux de l’OS est la gestion des données.

mémoire virtuelle en support de la RAM ; écriture et lecture du disque dur ;

organisation des données sur le disque.

→fragmentation des disques.

(33)

Informatique pour tous Langages de programmation

Section 4

Langages de programmation

(34)

Notions de langage

Langage machine

L’ensemble des instructions et leur syntaxe forme lelangage machine.

On peut développer un programme en langage machine : langage bas niveau (directement interprétable par l’ordinateur) ;

temps de développement est très élevé ; efficacité optimale.

(35)

Informatique pour tous Langages de programmation

Exemples de langages

Langage

Un langage de programmation est défini par une syntaxe et une sémantique :

la syntaxe est un ensemble de mot réservés associés à une grammaire ;

la sémantique représente le sens des phrases formulées dans la syntaxe.

On parle de langage de programmationsi le langage est Turing-Complet, s’il permet de faire tout ce que fait une machine de Turing.

(36)

Exemples de langages

Langages de programmation : Pascal, Cobol, Fortran ; Java, C, Python, visual Basic ; php, sql ...

Langages de présentation/balisage : HTML, CSS, XML ;

LATEX ; SVG.

Langages exotiques :

Brainfuck, Ook . . .http://www.info.univ-angers.

fr/~gh/hilapr/detour.htm

(37)

Informatique pour tous Langages de programmation

Types de langages

On distingue plusieurs types de langages : langages compilés/interprétés ; langages impératifs/fonctionnels ; langages orientés objet.

Chaque type est adapté à une situation particulière.

(38)

Langage Python

Cette année nous utiliserons le langage Python : première version publique (0.9.0) en 1991 ; langage gratuit et libre ;

dernière génération depuis 2008 (3.0) ; version actuelle 3.3.

Son créateur Guido van Rossum est désigné dictateur bienveillant à vie.

(39)

Informatique pour tous Le cas Python

Section 5

Le cas Python

(40)

Avantages de Python

Python possède de grandes qualités :

il est portable : utilisable sous Windows, MacOS, Linux, Android...

il est libre et gratuit ;

il a engendré une grande communauté ;

il est simple d’utilisation et lisible : c’est un langage élégant.

(41)

Informatique pour tous Le cas Python

Utilisation de Python

(42)

Éléments de syntaxe

La syntaxe de Python est à la fois intuitive et simple.

les blocs d’instructions sont délimités par l’indentation; les instructions sont délimitées par les retours à la ligne ; il n’y a pas de parenthèses parasites.

Python est un langage interprété, facilitant la création de script et le prototypage.

(43)

Informatique pour tous Le cas Python

opérateurs et affectations

On retrouve les principaux symboles d’opération et d’affectation.

affectation simple X=a affectation multiple x=y=z=5 affectation parallèle x,y=3,5

opérateurs arithmétiques +, -, *, /, //, **, % opérateurs logiques or, and, not

opérateurs de comparaison <, <=, >, >=,==,!=

// est la division entière,** l’élévation à la puissance et% le reste

!= est le symbole différent

(44)

Les boucles

Les boucles permettent d’automatiser une tâche répétitive.

Boucle While (Tant que) : w h i l e c o n d i t i o n :

i n s t r u c t i o n 1 i n s t r u c t i o n 2 . . .

i n s t r u c t i o n n Exemple :

i =0

w h i l e i <10 :

p r i n t(" tour ␣ de ␣ boucle ␣ numero ", i ) i = i +1

ATTENTION : l’inden- tation est primordiale!

(45)

Informatique pour tous Le cas Python

Les boucles

Les boucles permettent d’automatiser une tâche répétitive.

Boucle For (Pour) :

f o r v a r i a b l e i n l i s t e : i n s t r u c t i o n 1

i n s t r u c t i o n 2 . . .

i n s t r u c t i o n n Exemple 1 :

f o r i i n range( 5 ) :

p r i n t(" tour ␣ de ␣ boucle ␣ numero ", i ) ATTENTION : l’inden- tation est primordiale!

(46)

Les boucles

Les boucles permettent d’automatiser une tâche répétitive.

Boucle For (Pour) : Exemple 2 :

f o r i i n [ 1 , 2 , 4 , 1 , 5 , 6 ] :

p r i n t(" la ␣ variable ␣i␣ vaut ␣:", i ) Exemple 3 :

f o r i i n " Bonjour " :

p r i n t(" la ␣ lettre ␣ courante ␣ est ␣:", i )

(47)

Informatique pour tous Le cas Python

Instructions conditionnelles

Les instructions conditionnelles permettent à l’ordinateur de faire des choix.

i f c o n d i t i o n 1 :

b l o c k d ’ i n s t r u c t i o n s 1 e l i f c o n d i t i o n 2 :

b l o c k d ’ i n s t r u c t i o n s 2 . . .

e l s e

b l o c k d ’ i n s t r u c t i o n s n+1

Si la conditioni est vérifiée et qu’aucune des conditions 1 à i−1 ne sont vérifiées, alors le block i est exécuté. Si aucune condition n’est vérifiée, on exécute le blockn+1.

ATTENTION : pensez auelse final pour un filtrage exhaustif

(48)

Instructions conditionnelles

Les instructions conditionnelles permettent à l’ordinateur de faire des choix.

Exemple :

temp=i n t ( i n p u t (" Temperature ␣ de ␣ la ␣ piece ␣?␣") ) i f temp <15 :

p r i n t(" Allumez ␣ le ␣ chauffage ") e l i f temp >35 :

p r i n t(" Pensez ␣a␣ boire ") e l s e :

p r i n t(" Tout ␣ va ␣ bien ")

(49)

Informatique pour tous Le cas Python

Quelques fonctions de base

Quelques fonctions doivent être connues :

input(s) : affiche la chaine s et attend une saisie clavier ; print(s) : permet l’affichage de la chaines à l’écran ; range(n) : génère un itérable contenant les entiers de 0 à n−1 ;

len(a) : renvoie la longueur de l’objet définit par a.

Exemple :

nom=i n p u t (" Entrez ␣ votre ␣ nom ␣:␣") n=l e n ( nom )

p r i n t(" Vous ␣ vous ␣ appelez ", nom )

p r i n t(" Votre ␣ nom ␣ contient ", n ," lettres ")

(50)

Apprendre à programmer

Programmer s’apprend en ESSAYANT. Alors essayez de créer un programme qui :

demande deux entiers et indique lequel est le plus grand ; demande un numéro de sécurité sociale et renvoie le sexe, le mois et l’année de naissance associés ;

demande un entiern et affiche les entiers de 1 à n; demande une phrase et renvoie le nombre de e dans la phrase...

(51)

Informatique pour tous Le cas Python

merci.

Références

Documents relatifs

[r]

introduites dans l'eau ne sont pas dissociées; l’acide méthanoïque est donc partiellement dissocié dans l'eau; c'est un acide faible.. La réaction est quasi-totale donc

Afin de compiler un programme, rentrer dans le r´ epertoire appropri´ e, v´ erifier la pr´ esence d’un fichier Makefile.. Tapper make clean puis make pour compiler

Dans le cas qui va nous int´ eresser ici, nous choisirons de placer le serveur sur le syst` eme embarqu´ e (Coldfire) et le client est ex´ ecut´ e depuis le PC.

Dans cet ouvrage, vous découvrirez les différentes méthodes de création de projets VBA pour Excel, Visual Basic (le langage de programmation proprement dit) et les outils

• Effort nécessaire à réaliser les attaques: 2 57 opérations pour établir les deux listes + 2 56 blocs de 64 bits de stockage pour mémoriser les résultats

Calcule la somme des trois premiers entiers puis des quatre premiers entiers puis des cinq premiers entiers.. Dans un tableur, affiche les 20 premiers entiers non nuls dans

Comment fais-tu pour déterminer si deux quotients sont égaux ou