Discussions endiablées autour du retrogaming et des consoles de jeux vidéo, micro-ordinateurs et Arcade. Amstrad / Atari / Bandai / Commodore / Nec / Nintendo / Sega / SNK / Sony / Microsoft


Connexion

Récupérer mon mot de passe



Derniers sujets

» Topic officiel Xbox
par fafnir Aujourd'hui à 22:40

» Vos jeux finis en 2018
par kurush Aujourd'hui à 22:07

» NIOH sur ps4 (la sois disante relève de Onimusha)
par Dr Emmett Brown Aujourd'hui à 21:27

» Humour vidéoludique
par Esperluette Aujourd'hui à 21:22

» Les jeux Disney sortis sur Sega Megadrive et Nintendo SNES (dossier)
par marmotplay Aujourd'hui à 21:05

» Le topic officiel de la Super Nintendo
par Warhol Aujourd'hui à 20:57

» Kabuki : Quantum Fighter (NES)
par Emeldiz Aujourd'hui à 20:05

» Panne, garantie, SAV : le topic des emmerdes
par Junkers Aujourd'hui à 17:30

» Golden Axe III (Megadrive)
par wiiwii007 Aujourd'hui à 16:55

» Final Fight 3 (Snes)
par ange_dechu_lucifer Aujourd'hui à 15:39

Rechercher
 
 

Résultats par :
 

 


Rechercher Recherche avancée


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

forum.paderetro.com » L'enfer » Consoles rétros 2D » Sega Megadrive » Le fonctionnement d'une Megadrive - partie 3 : la mémoire (dossier)

Le fonctionnement d'une Megadrive - partie 3 : la mémoire (dossier)

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

fafy

avatar
Témoin de Nintendovah
----------------------------------

0- Introduction :

Dans la première partie du dossier, nous avons vu comment travail le processeur graphique de la Megadrive. Dans la seconde partie, c'est son processeur centrale qui a été passé au décryptage de fonctionnement. Avant de continuer à passer au crible le reste de la carte mère de la console (donc de s'attaquer au processeur sonore) et pour commencer à faire un liant avec les deux premières parties, je vous propose de partir à la découverte fonctionnelle de la mémoire informatique.

----------------------------------

1- Analogie :

Pour l'analogie, la mémoire en informatique, c'est un peu comme une grande armoire pleine de casiers numérotés dans lesquels sont rangés des choses. Souvenez vous, dans notre exemple, le technicien vas y chercher ses VHS pour alimenter ses magnétoscopes selon une liste de choses à faire dans un temps précis et à une cadence précise...

Pour être un peu plus précis dans ce que notre pauvre technicien acharné de travail doit réaliser, sachez que les casiers de l'armoire sont trop petits pour pouvoir accueillir une grosse VHS. Alors, pour que ces cassettes puissent être stockées dedans, les producteurs ont eu la géniale idée de les démonter en autant de petites pièces que nécessaire et confié la tâche à notre "esclave de l’horloge" de les remonter avant utilisation en suivant un plan...

Pas de panique, en fait, comme vous l'avez lu dans la partie précédente, notre ami est capable de réaliser 7,6 millions de choses en 1 seule seconde alors, franchement, il a plus que le temps de réaliser cette action !

----------------------------------

2- Explications :

Le principe de fonctionnement de la mémorisation électronique est extrêmement simple. Imaginez que vous avez 8 interrupteurs électriques reliés chacun à une ampoule et que vous allumez le premier puis le dernier. Vous vous retrouvez donc avec l'équivalence d'un mot binaire de 8 bits 10000001 (valant 129). Le fait que vous puissiez partir en le laissant allumé le "mémorise".

Une mémoire comporte un nombre extrêmement grand de ces interrupteurs formant des mots. C'est une banque de mots pour être plus précis et, il en existe deux types : les mémoires dites "mortes" et les mémoires dites "vives"...

La mémoire morte est une mémoire qu'on a figé et qu'on ne peut modifier qu'avec un procédé spécifique. Ni l'utilisateur, ni le programme ne peuvent la modifier. On dit qu'elle est en "lecture seule" et vous la connaissez sous le nom de ROM pour Read Only Memory. Un CD, un DVD ou un BlueRay sont des mémoires mortes au même titre qu'une cartouche de jeu car, ni vous ni le programme de la console ou du lecteur média ne peuvent en modifier le contenu pendant son exécution.

La mémoire vive est une mémoire qui, à son initialisation, est vide de toutes données. C'est une sorte de zone de stockage temporaire dans laquelle le programme dépose des données qu'il exploitera en cours de route et dont il pourra modifier le contenu à tout instant et à la volée. Vous la connaissez sous le nom de RAM pour Random Access Memory. Les registres du processeurs, les barrettes mémoires de vos ordinateurs sont des mémoires vives car leur contenu change en fonction de l'utilisation et qu'à l’extinction de votre appareil, toutes ses données disparaissent.


Pour la Megadrive, la mémoire utilisée est principalement de type RAM (vive), la cartouche de jeu et le BIOS sont les seuls éléments de la console qui utilisent une mémoire ROM (morte).

Donc, nous avons désormais bien compris qu'une mémoire est une grande banque de stockage de données numériques rangées proprement dans des emplacement numérotés. Ces emplacements sont nommés "adresses mémoires" et comprennent tous l'équivalent d'un octet mémorisable. Mais, leur nombre est limité par une contrainte technique...

Pour comprendre le problème, retournons vers notre processeur centrale. Pour communiquer avec son environnement extérieur le Motorola 68000 (et tous les autres aussi) utilisent ce que l'on appel des bus (de données ou d'adressage). Comme son nom l'indique, un bus est capable de transporter plusieurs bits en même temps et en parallèle (en tous cas pour notre processeur à nous, c'est le cas).


On sait, grâce à la documentation technique du 68000 que notre processeur possède un bus d'adresse large de 24 bits (16 bits pour celui de données), ce qui représente une capacité de comptage maximum de 16.777.216 et donc d'autant d'emplacements mémoire possible, soit environ 16Mo maximum ! Si le bus d’adresse avait été plus large, la mémoire maximum possible aurait été plus importante. Inversement, pour un bus moins large, la capacité mémoire aurait été plus faible.

En comparaison, le Zilog Z-80 qu'utilise la Master System ne possède qu'un bus d'adresse large de 16 bits pour une capacité mémoire maximum de seulement 64Ko. Vous voyez la grosse différence qu'il existe pour seulement 8 bits en plus ???


Bon, à l'époque de notre bonne vieille Megadrive, il aurait été impensable d'embarquer 16Mo de mémoire sur une console de jeu. En 1989, le prix du Mo de mémoire devait être compris en 30 et 40$... Ce ne sont donc que 64Ko qui seront embarqués à bord de notre machine (la Super Famicom, qui sortira quelques années plus tard, en embarquera 128Ko).


Dans la partie précédente de ce dossier (celle sur le processeur), j'avais donné un exemple de calcul mathématique pour lequel j'avais détaillé (grossièrement) le processus de résolution. Rappelez vous, j'avais parlé d'actions comme :

- Aller chercher A.
- Stoker A dans le registre 1.

Et bien nous allons désormais pouvoir approfondir ce processus :

"Aller chercher A" va pouvoir se traduire en "rendez vous à l'emplacement mémoire xxxxxxxx.xxxxxxxx.xxxxxxxx (oué y'a 24 bits quand même...) et lire sur ton bus de données l'octet présent dans cet emplacement. Tiens, il y a un petit problème !!!

Sur le schéma du processeur 68000, on voit bien que son bus de données est de 16 bits de large. Mais alors si on a un mot de 16 bits à traiter, comment allons nous faire si la mémoire ne peut stocker que des mots de 8 bits? Pas de panique, on a beaucoup de marge dans la cadence d’exécution du processeur alors, le programme va tout simplement scinder le processus en deux et notre petite phrase va ainsi devenir :

"Va chercher la première partie de A à l'emplacement mémoire X (oué, on va pas se retaper les 24 bits à chaque fois) et stock cet octet dans ta mémoire. Une fois que tu auras fini, va chercher la seconde partie de A à l'emplacement X+1 et stock ce que tu y trouveras à la suite de ce que tu as trouvé avant."

Stocker uniquement des mots de 8 bits (1 octet) est une manière fiable de gagner de la place dans la mémoire. Si votre mot binaire ne dépasse pas la valeur de 256 (maximum pour 8 bits) il serait idiot d'utiliser 16 bits pour le stocker... Deux coups d'horloge sont encore parfaitement acceptable pour coupler deux octets dans un mot de 16 bits.

Maintenant, on peut passer passer à la seconde étape :

"Stocker A dans le registre 1" va pouvoir se traduire en "maintenant que tu as reconstitué ton mot 16bits, transfert le dans ta mémoire interne n°1 pour pouvoir le traiter par la suite"

Pour la petite précision, sachez que les registres ne sont ni plus ni moins que des emplacement mémoires mais qui possèdent la particularité d'être au plus près de l'unité de calcul, minimisant ainsi le chemin à parcourir pour accéder aux données. Ils sont donc très rapides mais extrêmement coûteux à mettre en place au milieu de l'architecture déjà très complexe d'un processeur. C'est pour cela qu'ils sont en nombre réduit (ici 8 de données et 8 d'adresses).

----------------------------------

3- Conclusion :

Voilà dans les grosse lignes comment fonctionnent des mémoires informatiques. Leur technologie est basée sur un montage faisant office d'interrupteur pouvant mettre à 0 ou à 1 un bit et le conserver dans cet état jusqu'à qu'on ne souhaite plus l'utiliser et qu'on l'efface. Le processeur accède aux données stockées dans ces mémoires à l'aide d'un bus d'adresse permettant de lire la valeur d'un emplacement précis puis la traite et la transmet à qui de droit.

Pour la prochaine et dernière étape avant la conclusion récapitulative, nous iront regarder de plus près le circuit sonore de la Megadrive et comprendre comment des 0 et des 1 peuvent se transformer en musiques et en bruitages...



Dernière édition par fafy le Dim 17 Mai - 8:06, édité 1 fois

http://www.aros-tech.fr/

fafy

avatar
Témoin de Nintendovah
L'avant dernière partie de ce dossier "compréhension technique" sera disponible d'ici quelques jours, préparez vos méninges

http://www.aros-tech.fr/

ange_dechu_lucifer

avatar
Administrateur

assassin.

http://paderetro.com/

fafy

avatar
Témoin de Nintendovah
Rooooo ca va c'est pas trop compliqué non plus... Si tu sait additionner et soustraire, il ne devrait pas y avoir de soucis de compréhension

En même temps j'ai précisé : si il y a la moindre zone d'ombre, je suis la pour l'expliquer (et y'en a d'autres ici aussi qui sont tout à fait capables de le faire Smile)

http://www.aros-tech.fr/

Kawet

avatar
Chat-Bits

Pourquoi tu fais pas quelquechose de plus propre pour les liens ? Suspect

fafy

avatar
Témoin de Nintendovah
Oué... À voir si je peux rendre ca plus jolie à l'avenir... Mais la j'ai beaucoup de choses à faire alors pour le moment, c'est fonctionnel et c'est bien la l'essentiel

http://www.aros-tech.fr/

Kawet

avatar
Chat-Bits
@fafy a écrit:Oué... À voir si je peux rendre ca plus jolie à l'avenir... Mais la j'ai beaucoup de choses à faire alors pour le moment, c'est fonctionnel et c'est bien la l'essentiel

bah pas joli mais plus explicite

Dossier Megadrive :

Partie I : le processeur vidéo
Partie II : le processeur motorola 68000

30 secondes

fafy

avatar
Témoin de Nintendovah
t'facon je cais tout regrouper sous un même topic à la sortie du 4 donc plus de problemes

http://www.aros-tech.fr/

fafy

avatar
Témoin de Nintendovah
Bon, du coup j'ai pas eu le temps de développer la suite, incoming avant la fin du week-end, promis (madame est en vacances, elle me monopolise pas mal !!!)

http://www.aros-tech.fr/

ange_dechu_lucifer

avatar
Administrateur

@fafy a écrit:madame est en vacances, elle me monopolise pas mal !!!

On a droit aux vidéos ou pas?

http://paderetro.com/

fafy

avatar
Témoin de Nintendovah
Ben si les centres commerciaux de la part-dieu, des confluences, de carré de soie, l'intégralité des Nocibé de Lyon et les "la vie claire" de la région t’intéressent, je peux te filmer ca

Edit: y'a aussi les Mango et les Minelli !!!

http://www.aros-tech.fr/

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum