La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Sif-10531 Cours 4 n 3. Construction dun ordinateur F Schéma général dun ordinateur F Unités fonctionnelles dun ordinateur F Le cycle dexécution n Le matériel.

Présentations similaires


Présentation au sujet: "Sif-10531 Cours 4 n 3. Construction dun ordinateur F Schéma général dun ordinateur F Unités fonctionnelles dun ordinateur F Le cycle dexécution n Le matériel."— Transcription de la présentation:

1 sif Cours 4 n 3. Construction dun ordinateur F Schéma général dun ordinateur F Unités fonctionnelles dun ordinateur F Le cycle dexécution n Le matériel u Chapitre 3 CSA u Chapitres 3 et 4 CSAPP u Synthèse du professeur

2 sif Introduction n Tout ordinateur, gros ou petit, se compose au minimum dune mémoire centrale (RAM) qui contient les programmes, les données et éventuellement les résultats, dune unité centrale de traitement (UCT, CPU) qui exécute les programmes, dunités dentrées-sorties (I/O) permettant des échanges avec lextérieur, et dun bus de liaison qui permet linterconnexion des trois modules précédents.

3 sif Schéma général dun ordinateur

4 sif Schéma général dun ordinateur

5 sif Schéma général dun ordinateur (Little Man Computer)

6 sif Schéma général dun ordinateur

7 sif Schéma général dun ordinateur

8 sif Schéma général dun ordinateur Registres importants: PC (program counter) ou IP (instruction pointer) IR (Instruction register) AX (Accumulator register) FR (flag register)

9 sif Schéma général dun ordinateur

10 sif Unité arithmétique et logique (ALU) 1 0 1

11 sif CPU: PENTIUM

12 sif CPU: PENTIUM PRO

13 sif CPU: CORE DUO

14 sif Schéma général dun ordinateur n Linformation qui transite sur le bus de liaison se divise logiquement en trois catégories importantes bien distinctes: les données, que lon définit comme tout ce qui est contenu dans la mémoire centrale; les adresses, qui permettent à lunité centrale de lire ou décrire dans une position de mémoire particulière ou daccéder à une unité périphérique quelconque; et enfin, divers signaux de commandes qui contrôlent le type et le synchronisme des échanges entre les différents composants.

15 sif Schéma général dun ordinateur n Il est donc dusage courant de représenter schématiquement le bus de liaison par trois bus spécialisés qui sont: le bus de données, le bus dadresses et le bus de commandes. En pratique, les manufacturiers construisent généralement un seul bus physique qui intègre tous les signaux (données, adresses et commandes).

16 sif Schéma général dun ordinateur n Chaque instruction exécutée par le CPU ne correspond pas à un seul événement, mais est constituée dune séquence de phases distinctes appelées micro-cycles ou micro-opérations. n Chacune de ces micro-opérations est cadencée par rapport à une horloge système n Pour une horloge système de 1 GHz, chaque micro-opérations devrait durée au plus 1 nanoseconde t = 1/f, 1.0 = 1 X s = 1 nsec 1 X 10 9

17 sif Schéma général dun ordinateur n Micro-opérations correspondant à lexécution dune instruction typique

18 sif Bus de donnés: Typiquement de 32 bits de large mais de plus en plus à 64 bits Bus dadresse: 32 bits de large mais sera aussi élargi bientôt Bus de commande: Environ 15 lignes responsables de laiguillage des tâches

19 sif Bus du PENTIUM II: AGP (Accelerated Graphic Ports) et PCI (Peripheral Component Interface)

20 sif Bus du PENTIUM IV (2002): AGP (Accelerated Graphic Ports) et PCI (Peripheral Component Interface)

21 sif Bus du PENTIUM IV: PCI EXPRESS (Peripheral Component Interface)

22 sif Bus (interconnexions typiques)

23 sif Le rôle de la mémoire principale (RAM) n Un programme doit être enregistré en mémoire avant le début de son exécution. La mémoire, à partir de laquelle le programme sexécute, est appelée mémoire centrale ou mémoire principale (RAM). Cette mémoire contient dune part, les instructions du programme que la machine doit exécuter; les données, souvent appelées opérandes, sur lesquelles la machine effectue les traitements dictés par les instructions; et enfin, les résultats qui sont les conséquences de lexécution dune ou de plusieurs instructions.

24 sif n Pour celui qui programme un ordinateur, la mémoire apparaît comme un ensemble de cases juxtaposées. Chaque case est désignée par un numéro (0, 1, 2,,, 65535, etc.), que lon appelle adresse, et contient un mot. Ce contenu est un mot binaire dune longueur donnée et fixe. Sil est de 8 bits, on le nomme octet (byte). Pour en faciliter la lecture (pour un humain), cet octet est représenté par deux chiffres hexadécimaux. Chaque octet peut représenter: une instruction du programme, ou une donnée, ou un résultat.

25 sif

26 sif Relation entre la largeur des adresses et la longueur de la mémoire

27 sif Little-endian VS Big-endian: arrangement des octets en mémoire des mots de 16, 32, 64 bits Par exemple si nous déclarons les vecteurs suivants en langage C: unsigned char b1[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9,10, 252, 253, 254, 255 }; unsigned short b2[ ] = {1, 2, 3, 4, 5, 254, 255, 256, 257, 65532, 65533, 65535, }; unsigned int b4[ ] = {1, 2, 3, 4, 5, 254, 255, 256, 4095, 4096, 4097, };

28 sif Little-endian VS Big-endian INTEL VS MOTOROLA

29 sif n Lunité centrale de traitement doit traiter essentiellement deux types dinformation: les instructions et les opérandes (données). LUCT est divisée fonctionnellement en deux unités constituantes: lunité de contrôle (UC), également appelée unité dinstructions ou unité de commande; et lunité arithmétique et logique (UAL) ou unité de traitement. Le rôle de lunité centrale

30 sif

31 sif n Au cours dun traitement, les différentes informations: instructions, données et résultats, doivent être temporairement conservées à lintérieur de lunité centrale dans des éléments de mémoire capables de contenir une information. Il sagit tout simplement de cases de mémoire comparables à celles que lon retrouve à lintérieur de la mémoire principale (RAM), mais ces cases sont situées à lintérieur de lunité centrale et elles sont appelées registres. n Exemples u EAX: registre accumulateur de 32 bits u AX: registre accumulateur de 16 bits

32 sif n Une unité centrale possède toujours un certain nombre de registres que lon identifie par des noms particuliers. Par exemple, un registre par où transite les données ou les résultats sappelle habituellement registre accumulateur, ou plus simplement accumulateur. n L ensemble des registres et de l UAL forment ce que l on identifie comme « le chemin des données » (data path).

33 sif

34 sif n Jusquà présent notre ordinateur exécute un programme initialement enregistré en mémoire centrale, portant sur des données également enregistrées en mémoire centrale, et les résultats sont rangés dans la mémoire au fur et à mesure de leur obtention. Les programmes et les données que lon charge en mémoire centrale proviennent dunités périphériques, par exemple un terminal ou un lecteur de disque. Il faut donc donner à la machine les moyens de communiquer avec lextérieur, cest-à-dire avec ses unités périphériques. Cest le rôle des unités dentrées-sorties (I/O). Le rôle des unités dentrées/sorties

35 sif n Il existe deux grandes catégories dunités périphériques, tout dabord les unités de communication (terminal, souris, imprimante) qui permettent le dialogue homme/machine. n Et en second lieu les mémoires auxiliaires (disques, bandes magnétiques) dont les capacités de stockage (en nombre doctets) sont supérieures à celle de la mémoire principale.

36 sif n Il existe également une autre catégorie dunités de communication extrêmement importante, les unités qui permettent les communications machine/machine. n On retrouve dans cette catégorie toutes les interfaces nécessaires au réseautage local ou étendu.

37 sif

38 sif

39 sif PCI: Peripheral Component Interconnect ISA: Industry Standard Architecture

40 sif n Examinons comment lordinateur sy prend pour résoudre un programme simple, tel laddition des nombres 8 et 2. n Algorithme 1)Le nombre 8 est placé dans le registre accumulateur; 2)ajouter 2 au contenu de l accumulateur; 3)recopier le contenu de laccumulateur en mémoire centrale, afin de conserver le résultat de laddition; 4)on sarrête ici. Exécution dun programme simple

41 sif n Remarquer que lon a délibérément choisi de ne pas transmettre le résultat de laddition au monde extérieur (à un terminal par exemple), question davoir un programme simple. On se contente de conserver le résultat de laddition en mémoire principale.

42 sif La seconde étape consiste à traduire notre algorithme selon un ensemble dinstructions un peu plus près de ce que peut comprendre un ordinateur. Pour ce faire, les manufacturiers dordinateurs offrent tous un langage symbolique qui nous permet de représenter notre algorithme sous une forme beaucoup plus compacte, et beaucoup plus près de ce que la machine peut comprendre. Par exemple, notre algorithme pourrait correspondre au langage symbolique suivant:

43 sif ) MVI A, 8 // A <- 8 2) ADI A, 2 // A <- A + 2 3) STA 2FFF // 2FFF <- A 4) HLT

44 sif ) MVI A correspond au code 3E 2) ADI A correspond au code C6 3) STA correspond au code C9 4) HLT correspond au code 76

45 sif n Il ne nous reste plus quà assembler (recopier) les instructions de notre programme, en utilisant les codes numériques et en y ajoutant les opérandes que lon code également sous forme hexadécimale. Ce qui nous donne: 1) 3E 8 2) C6 2 3) C9 2FFF 4) 76

46 sif

47 sif n Chez tous les ordinateurs, lexécution dune instruction par lUCT suit un processus bien déterminé. Ce processus porte le nom de cycle dextraction, de décodage et dexécution ou tout simplement cycle extraction-décodage-exécution (en anglais, FETCH-DECODE-EXECUTE cycle). Certains auteurs lappellent également FETCH-EXECUTE

48 sif Little Man Computer VS CPU (Cycle dexécution)

49 sif Little Man Computer

50 sif FETCH (LOAD)

51 sif FETCH (LOAD)

52 sif EXECUTE (LOAD)

53 sif EXECUTE (LOAD)

54 sif Étapes dexécution dune instruction n Chargement de la prochaine instruction à partir de la mémoire dans le IR. n Mise à jour du PC (PC <- PC + 1). n Décodage de l instruction. n Si un accès mémoire est requis (opérandes), déterminer l emplacement. n Chargement du mots de mémoire, si requis, dans un des registres n Exécution de l instruction. n Répéter ces étapes pour la prochaine instruction.

55 sif Étapes dexécution dune instruction (Pentium) n Sur une architecture INTEL Pentium, nous pourrions exécuter linstruction suivante: short int ncount = 256; // langage C MOV AX, 0x100 // langage assembleur // binaire Code de linstruction Opérande de 16 bits

56 sif Étapes dexécution dune instruction (Pentium) Registres: AX: Accumulateur IR: Dinstruction IP: Pointeur dinstruction MAR: Adresse mémoire

57 sif Étapes dexécution dune instruction (Pentium) Registres: AX: Accumulateur IR: Dinstruction IP: Pointeur dinstruction MAR: Adresse mémoire MDR: Données mémoire Address Data Relation entre le MAR, le MDR et la RAM

58 sif Étapes dexécution dune instruction (Pentium) Registres: AX: Accumulateur IR: Dinstruction IP: Pointeur dinstruction MAR: Adresse mémoire MDR: Données mémoire Exemple dinteraction

59 sif Cycle FETCH-EXECUTE (Pentium) n Phase de retrait de linstruction (FETCH) u Ladresse dans le registre IP est copiée sur le bus des adresses et emmagasinée dans le registre MAR (MAR <- IP) u Le registre IP est incrémenté et pointe sur lemplacement suivant dans la mémoire contenant le programme (IP++) u Le module de mémoire sélectionne lemplacement requis et copie son contenu sur le bus de données (DBus <- [MAR]) u Le CPU transfert le contenu du bus de données dans le registre IR (IR <- DBus) u Le décodage de linstruction dans le registre IR commence alors

60 sif Cycle FETCH-EXECUTE (Pentium) n Phase de retrait de linstruction (FETCH) IP

61 sif Cycle FETCH-EXECUTE (Pentium) n Phase dexécution de linstruction (EXECUTE) n Cette phase peut varier selon le type dinstruction. Pour le MOV AX, 256 les phases sont: u Le contenu du registre IP est copié sur le bus dadresse et emmagasiné dans le registre MAR (MAR <- IP) u Le registre IP est incrémenté (IP++) u Lopérande de 16 bits (256) sélectionnée en mémoire est déposée sur le bus des données ( DBus <- [MAR]) u Le CPU emmagasine la valeur sur le bus de données dans le registre AX (AX <- DBus)

62 sif Cycle FETCH-EXECUTE (Pentium)

63 sif Cycle FETCH-EXECUTE (Pentium) Chronologie

64 sif Cycle FETCH-EXECUTE n La séquences FECTH-EXECUTE peut être grandement accélérée en effectuant un pré-chargement des instructions Sans pré-chargement Avec pré-chargement

65 sif Cycle FETCH-EXECUTE n Le pré-chargement des instructions doit alors être effectué par une unité dédiée

66 sif Architecture avec une unité FETCH indépendante


Télécharger ppt "Sif-10531 Cours 4 n 3. Construction dun ordinateur F Schéma général dun ordinateur F Unités fonctionnelles dun ordinateur F Le cycle dexécution n Le matériel."

Présentations similaires


Annonces Google