SCIENCES NUMERIQUES ET TECHNOLOGIE
GENERALITES

Introduction

Définitions

Selon le contexte, un même mot désigne plusieurs choses, plusieurs mots désignent la même chose. De nouveaux mots apparaissent, d'autres tombent en désuétude...

Informatique

Domaine d'activité scientifique, technique et industriel relatif au traitement automatique de l'information.

Calculateur

Machine qui effectue des calculs (opérations arithmétiques ou logiques) sur des données numériques.

Calculatrice (ou machine à calculer)

Type de calculateur effectuant des opérations arithmétiques.

Ordinateur

Machine qui effectue des calculs sur des données numériques en suivant les instructions d'un programme.

Automate

Automate peut désigner :

Il reproduit en autonomie une séquence d'actions prédéterminées. Les automates ont évolués en trois grandes familles :

Une seule
instruction
Suite
d'instructions
Données
logiques
Porte logiqueAutomate
Données
numériques
CalculateurOrdinateur

Fichier

Suite de valeurs numériques, généralement regroupées en octets, enregistrées sur un support de stockage. Les fichiers se répartissent en deux catégories :

Fichier exécutable ou programme

Fichier contenant une suite d'instructions exprimées dans un langage informatique, exécutable par un ordinateur. Un programme peut être :

Caractéristiques principales :

Fichier de données

Fichier contenant des données numériques traitées par des programmes.

Algorithme

Suite d’instructions permettant de résoudre un problème. Traduit dans un langage informatique, l'algorithme devient un programme.

Logiciel

Système de programmes, ainsi que tous les fichiers de données nécessaires à le rendre opérationnel.

Repères historiques

DateEvènement
IXe siècle Le nom du mathématicien persan Muhammad Ibn Mūsā Al-Khwârizmî est à l'origine du mot algorithme.
1955 IBM France introduit le mot ordinateur pour traduire l'anglais computer.
1957 L'ingénieur allemand Karl Steinbuch crée le terme Informatik pour son essai intitulé Informatik Automatische Informationsverarbeitung, traduit en français par informatique.
1969 La Délégation à l’informatique chargée du Plan Calcul adopte le mot logiciel pour traduire l'anglais software.

Traitement des données numériques

Il s'agit ici de présenter quelques machines, calculateurs ou ordinateurs, importantes dans le cadre historique. Indiquer une date précise reste la plupart du temps difficile. Il s'écoule du temps entre l'idée, la conception, la mise au point, la commercialisation. Il est souvent délicat d'affirmer que telle machine est la première au monde à obtenir tel résultat :

Solutions mécaniques

Machine d’Anticythère

C'est un dispositif mécanique grec de l'antiquité, utilisé pour calculer et afficher des informations sur les phénomènes astronomiques. C'est le premier calculateur à engrenages de l'Histoire.

Pascaline

C'est une calculatrice mécanique, inventée par Blaise Pascal en 1645. Ayant effectivement été utilisée en pratique et commercialisée, elle est souvent considérée comme la première calculatrice (ou machine à calculer) de l'Histoire.

Arithmomètre d'Odhner

C'est une machine à calculer à addition et soustraction directes et qui permet aussi de multiplier et de diviser. Inventée en Russie en 1873 par Willgodt Theophil Odhner, un immigrant suédois, elle deviendra extrêmement populaire au XXe siècle.

Machine Analytique de Charles Babbage

C'est une machine mécanique dont l'architecture ressemble à celle d'un ordinateur moderne. Elle n'a jamais été construite dans son intégralité. Sa collaboratrice, Ada Lovelace, est souvent considérée comme la première informaticienne de l'Histoire. Plan 28 est un projet de construction de cette machine.

Bombe de Turing

C'est une sorte d'ordinateur mécanique capable de casser les codes allemands d'Enigma, pendant la Seconde Guerre mondiale. Elle est une amélioration de la Bombe cryptologique du polonais Marian Rejewski, travaillant au Biuro Szyfrów. Alan Mathison Turing est souvent considéré comme le père de l'informatique.

Composants électroniques de base

Les ordinateurs et calculateurs ont été construits à partir de quatre composants de base.

Relais électromécanique

Il était très utilisé autrefois pour construire les systèmes automatisés. On dit qu'il est électromécanique plutôt qu'électronique du fait de sa partie mobile. Le premier relais réellement pratique a vu le jour en 1837, grâce à l'inventeur américain Samuel F.B. Morse (celui qui a inventé l'alphabet de même nom).

Tube à vide ou tube électronique

C'est un autre composant équivalent au relais, inventé en 1906 par l'américain Lee De Forest, très utilisé dans les années 1950-1970. Les tubes électroniques fonctionnant aussi en analogique, ils ont été très utilisés pour construire les postes de radio. Ils sont basés sur l'effet thermo-ionique.

Transistor

Qui a inventé le transistor, dont on dit qu'il a engendré la quatrième révolution industrielle, après celles du charbon, de l'électricité et du nucléaire?

Il a été mis en œuvre en 1947 par les Américains John Bardeen, William Shockley et Walter Brattain, chercheurs des Laboratoires Bell. Ces chercheurs ont reçu pour cette invention le prix Nobel de physique en 1956.

Sauf que... Quelques années plus tôt, en 1925, le physicien austro-hongrois Julius Edgar Lilienfeld déposa un brevet, au Canada, sur le concept théorique d’un « transistor à effet de champ ».

Le TA166 fut un des premier transistor commercialisé en 1952.

Microprocesseur

C'est un circuit intégré, aussi appelé puce électronique. L'Intel 4004 est le premier microprocesseur commercialisé en 1971. Fonctionnant en 4 bits, (32 caractères) à une fréquence 740 kHz, il comporte 2300 transistors.

Solutions électroniques

Zuse 3

Le relais a été utilisé pour fabriquer le premier ordinateur au monde, en 1941. Le Z3 (Zuse 3) était un calculateur à relais électromécaniques conçu par l'ingénieur allemand Konrad Zuse. Ce calculateur était la première machine programmable pleinement automatique ce qui en fait le premier ordinateur du monde. Il était composé de 2000 relais électromécaniques, fonctionnait à une fréquence d'horloge de 5 à 10 Hz et exploitait des mots d'une longueur de 22 bits. Le code et les données étaient stockés sur des rubans perforés en celluloïd.

ABC

L'ABC (Atanasoff–Berry Computer) fut reconnu, après un procès, comme le premier ordinateur numérique électronique (ce que prétendait être l'ENIAC). Il fonctionnait avec des tubes à vide et a été testé avec succès en 1942. Il a été conçu par les américains John Vincent Atanasoff et Clifford Berry.

TRADIC

En 1955, le TRADIC (TRAnsistor DIgital Computer or TRansistorized Airborne DIgital Computer) des laboratoires Bell a été le premier ordinateur à transistors des États-Unis. Il comportait 700 transistors et 10 000 diodes.

Micral N

En 1972, la société française Réalisations et études électroniques fondée et dirigée par André TRUONG, commercialise le premier micro-ordinateur vendu assemblé, le Micral N à microprocesseur 8 bits Intel 8008.

Les microprocesseurs

Architecture de von Neumann

De nos jours, la plupart des ordinateurs sont construits selon l’architecture de von Neumann. Ils sont constitués de quatre composants :

Principaux types de microprocesseurs

Deux grandes familles de microprocesseurs :

Principaux types de CPU :

TypeARMx86, x64
Utilisation
Fabriquants Qualcomm
Samsung
Freescale
Nvida
...
Intel Corporation
AMD (Advanced Micro Devices)

Evolution des microprocesseurs

Selon la loi de Gordon Moore, énoncée en 1975 : Le nombre de transistors des microprocesseurs sur une puce de silicium double tous les deux ans.

Nombres binaire, décimal, hexadécimal

Un ordinateur traite des données numériques constituées de suites de nombres. Ces derniers s'écrivent communément en notations binaire, décimale ou hexadécimale.

Conversions

Systèmes de numération :

Binaire 011011 100101110111 1000100110101011 1100110111101111
Décimal 01234567 89101112131415
Hexadécimal 01234567 89ABCDEF

On dit de manière rigoureuse :

On dit plus simplement :

Attention à la confusion, un nombre décimal peut désigner :

Conversions en Python

Exemple de code :

nb_dec=123
nb_hex=0x7b
nb_bin=0b1111011
print(nb_dec, nb_hex, nb_bin)
print(type(nb_dec), type(nb_hex), type(nb_bin))
print()

ch1=hex(nb_dec)
ch2=bin(nb_dec)
ch3=ch1[2:]
ch4=ch2[2:]
print(ch1, ch2, ch3, ch4)
print(type(ch1), type(ch2), type(ch3), type(ch4))
print()

nb1=int(ch1,16)
nb2=int(ch2,2)
nb3=int(ch3,16)
nb4=int(ch4,2)
print(nb1, nb2, nb3, nb4)
print(type(nb1), type(nb2), type(nb3), type(nb4))

Résultat obtenu :

123 123 123
<class 'int'> <class 'int'> <class 'int'>

0x7b 0b1111011 7b 1111011
<class 'str'> <class 'str'> <class 'str'> <class 'str'>

123 123 123 123
<class 'int'> <class 'int'> <class 'int'> <class 'int'>

Encodage des caractères

Divers encodages

Les données numériques représentent très souvent des caractères. La transcription des caractères, compréhensibles par l'utilisateur, en données numériques, traitées par l'ordinateur, se nomme codage ou encodage.

Exemple d'extrait du code ASCII :

CaractèreCode binaire
a1100001
+0101011
00110000

Il existe de nombreux codes différents. De nos jours, l'UTF-8 tend à se généraliser. Il est compatible avec le code ASCII, très ancien et toujours utilisé.

Code Signification Taille Organisme normalisateur Création Caractéristique
Baudot Développé par Émile Baudot 5 bits - 1874 Code télégraphique
ASCII American Standard Code for Information Interchange 7 bits ASA renommé ANSI 1960 Existe des versions étendues à 1 octet
Base64 Basé sur 64 caractères différents 6 bits IETF 1987 Convertit des données binaires en un texte
Unicode - 21 bits Unicode Consortium 1991 Compatible avec l'ASCII
UTF-8 Unicode Transformation Format, version 8 1 à 4 octets ISO 1996 Compatible avec l'Unicode

Encodage en Python

Soit la chaîne de trois caractères "eé\n" à coder en UTF-8 :

CaractèreImprimableCodé sur
eOuiUn octet
éOuiDeux octets
\n (saut de ligne)NonUn octet

Exemple d'encodage en UTF-8 :

txt="eé\n"
txt_encode=txt.encode()
print(len(txt), type(txt), len(txt_encode), type(txt_encode))
print()
for i in txt_encode :
  print(i, bin(i)[2:], hex(i)[2:], type(i))

Résultat obtenu :

3 <class 'str'> 4 <class 'bytes'>

101 1100101 65 <class 'int'>
195 11000011 c3 <class 'int'>
169 10101001 a9 <class 'int'>
10 1010 a <class 'int'>

Quelques unités

Bit, byte et octet

Noms d'unités :

Symboles d'unités :

Précautions à prendre :

Multiples de l'octet

Préfixes décimaux et binaires :

Préfixes décimauxPréfixes binaires
NomSymboleValeur (o)NomSymboleValeur (o)
Kilooctetko103KibioctetKio210
MégaoctetMo106MébioctetMio220
GigaoctetGo109GibioctetGio230
TéraoctetTo1012TébioctetTio240
PétaoctetPo1015PébioctetPio250
ExaoctetEo1018 ExbioctetEio260
ZettaoctetZo1021ZébioctetZio270