SCIENCES NUMERIQUES ET TECHNOLOGIE
GENERALITES

Définitions

Un même mot désigne plusieurs choses, plusieurs mots désignent la même chose, de nouveaux mots apparaissent...

Informatique

Domaine d'activité scientifique, technique et industriel concernant le traitement de l'information par ordinateur.

Calculateur

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

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
numériques
CalculateurOrdinateur
Données
logiques
- Automate programmable industriel

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 : Les fichiers exécutables et les fichiers de données.

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 :

Fichier de données

Fichier contenant des données traitées par des programmes. Il se caractérise par un format de données : Texte brut, image au format png...

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.

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 relève souvent de l'impossible. Il s'écoule un temps assez long entre la conception, la réalisation, 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 codées sous la forme de nombres binaires. Par exemple, un signal analogique est converti en une donnée numérique pour pouvoir être traitée par ordinateur. Les nombres binaires étant difficiles à lire pour un humain et longs à écrire, on les convertit régulièrement en nombres décimaux ou hexadécimaux pour les rendre moins difficile à lire ou plus courts à écrire.

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 binaires sont utilisées pour représenter des nombres mais aussi des caractères. La transcription des caractères, compréhensibles par l'utilisateur, en codes binaires, compréhensibles 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 Représente souvent des données binaires
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 (retour à la 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