Fonctionnement des ordinateurs de zéro

Fonctionnement des ordinateurs de zéro

a marqué ce sujet comme résolu.

Traduire en "zéro"/"un" risque de porter à confusion avec les valeurs des bits envoyés sur les entrées. A la rigueur, je pourrais traduire par Mise à 0/1, mais je devrais refaire tous les schémas, et vérifier la cohérence avec la terminologie des chapitres ultérieurs. Autant dire que je préfère garder Reste et Set.

Soµ.L-[T@_K3r]

En relisant, j'ai vu que tu avais mis mise à zéro or je n'avais lu que zéro. Donc my bad, tout me semble bien là-dessus. :)

+0 -0

Bonjour, j'apporte ma petite contribution sur la version qui est actuellement en bêta en espérant ne pas faire de redondances (je n'ai pas lu toutes les corrections) :

I.1

  • manipuler divers formes ==> diverses
  • rien d 'autre ==> problème espace
  • 127éme ==> 127ème
  • les fichiers Jpeg, GIF, PNG ==> JPEG
  • microphone à intervalle réguliers ==> intervalles ?
  • A chaque mesure ==> À
  • plus il y a de chiffre ==> chiffres
  • C'est du au fait ==> dû
  • pour des raisons de résistance au perturbations ==> aux

I.2

  • c'est qu'une opération entre deux grand nombres ==> grands
  • lors d'un débordement, on arrondi ==> arrondit
  • avec 3 bits, voir 5 ==> voire
  • une fois pour toute ==> toutes
  • tel la soustraction ou la multiplication ==> telles
  • deux nombres de même signe ==> mêmes signes
  • Les nombres à virgule fixe ont aujourd'hui étés ==> été
  • nombre de chiffre ==> chiffres
  • à nombre de bit égal ==> bits
  • Cependant, nous n'allons par parler de ces méthodes ==> paS
  • un pile donne 1, tandis qu'un face donne 0 ==> les "un" sont bizarres, peut être mettre "une" à la place non ?
  • Si le nombre à convertir est supérieur au nombre fournit ==> fourni
  • gérer des nombre signés ==> nombres
  • deux générateurs pseudo-aléatoire ==> aléatoires
  • un pour chacune des deux ligne ==> lignes
  • Nous ne parlerons pas de cette méthode, ni des circuits ==> pas de ","

Je continuerai surement demain. Désolé si des fautes signalées sont correctes :), bon courage

Introduction

L'architecture de base/Introduction

Tu n'en mets pas ?

L'architecture de base/Encodage, traitement, décodage/Introduction

Un ordinateur peut manipuler divers formes

diverses

correspondance entre ces nombres et du son, du texte, etc

etc.

L'architecture de base/Encodage, traitement, décodage/Tout est nombre

la vidéo, qui n'est rien d 'autre

d'autre

(lettre, pixel, etc)

etc.

Pour montrer à quoi peut ressembler un encodage

Tu as parlé de codage, pas d'encodage.

du texte, une image, du son

du texte, une image puis du son

Texte : Standard ASCII

Tu as mis un accent dans le texte de l’abréviation.

On code du texte en assemblant plusieurs lettres les unes à la suite des autres.

Je parlerais plutôt de caractères.

par une table de correspondance

correspondances ?

Table ASCII

La colonne "Hex" me gêne un peu, sachant qu'on n'a pas encore vu ce dont il s'agissait. D'ailleurs, si tu as l'occasion, il serait peut-être préférable de l'intégrer sous forme d'un tableau Markdown, ce qui nous permettrait de copier des informations. Je peux m'en charger si tu veux.

D'ailleurs, les symboles 0 à 31

les symboles numérotés de 0 à 31

Ces symboles présents dans ce standard ASCII ne peuvent pas être tapés au clavier

Euh, je peux bien appuyer sur "Escape" ou "Del", non ?

De nos jours, on utilise des codages de texte plus complexe

complexes

Les nouveaux encodages comme l'Unicode peuvent ainsi gérer les caractères chinois, japonais, grecs, etc.

Je ferais remarquer plus haut que ASCII ne gère que l'alphabet anglais.

Pixel d'une image

Pixels

notamment coder une image en utilisant moins de nombres

Moins de nombres que quoi ?

Mais dans les fichiers Jpeg, GIF, PNG

Je ne comprends pas le "mais".

et autres; les

et autres, les

par un microphone à intervalle

intervalles

A chaque mesure, l'intensité

À

L'architecture de base/Encodage, traitement, décodage/Analogique, numérique et binaire

Cet extrait n'apparaître pas très clair aux débutants. Alors que tu détailles très bien la notion de codage, tu passes très vite sur celles de numérique et d'analogique.

De plus, on ne comprend pas trop ce que vient faire la tension ici. Je pense que tu prends le problème à l'envers. Il serait plus judicieux de commencer par dire qu'on code les informations avec et 0 et des 1 et que pour représenter ces deux chiffres, on utilise la tension (ou le courant, j'en sais rien). Je procéderais ainsi :

  • On code tout avec des nombres
  • On code cela électroniquement parce que c'est rapide (il me semble très important que le lecteur comprenne qu'on peut faire ça autrement, mécaniquement par exemple)
  • On code tout avec des 0 et des 1
  • On le fait avec la tension (ou le courant, j'en sais rien)

Personnellement, j'imposerais des bases minimales en électronique (uniquement connaître les notions de tension et de courant).

+0 -0

L'architecture de base/Codage des nombres/Introduction

RAS.

L'architecture de base/Codage des nombres/Nombres entiers positifs

Prenons un nombre entier

positif ?

1337 = 1 × 1000 + 3 × 100 + 3 × 10 + 7 × 1

Ca rendrait mieux en LaTeX, sans trop ralentir la page. Ca vaut pour le reste.

Lorsque c'est le cas, on dit qu'ils sont en base 10.

Le "Lorsque c'est le cas" semble se rapporter à "tout nombre peut s'écrire". Or tout nombre peut s'écrire en base 10.

Mais je suis un peu gêné par ce passage, parce que la notion de base mériterait un tutoriel entier, ce sur quoi travaille d'ailleurs Dominus. Ici, ce n'est pas assez complet pour être rigoureux je pense. Par exemple, tu dis que lorsqu'un un nombre est écrit comme une somme de multiples de puissances de 10, il est en décimal. Mais tu écris plus bas $25$ comme somme de multiples de puissances de 2 ($25 = 2^4 + 2^3 + 2^0$), et pourtant $25$ n'est pas du binaire.

Une base c'est un mode d'emploi pour lire la suite de symboles qu'est un nombre.

n'importe quel nombre entier peut servir de base

N'importe quel entier strictement supérieur à 1, non ?

La base 2 ayant une meilleure résistance aux perturbations électromagnétiques, elle est utilisée dans tous les ordinateurs actuels.

N'est-ce pas aussi parce qu'il est facile de représenter 0 et 1 en électronique (allumé ou éteint) ?

Le bit de poids faible est celui qui est le plus à droite du nombre, celui dont le poids est 0

Le bit de poids fort c'est l'inverse : c'est celui qui est placé le plus à gauche.

Pas dans l'écriture "(a0 × 1) + (a1 × 2) + … + (an × 2n)" que tu donnes.

Voici le tableau des 16 premiers nombres en base 2 :

Je rajouterais une colonne pour préciser que $100$ en binaire, c'est $1 \times 2^2 + 0 \times 2^1 + 0 \times 2^0$ en décimal.

Exemple d'illustration de la méthode de conversion décimal vers binaire

Un tableau me semble plus judicieux :

Nombre Quotient Reste
34 17 0
17 8 1
8 4 0
4 2 0
2 1 0
1 0 1

Ainsi, un ordinateur manipule des entiers de taille fixe

Je ne comprends pas le "ainsi". Plutôt :

Or un ordinateur manipule des entiers de taille fixe, donc ne peut représenter des nombres que dans un intervalle déterminé.

Certains processeurs ne conservent que les bits de poids faibles du résultat.

Tu n'as pas expliqué ce qu'étaient les bits de poids faibles.

Le passage n'est pas très clair :

  • Te places-tu dans le cas d'un débordement d'entier ?
  • Tu devrais détailler l'exemple.

on arrondit le résultat au plus grand entier supporté par l'ordinateur

dans ce cas, on arrondit au plus petit entier possible.

Je chipote, mais ce n'est pas vraiment un arrondi.

Gestion des débordements d'entiers

Tout plein de termes techniques que tu n'as pas introduits…

symétriser les nombres déjà obtenus

symétriser verticalement

Je croyais que tu disais que transformer $001$ en $100$.

Celle-ci permet de connaitre le codage du nombre n à partir du codage du nombre n-1, comme la méthode du dessus.

Euh, je crois qu'au-dessus, n désigne le nombre de bits sur lequel on code, et non le nombre décimal que l'on code.

avec 3 bits, voir 5

voire

c'est le cas des suites de bit qui correspondent à

bits

qui correspondent aux entiers décimaux

Généralement, ces solutions modifient la signification des bits et n'utilisent pas de binaire normal.

Je ne comprends pas trop cette phrase.

L'architecture de base/Codage des nombres/Nombres entiers négatifs

on peut donc coder tous les nombres compris dans l'intervalle

Tu devrais remplacer $\frac{2^n}{2}$ par $2^{n-1}$ et utiliser les crochets pour représenter l'intervalle.

On remarque que l'intervalle des entiers représentables sur N bits

Un coup tu utilises n, un coup N. Je pense que tu devrais choisir. D'ailleurs, je pense que tu voulais dire n ici, puisque c'est ce que tu utilises dans la phrase suivante.

Avec 4 bits, cela donne ceci :

Autant représenter ça avec un tableau Markdown, non ?

Cela pose des problèmes lorsqu'on demande à notre ordinateur d'effectuer des calculs ou des comparaisons avec zéro.

Je ne comprends pas pourquoi. Il suffit de dire qu'on n'utilise que +0 par exemple, non ?

Avec cette méthode, on peut remarquer que le bit de poids fort (le bit le plus à gauche) vaut 1 si le nombre est négatif et 0 si le nombre représenté est positif.

Euh… 8 est positif et vaut en binaire 1000, non ?

De même, -8 serait 0111.

Je pense que tu as oublié de dire qu'on ne codait la valeur absolue que sur n-1 bits.

Celui-ci se comporte comme un bit de signe

se comporte donc

En utilisant n bits, un nombre représenté en complément à un

à 1

on ne gardera que les N bits de poids faible

de poids les plus faibles

Maintenant, regardons ce que donne cette opération en binaire.

Tu n'as pas expliqué comment additionner deux nombres en binaire.

pour les autres opérations, tel la soustraction ou la multiplication

telles

un débordement a lieu quand le bit du signe

de signe

Il faut bien que çà serve

ça

convertit le nombre en complément à un

convertir

L'extension de signe des nombres positif

positifs

'est la même chose qu'en décimal : rajouter des zéros à gauche d'un nombre ne changera pas sa valeur

d'un nombre positif

Mais du coup, l'analogie avec le décimal ne marche pas trop.

les 8bits les plus à gauche

8 bits

L'architecture de base/Codage des nombres/Nombres à virgule

On sait donc comment sont stockés nos nombres entiers dans un ordinateur.

Pas trop justement (voir remarque tout en bas).

il est lui aussi capable de manipuler des nombres à virgule sans trop de problèmes (même si de ce point de vue, certains ordinateurs se débrouillent mieux que d'autres). Notre ordinateur va parfaitement pouvoir manipuler des nombres à virgule.

J'enlèverais la dernière phrase.

où le nombre de chiffre après la virgule est variable

chiffres

à nombre de bit égal

bits

ainsi que les résultats de 5 opérations

cinq

le chiffre de a situé à gauche de la virgule est donc soit un zéro ou un 1.

Le "donc" répète le "Vu que".

la partie fractionnaire du nombre a

Tu devrais préciser que c'est la partie après la virgule.

Seule la partie fractionnaire est stockée dans la mantisse

Tu as dit juste au-dessus que la partie fractionnaire était la mantisse.

et ne vaut 0 que dans quelques rares exceptions

Si et seulement si le nombre de départ est nul, non ?

Il peut se déduire en fonction de l'exposant, ce qui permet d'économiser un bit.

J'expliquerais cela.

Commençons notre revue des flottants spéciaux par les dénormaux

Pourquoi les avoir mis en dernier dans la liste alors ?

qui signifie "je ne sais pas quel est le résultat de ton calcul pourri"

Guillemets français ?

est l'abréviation de Not A Number

Not A Number ?

L'architecture de base/Codage des nombres/Codage stochastique

correction d'erreur de type LPDC

La légende ne correspond pas avec le sigle.

Cependant, nous n'allons par parler de ces méthodes, et nous allons d'abord voir

pas parler

Mais tu dis que ne va pas parler de A puis qu'on va commencer par B. Plutôt : on ne va pas parler de A, mais de B.

Statistiquement, plus la suite de bits est grande, plus le nombre de 1 et de 0 aura de chance d'être quasiment le même.

Je chipote, mais tu devrais préciser plus haut qu'on a une pièce équilibrée.

dans ce cas, la chance d'obtenir un pile à chaque tirage est supérieure à la chance d'obtenir un face.

Ou inversement.

Plus précisément, c'est la probabilité d'obtenir un 1 à chaque tirage qui permettra de coder un nombre.

Plutôt : Plus précisément, la probabilité d'obtenir un 1 à chaque tirage représente le nombre à coder.

De même, le nombre 0 sera encodé par une probabilité de 0

de 0 d'obtenir 1

En clair, les nombres sont mémorisés dans une suite de bits produits par le générateur aléatoire.

Ca fait beaucoup de bits pour représenter un bête nombre, non ?

du générateur aléatoire qui produit la suite de bit

bits

cette probabilité à partir de la suite de bit

bits

Avec cette représentation, le nombre peut être fabriqué de la même manière quelque soit

manière, quelque soit

Et oui; le générateur

Eh oui, le

Mais comment faire pour déduire le nombre stochastique de même valeur qu'un autre nombre ?

C'est quoi le nombre stochastique ?

Je n'ai pas compris grand chose à la réponse.

On peut répondre facilement pour les nombres de la première représentation

Je ne crois pas que tu aies dit qu'il y avait plusieurs représentations.

A chaque cycle

À

Il est possible de gérer des nombre

nombres

Ce bit de signe est transmis par un fil

Un fil ?

elle a besoin de deux générateurs pseudo-aléatoire

pseudo-aléatoires

un pour chacune des deux ligne

lignes

Nous ne parlerons pas de cette méthode, ni des circuits qui manipulent des nombres codés ainsi dans la suite de ce tutoriel.

Nous ne parlerons pas de cette méthode dans la suite de ce tutoriel, ni des circuits qui manipulent des nombres codés ainsi.

Représentation pseudo-bipolaire

Tu vas un peu vite là-dessus.


C'est dommage, tu restes un peu en surface : tu n'expliques pas ce qu'est une base exactement, tu ne détailles pas trop les méthodes pour les nombres négatifs ("on remarque", "on généralise"…). Bon, ce n'est peut-être pas le but de ce chapitre que de donner un cours sur le binaire, et ce ne serait probablement pas judicieux de le faire dans un tel tutoriel, mais j'indiquerais en introduction qu'il s'agit d'un chapitre "pratique" : le but n'est pas de comprendre les aspects mathématiques mais d'apprendre à utiliser le binaire.

Peut-être le dis-tu dans la suite du tutoriel, mais quand utilise-t-on telle représentation ? Tu nous dis par exemple qu'on peut représenter les entiers négatifs de quatre manières, mais pas trop quels sont leurs avantages et défauts (sauf pour l'histoire du +-0) ni quand on les emploie.

Merci ! :)

+0 -0

C'est dommage, tu restes un peu en surface : tu n'expliques pas ce qu'est une base exactement, tu ne détailles pas trop les méthodes pour les nombres négatifs ("on remarque", "on généralise"…). Bon, ce n'est peut-être pas le but de ce chapitre que de donner un cours sur le binaire, et ce ne serait probablement pas judicieux de le faire dans un tel tutoriel, mais j'indiquerais en introduction qu'il s'agit d'un chapitre "pratique" : le but n'est pas de comprendre les aspects mathématiques mais d'apprendre à utiliser le binaire.

Vayel

C'est un cours d'architecture des ordinateurs, pas un cours de mathématique. Et dans ces conditions, je ne vois pas pourquoi je devrais prévenir dans l'introduction que j'utilise une approche non-formaliste, alors qu'il n'y a aucune raison de penser que je pourrais utiliser une approche formaliste du fait même du but du cours.

Peut-être le dis-tu dans la suite du tutoriel, mais quand utilise-t-on telle représentation ? Tu nous dis par exemple qu'on peut représenter les entiers négatifs de quatre manières, mais pas trop quels sont leurs avantages et défauts (sauf pour l'histoire du +-0) ni quand on les emploie.

Vayel

Le problème, c'est que présenter les inconvénients et avantages autres que le +/-0 demande quelques bases en électronique. Je le faisais avant : il y avait un paragraphe qui expliquait que telle représentation donnait des circuits plus complexes, telle autre avait le problème du double zéro, etc. Au final, le paragraphe était très vague et pas franchement utile.

+0 -0

C'est un cours d'architecture des ordinateurs, pas un cours de mathématique. Et dans ces conditions, je ne vois pas pourquoi je devrais prévenir dans l'introduction que j'utilise une approche non-formaliste, alors qu'il n'y a aucune raison de penser que je pourrais utiliser une approche formaliste du fait même du but du cours.

Certes, mais on pourrait attendre d'un informaticien qu'il connaisse le binaire de manière formelle. Quoiqu'il en soit, ça ne coûte pas grand chose de l'indiquer en introduction. Du moins, j'aurais personnellement aimé que ce soit précisé, parce que je m'attendais à un cours approfondi sur le binaire.

Le problème, c'est que présenter les inconvénients et avantages autres que le +/-0 demande quelques bases en électronique. Je le faisais avant : il y avait un paragraphe qui expliquait que telle représentation donnait des circuits plus complexes, telle autre avait le problème du double zéro, etc. Au final, le paragraphe était très vague et pas franchement utile.

D'accord pour ne pas détailler pourquoi certaines sont meilleures que d'autres. Mais ce serait bien de dire si on les utilise toutes, seulement certaines ou une seule. Là, on ne sait pas trop si tu les introduis toutes pour la culture générale ou parce qu'elles servent.

+0 -0

L'architecture de base - Traitements et calculs

Introduction

On peut très bien créer des circuits du genre avec un peu n'importe quoi : des dispositifs hydrauliques, ou électriques, magnétiques, voire à air comprimé. Mais les ordinateurs actuels sont fabriqués avec des dispositifs électroniques binaires, comme des portes logiques ou des montages à base de transistors et de condensateurs.

Ce point mériterait d'être développé. Mais peut-être plutôt dans le premier chapitre.

Transistors

On peut appliquer une tension électrique sur ces broches (et non un courant), qui peut représenter soit 0 soit 1 en fonction du transistor utilisé.

Ce n'est pas très clair. Vu que tu donnes des détails par la suite, je dirais :

Nous allons représenter 0 et 1 en appliquant une tension (et non un courant) à certaines de ces broches.

D'ailleurs, tu parles ensuite d'appliquer une tension uniquement à la grille.

Ces trois broches ont des utilités différentes et on leur a donné un nom pour mieux les repérer :

Je mettrais cette phrase et la liste avant l'image.

et se ferment si la tension placée sur cette même grille représente un 1

Ce n'est pas très clair pour deux raisons :

  • Que signifie "la tension représente un 1" ? Est-ce équivalent à "tension strictement positive", "tension supérieure à 2V"… ?
  • Tu n'as pas explicitement dit que "état bloqué" = 0 et "état passant" = 1 (ou inversement).

Tu devrais plutôt dire :

les transistors NMOS, qui s'ouvrent lorsqu'on place une tension égale à zéro sur la grille (ce qui correspond à un bit 0) et et se ferment dans le cas contraire, ce qui représente un 1 ;

Je ne suis pas sûr du "dans le cas contraire". Tu peux corriger au besoin :

les transistors NMOS, qui s'ouvrent lorsqu'on place une tension égale à zéro sur la grille (ce qui correspond à un bit 0) et et se ferment quand la tension vaut 1.15780V, ce qui représente un 1 ;

Portes logiques

mais j'aimerais savoir comment on fait pour triturer des bits avec des transistors ?

Ce n'est pas une question.

possèdent des sorties et des entrées sur lesquelles on va placer ou récupérer

Je chipote, mais l'ordre des mots ne coïncide pas :

possèdent des entrées et des sorties sur lesquelles on va placer ou récupérer

rien d'autre que des morceaux de "fil" conducteur

Ce n'est pas la première fois que tu mets le mot "fil" entre guillemets. Ca donne une impression d'approximation pas très souhaitable.

Sur chaque entrée du composant

"composant" = "circuit logique" ?

A partir de là

À

Sur les schémas qui vont suivre, les entrées des portes logiques seront à gauche et les sorties à droite !

Plutôt une balise information.

la porte NON, qui agit sur un seul bit

Sur une seule entrée plutôt, non ? Tu n'as d'ailleurs pas précisé ce que prenait une entrée : un seul bit ? Un mot binaire ? De taille fixe ?

Comment créer une porte NON avec des transistors

Tu devrais expliciter "Tension d'alimentation". Si j'ai bien compris, elle sert à faire fonctionner le transistor (à faire en sorte qu'il change d'état selon la tension appliquée à sa grille). A ne pas confondre avec les tension d'entrée.

Si on met un 1 en entrée de ce petit montage électronique, le transistor du haut va fonctionner comme un interrupteur ouvert, et celui du bas comme un interrupteur fermé

Tu devrais indiquer le type de chaque transistor (NMOS ou PMOS), ainsi que donner leur schéma dans l'extrait précédent (lequel a un cercle au niveau de sa grille ?). Cela permettrait de lire sur le schéma tout ce que tu dis dans le texte.

La porte ET possède 2 entrées

deux

Cette porte logique met sa sortie à 1 quand toutes ses entrées valent 1.

C'est même une équivalence. Il faut le préciser, parce que cette phrase ne caractérise pas la porte ET (la porte OU aussi met sa sortie à 1 quand toutes ses entrées valent 1).

On n'a pas de montage ? :( S'il y a une raison, tu devrais la préciser.

Même remarque pour OR.

La porte NAND est l'exact inverse de la sortie d'une porte ET.

Pourquoi ne pas simplement mettre une porte NON à la suite d'une porte ET ?

seul le petit rond ajouté sur la sortie de la porte a été rajouté

seul le petit rond sur la sortie de la porte a été rajouté

À titre d'exercice, tentez de recréer les portes ET, OU

On n'a pas encore parlé de la porte OU.

Câblage d'une porte NAND

Tu devrais relier les deux entrées A, qu'on comprenne bien qu'on applique la même tension. De même pour B.

Même remarque pour NOR.

Fonctionnement interne d'une porte NAND

Tu devrais indiquer la valeur de la sortie pour chaque cas de figure.

Même remarque pour NOR.

La porte OU possède 2 entrées

deux

Apollo étaient intégralement conçus uniquement avec des portes NOR

"uniquement" répète "intégralement".

Cette porte est équivalente à une porte XOR suivie d'une porte NON.

Pourquoi on ne fait pas comme ça du coup ?

Tu devrais le préciser aussi pour les portes NAND et NOR.

Circuits combinatoires

Pour commencer, nous allons parler

Commencer quoi ?

Cela peut sembler être évident

Cela peut sembler évident

lister la valeur de chaque sortie pour toute valeur possible en entrée

lister la valeur de la sortie pour toute valeur possible en entrée

Le premier exemple sera très simple. Le circuit que l'on va créer sera un inverseur commandable. Celui-ci va prendre un bit en entrée.

Il y a beaucoup de points :

Le premier exemple sera très simple. Le circuit que l'on va créer sera un inverseur commandable, qui va prendre un bit en entrée.

Il fonctionnera soit comme un inverseur

Je ne crois pas que tu aies expliqué ce qu'est un inverseur ? C'est un NON ?

un bit d'entrée dira s'il faut que le circuit inverse ou non l'autre bit d'entrée

Je croyais que notre circuit ne prenait qu'un seul bit en entrée.

La table de vérité est donc celle-ci :

C'est quoi le tiret dans le tableau ?

Je remplacerais "Résultat" par "Sortie".

S'il est impair, on sait qu'au moins un bit à été modifié.

Si un nombre pair de zéros deviennent des uns (ou inversement), on l'a dans le trou, non ?

Voici donc le tableau de ce circuit, réalisé ci-dessous.

Voici donc le tableau de ce circuit.

Sinon on croit qu'on va réaliser le circuit plus bas. A moins que ce soit le cas.

Sinon, s0, e0, e1 et e2 rendent mieux je trouve.

Nous allons enfin aborder un quatrième exemple

Je ne comprends pas le "enfin".

prendre en entrée d'un nombre de trois bits

un

et sinon, c'est un 0

ce sera

une bonne partie du travail à déjà été fait

a

Par exemple, l'équation (a¯¯¯.b)+(a.b¯¯)

Cela pourrait embrouiller le lecteur. Plutôt :

(NON a ET b) OU (a ET NON b)

Puis tu dis après qu'en pratique on utilise une autre notation, parce que c'est plus clair.

Symbole

Plutôt : Équation logique

écrire une équation logique…enfin presque

écrire une équation logique… enfin presque

Et oui, il faudra bien éviter

Eh

Reste à savoir comment transformer une table de vérité en équations logiques

Tu devrais expliquer pourquoi on fait ça. Là, on te suit un peu à l'aveuglette : on comprend ce qu'on fait, mais pas pourquoi on le fait.

de toutes les entrées du circuits

circuit

lister les lignes de la table de vérité pour lesquelles la sortie vaut 1 ;

On ne comprend pas pourquoi on vire les autres. De manière plus générale, on ne comprend pas pourquoi on fait une équation logique. Autant l'utilité de la table de vérité est évidente, autant là ça l'est moins. Tu dis que c'est pour modéliser un circuit, mais ce n'est pas très naturel de passer par là.

en n'oubliant pas de les entourer par des parenthèses

Point.

Par exemple, prenons la première ligne dont la sortie vaut 1, à savoir la deuxième.

Vu que tu as déjà listé les listes ayant une telle sortie, je ne préciserais pas "la deuxième", parce qu'on pourrait s'embrouiller dans les tableaux.

Reste à faire un bon gros OUentre

Il est tellement gros qu'il empiète sur le mot suivant. ^^

Cela donne :(

Cela donne : (

Simplifications de circuits

un gros paquet de ETet

un gros paquet de ET et

; peut se simplifier en :

, peut

Ou alors :

obtenue auparavant :

$$ blablabla $$

peut se

Element

Élément

Loi de De Morgan

Tu as mis un point-virgule et un point dans la cellule de droite, mais c'est la seule où tu as fait ça.

On peut aussi rajouter que la porte XORa ses propres règles.

XOR a

J'enlèverais la première colonne, qui ne sert à rien.

comme on le ferait avec une équation normale

comme on le ferait avec une équation mathématique normale

Premier exemple

La présentation pourrait être clarifiée en centrant les formules.

On remarque rapidement que l'on peut factoriser e0

$e0$

Les curieux se demandent surement

sûrement

des termes équivalant donnent

équivalents

alors que des termes différents

différents != pas équivalents

Les plus connues étant les tableaux de Karnaugh. Les tableaux de Karnaugh se basent sur un tableau (comme son nom l'indique).

Les plus connues étant les tableaux de Karnaugh, qui se basent sur un tableau (comme le nom l'indique).

Le tableau de karnaugh

Karnaugh

D'abord, il faut d'abord créer

D'abord, il faut créer

on doit créer un tableau pour chaque bit de sortie. Ensuite, il faut construire ce tableau.

tableau = table de vérité ou tableau de Karnaugh

on crée deux paquets en plaçant ces variables les unes à la suite des autres

Ce n'est pas très clair. Plutôt :

on crée deux paquets avec le même nombre de variables (sauf quand il est impair : dans ce cas, il y a aura un paquet qui aura une variable de plus)

Bref… Le but de cette étape

Bref, le but de cette étape

Mais cette phrase n'aide pas trop parce que tu n'as pas dit comment on construisait le tableau, donc on ignore en quoi équilibrer les paquets le rend carré.

on place les valeurs que peut prendre ce paquet sur la première ligne

ligne, avec une valeur par colonne

Pour faire simple, considérez ce paquet de variables comme un nombre, et écrivez toutes les valeurs que peut prendre ce paquet en binaire. N'oubliez pas que ce paquet est un rassemblement de variables de 1 bit, qui peuvent uniquement valoir zéro ou un.

Ca n'aide pas trop. Je l'enlèverais complètement, la phrase précédente étant plutôt claire et les exemples s'assurant de la compréhension du lecteur.

Pour le second paquet, faite

faites

Et avec quatre variables :

Tu devrais donner un exemple où le nombre de variables est impair.

De plus, il serait préférable d'utiliser un tableau Markdown.

Chaque ligne va indiquer quelle est la valeur des variables choisies pour concevoir le paquet. Même chose pour les colonnes.

Pas compris.

et on le place à l'intersection de la ligne et de la colonne

colonne dans le tableau de Karnaugh

On fait cela pour chaque case du tableau, et on le remplit totalement.

Exemple ?

Ensuite, ces regroupements doivent former des rectangles dans le tableau de karnaugh.

Karnaugh

Mais la phrase vient un peu tard. Je ferais plutôt :

Par regroupement, on veut dire que les 1 dans le tableau doivent être regroupés en paquets rectangulaires dont le nombre de cases est une puissance de 2 : 1, 2, 4, 8, 16, etc. De manière générale, il vaut mieux faire des paquets les plus gros possible, afin de simplifier l'équation au maximum.

Par exemple, voici un regroupement valide :

Autre exemple :

Tu ne respectes pas la règle de faire des paquets les plus gros possibles.

Bords et coins du tableau

Hein ?

Regroupements par les bords du tableau de Karnaugh

Là aussi, tu peux faire un regroupement plus gros.

Encore une fois, cela permet d'obtenir des regroupements plus gros. Et croyez-moi, il ne faut pas chipoter avec cette méthode.

Là aussi. A moins qu'on ne puisse que regrouper les bords, et ne pas faire :

1 1 0 1
1 1 0 1
1 1 0 1

Mais même, tu pourrais englober le vert (ou jaune ?) dans le rouge :

Le même principe peut s'appliquer aux coins :

Juste les coins, où je peux poursuivre dans la diagonale ?

mais il faut s'entrainer à faire des regroupements pour obtenir des résultats les plus simplifiés possibles.

à faire des regroupements les plus gros possibles

Regardez les deux premières colonnes

de la première ligne

plus petits qu'on relie ensemble

ensembles

Quelques circuits communs

Maintenant que nous savons coment créer et simplifier des circuits, nous allons donner quelques exemples de circuits assez fréquents.

On ne sait pas trop créer de circuits : seulement trouver une équation logique.

le nombre de ses bits qui sont à 1

le nombre de ses bits à 1

Cette population count est aussi appelé

appelée

Il est à la base d'un grand nombre de code de détection ou de correction d'erreurs usuels

Il est à la base d'un grand nombre de codes usuels de détection ou de correction d'erreurs

vérité de 256 lignes…A la place

vérité de 256 lignes… À la place

nous allons donc découper notre circuit en plusieurs sous circuits

Le "donc" me semble de trop.

Supposons que j'ai un nombre

aie

somme des population count des deux morceaux

somme des populations count de chacun des morceaux

Au final, je finirais

En fin de compte, je finirai

jusqu'à obtenir des morceaux de 1 bit

jusqu'à en obtenir de un bit

d'un morceau de 1 bit vaut

un

et zéro s'il vaut zéro

et zéro s'il vaut 0

…le bit en question

… le bit en question

Le circuit de calcul de population count est donc composé de couches d'additionneurs, reliées en série.

Je chipote, mais on n'a de mémoire jamais parlé d'additionneurs.

et peut être crée avec la méthode des minterms

créé

Circuit de calcul de la Population Count d'un nombre de 8 bits

population count

Je ne comprends les "additionneurs X bits".

Ce décodeur est un composant qui contient :

Seule la premire puce suit logiquement cette phrase.

deux nombres différents placées sur son entrée

placés

il prend sur son entrée un nombre entier x

$x$

positionne à 1 la sortie numéroté x

numérotée $x$

nous allons montrer l'exemple d'un décodeur 2 vers 4

Tu n'as pas expliqué ce que signifie ce "2 vers 4". Je mettrais plus haut qu'un décodeur prenant n entrées est dit "n vers 2n".

on obtient alors le circuit suivant :

Le "alors" me semble de trop.

un 0 sur cette entrée, celle-ci voit toutes ses sorties passer à 0

C'est le décodeur qui voit ses sorties passer à 0, pas l'entrée.

Construire un décodeur demande suffisamment de décodeurs pour combler toutes les sorties.

Je ne crois pas que tu aies parlé de combler des sorties. Du coup, on ne comprend pas ce que tu veux dire ici.

Il faut alors relier les entrées des décodeurs aux bits de poids faible de l'entrée du décodeur final.

Qu'est-ce que le décodeur final ? Cela signifie qu'on les ordonne ?

Première ébauche de décodeur concu à partir de décodeurs plus simples

Tu devrais indiquer les entrées de chaque décodeur.

Conclusion

tout circuit peut être crée

créé

on peut créer un circuit en créant une table de vérité

on peut créer un circuit en construisant une table de vérité


Franchement chapeau. Je suis une nouille en électronique et pourtant j'ai bien compris. Ce chapitre est très clair.

Il faut par contre que je revienne sur les tableaux de Karnaugh.

De plus, tu devrais expliquer rapidement à quoi servent les circuits abordés dans "Quelques circuits communs". Je n'ai pas réussi à terminer cet extrait : il n'est pas simple à assimiler et ne m'intéresse pas particulièrement puisqu'est purement technique.

+0 -0

Pour expliquer la méthode de Karnaugh, il faudrait peut être rajouter une vue 3D du style de la page 3 de ça (bon, il faut améliorer le dessin quand même, je l'ai très mal fait, et regardez pas la faute au dessous !) : https://github.com/alexandre-janniaux/strongcoffee/blob/master/presentation/presentation.pdf

Ca permet d'expliquer visuellement pourquoi il faut faire des groupes de la taille d'une puissance de 2, et de pourquoi on utilise le binaire réfléchi.

Le but n'est pas de faire des maths ! :)

La méthode Karnaugh s'applique sur un tableau en 2D, je ne vois pas ce qu'apporterait une représentation 3D si ce n'est ajouter de la confusion. Déjà que quand tu la vois en cours tu as un peu de mal (c'est normal), si tu rajoute une dimension, je pense que tu perds la plupart des personnes qui suivent le cours ;)

De plus, je n'ai pas compris pourquoi il faut faire des groupes de la taille d'une puissance 2. Y a une bien belle équation, mais pour un cours d'introduction ("de zéro") c'est too much

+0 -0

zeqL : le but n'est pas de faire des maths en effet, mais dans la représentation en 3D (pour 3 variables), on peut voir assez facilement que pour que ça marche, il faut qu'on prenne un point, une arête, une face, ou un volume, mais que ça n'a pas de sens de prendre une arête + un point quelconque non déjà pris, puisque le but est d'avoir des termes adjacents.

Je ne parlais que de l'image, tout le reste, c'est ce que j'ai présenté cette année, c'est clairement too much en effet, mais la méthode de Karnaugh revient à chercher une couverture d'hypercube minimale, et la version cube permet de mettre en évidence des difficultés qu'on peut rencontrer et le principe de la méthode (présenté et approuvé à mes amis qui m'ont aidé à améliorer mon TIPE, ainsi que mon jury, alors qu'ils ne connaissent pas grand chose à l'informatique).

En plus, je sais pas vraiment si on peut parler de dimension pour la méthode de Karnaugh, étant donné que tu peux créer un bloc en prenant les 4 coins sans le reste, et c'est complètement contre-intuitif sans cette représentation des éléments adjacents.

Je pense que ça peut aider des gens de savoir qu'en fait un tableau de Karnaugh est un tore. Le haut et le bas se touchent, ainsi que la gauche et la droite. Du coup, les coins se touchent aussi.

Quand j'ai appris les tableaux de Karnaugh, on m'a dit ça immédiatement, et mine de rien, ça m'a aidé à comprendre pourquoi ces regroupements étranges sur les bords sont possibles.

EDIT: ça fait redite, mais je poste quand même.

@unidan : le truc c'est qu'il faut simplifier. Là tu commence à parler de couverture d'hypercube minimale et tout, ton raisonnement est trop mathématique (dans le sens un peu trop théorique).

Aabu résume peut-être ta pensée en disant que les coins, bords et tout se touchent et donc qu'on peut "replier" le tableau. C'est peut-être ce que tu dis depuis le début mais je ne l'ai pas compris comme ça :D

+0 -0

zeqL : euh, je n'ai pas dit qu'il fallait parler de couverture d'hypercube minimale et tout, j'ai dit que ça revenait à ça, justement sur le point de vue mathématiques.

Mais mettre un tableau de Karnaugh à trois ou quatre variables et le cube qui correspond à coté permet de visualiser d'une autre façon ce qu'il se passe, autrement que sur un tableau avec des règles obscures.

Je valide complètement ce que dis Aabu, c'est une autre façon de le penser (même si un tore est un objet beaucoup trop compliqué par rapport à un cube pour moi), mais plus que sur le repliement, c'est sur l'adjacence des termes qu'il faut insister (autant au niveau du cube, où l'adjacence est représenté par une arête, que sur le tableau), et utiliser le cube comme outil de visualisation de pourquoi, par exemple, il faut grouper par puissance de deux, simplement par l'exemple, ça me parait donner une meilleure intuition que seulement le tableau et ses règles.

Mais je reste d'accord qu'il ne s'agit pas de faire un cours de minimisation d'expression logique, c'est juste beaucoup trop complexe comme domaine pour un cours sur les PC, et en pratique ça permet même pas de vraiment toucher du doigt les problèmes qu'on a sur la réalisation de circuit. Simplement, c'est plus complexe de présenter une technique avec un point de vue formel (les règles du tableau) que de présenter une technique, la règle, et l'illustrer de plusieurs façons intuitives différentes.

Le tableau est clairement plus clair lorsque l'on fait des groupes facile à faire, et qu'on se bande les yeux sur la règle de combinaison, mais il n'est pas du tout intuitif pour les autres règles.

Après, de mon point de vue, je ne comprend pas pourquoi c'est la méthode de Karnaugh qu'on enseigne en SI, sans expliquer ce qu'il y a derrière, alors que la méthode de Quine-McCluskey est bien plus systématique et s'y prête bien mieux, en plus d'être généralisable pour $n$ variables.

+0 -0

II.1 Mémoires

  • Son rôle est donc de retenir que des -> allègement de la phrase ? "Son rôle est donc de retenir des données stockées sous la forme de suites de bits, afin de (pouvoir) les récupérer si nécessaire et les traiter." ?
  • il en existe différents types, chacun ayant ses avantages -> chacune ?
  • en revue les différences entre mémoires les plus importantes -> entre les mémoires
  • pas égales : elle n'ont pas la même capacité. -> elles
  • appelées Bytes. -> bytes (sans majuscule)
  • plus petites, contenant A, 2, 3, 4 -> 1, 2, 3, 4
  • Pour se faciliter la tache, on utilise -> tâche
  • certain temps que la mémoire aie finie -> ait finie
  • mais pas les modifier : -> ":" au lieu de "."
  • FROM, PROM, EPROM, EEPROM, RAM, SRAM, DRAM, etc -> donner l'explication de l'acronyme au moins 1 fois.
  • SRAM ou ram statiques et les DRAM ou RAMs dynamiques. -> RAM/RAMs statiques // RAM/RAMs dynamiques
  • Les mémoires actuelles utilisent l'adressage, l'accès aléatoire : -> phrase bizarre "l'adressage, l'accès aléatoire", rajouter au moins un "c'est l'accès aléatoire" ?
  • Les mémoires à accès séquentielles ne sont -> séquentiel
  • sont triées par ordre d'écriture, par ordre d'arrivée. -> comme précédemment, bizarre, plutôt qu'une virgule reformuler ? ("qui est aussi")
  • Une lecture renvoi la donnée la plus ancienne -> renvoie
  • la plus récente sont mémorisés dans des registres. -> mémorisées
  • nommées les Content Adressables Memories, -> donner l'acronyme (CAM)
  • encore mémoire adressables par contenu -> mémoires
  • qui implémente ce mode d'accès -> implémentent
  • on fait à peu-prêt la même -> à peu près (ou à-peu-près)
  • dans un ensemble de donnée -> données
  • Certaines circuits internes au processeur -> certains
  • on utilise un bit du bus de commande nommé R/W. -> rappeller que R = Read (lecture) et W = Write (écriture)
  • sur ce qu'on s'appelle un port. -> ce qu'on appelle

  • Pourquoi utiliser des puissances de 1024, et ne pas utiliser des puissances un peu plus communes ? Je ne comprend pas pourquoi tu parles de puissances de 1024 alors que dans le tableau juste au-dessus il n'y a qu'une colonne avec les puissances de deux. C'est sûrement en rapport avec 1 Kio = 1024 mais la question mériterait d'être reformulée pour être plus claire.

  • Mémoire LIFO -> pourquoi ne pas faire de schéma comme la FIFO ?

  • les mémoires à correspondance. -> tu parle de mémoire à correspondance mais ensuite les deux images ont pour légende mémoire associative. D'autre part tu met le titre "Hash table", une petite précision pour les personnes ne parlant pas anglais serait utile.

  • bus multiplexé : ALE = ? Sinon le bit ALE n'est pas toujours présent, il suffit de voir avec le bus I2C par exemple, le R/W est déterminé par un bit qui est envoyé sur le bus. Après tu parles peut-être de bus parallèles vu qu'il y a plusieurs broches de data.

I.2 Mémoriser un bit
  • acronymes SRAM, DRAM !
  • et c'est lui qui est l'objet de ce chapitre. -> c'est l'objet du chapitre
  • nos propres bits de mémoires -> mémoire
  • Ces bascules peuvent être crées -> créées
  • es mémoires MLC a obtenir une grande capacité. -> à obtenir
I.3 Contrôleur interne et plan mémoire
  • fonctionne un contrôleur mémoire. Mais je parlerais du fonctionnement -> le "mais" est inutile.
  • stockant le i-éme bit du contenu d'une case mémoire (le bit de poids i) est reliée au i-éme fil du bus -> i-ème. Il faudrait peut-être mettre "i-ème" bit en italique pour indiquer qu'on parle d'un "nombre" ?
  • bonne ligne sur les btilines, -> bitlines
  • Ainsi, diminuer le nombre de lignes dans notre mémoire tient de la légitime défense. -> que vient faire la légitime défense ???

La dernière partie "interfaçage avec le bus" me paraît absolument pas claire. Je ne suis pas du tout novice et pour le coup je comprend que tu veuille simplifier, mais réussir à parler du 3e état sans donner son nom (Haute impédance / Z) ni vraiment expliquer ce que c'est exactement, je doute que ce soit la solution.

Tu évite de parler de l'état Z en utilisant le bit Chip Select, sauf que celui-ci n'est pas présent sur tous les bus. Je reprend le bus I2C : il n'y a pas de CS ni de R/W.

Le but du tuto n'est pas de faire de l'électronique, mais là je trouve que c'est assez confus.

J'ai corrigé les typos et fautes d’orthographe mentionnées dans les messages précédents. J'ai aussi tenté de simplifier un peu les explications du dernier extrait du chapitre trois (partie 1) : la partie sur le circuit de population count a tout simplement disparue (ce circuit ne sera pas utilisé dans le tutoriel, contrairement aux autres circuits), et les autres explications de l'extrait sont un petit peu reformulées. A part cela, les modifications sont mineures : je n'ai notamment pas touché aux explications sur le tableau de Karnaugh, notamment (le chapitre est déjà suffisamment long). Je vais voir ce que je peux faire pour ce qui est des explications de l'extrait "interfaçage avec le bus".

+0 -0
II.5 Mémoires évoluées
  • que la mémoire aie lu ou écrit -> ait
  • on peut envoyer un accès mémoire à la mémoire sans attendre -> à reformuler, par exemple : "on peut réaliser un accès mémoire/sur la mémoire, sans attendre…"
  • plus petite sur la mémoire pipélinée. -> pas de é
  • ce qui surcompense exactement l'augmentation du nombre d'étapes. -> surcompense ? compense tout court suffit :)

  • " la durée d'un cycle d'horloge est plus petite sur la mémoire pipélinée." -> bah non à fréquence égale le cycle d'horloge est le même sur mémoire pipelinée et non pipelinée. Je pense que tu veux plutôt parler du temps d'accès qui est réduit sur une mémoire pipelinée.

  • conserver la commande conflictuelle ne attente. -> en attente

  • Mais des lectures et écritures consécutives accèdent à la même adresse, -> il manque un si ? "Mais si des lectures … "
  • mémoire et câbler plus de fils : Le prix de la mémoire -> "le" sans majuscule

Mémoire dual et quad data rate
DDR : Double Data Rate : on utilise les deux fronts d'horloge
QDR : Quad Data Rate : on utilise un deuxième signal d'horloge déphasé de 90°, ce qui permet d'avoir 4 fronts sur un cycle d'horloge.
Mais les RAM DDR ne fonctionnent qu'en DDR :)
Le QDR a été utilisé par Intel sur des bus interne, il y a aussi des mémoires QDR utilisant ce principe (entre autres)
Le schéma présent ici : http://electronics.stackexchange.com/questions/111602/how-does-ddr-sdram-work me semble plus clair (j'ai d'ailleurs répondu à la question) par rapport au tien. C'est peut-être de là que vient mon incompréhension.

  • par le résultat du XORbit à bit.-> manque un espace après XOR

  • La seconde méthode utilise remplace -> utilisée ? ou supprime "utilise" ?

  • Quelle est la différenc entre stream buffer et mémoire cache ? Pour moi c'est quasi-équivalent.

II.6 Mémoires DDR, SDRAM et leurs cousines
  • se démarquent des autres et sont que des améliorations des mémoires vues -> ne sont que
  • Ces mémoires pas synchronisées avec le processeur -> n'étaient pas
  • Quand ces mémoires ont étés crées, cela -> ont été créées
  • simplifier, le Signal RAS permettait sélectionner -> "signal", permettait de sélectionner.
  • Sur le schéma : Selection / sélèctionnée -> Sélection / sélectionnée
  • register mode contient un bit qui permettra de préciser -> qui permet de
  • dans un registre de 20 bits, le registre de mode -> il y a que 10 bits dans le tableau qui suit
  • le signe - servira à dire que la valeur du bit -> on utilise plutôt X pour le "don't care"
  • sans que cela aie la moindre influence -> ait
  • doit gérer d'autres temps de d'attente -> "de" en trop

  • Partie DDR : c'est la même que l'extrait DDR et QDR de la partie précédente, autant supprimer la précédente et laisser cette partie qui est plus développée ?

  • plusieurs versions : DDR1, DDR2, DDR3 -> DDR(1), on voit très rarement DDR1

  • Dans le principe, es mémoires DDR2 transfèrent -> les
  • Dans le principe, es mémoires DDR3 transfèrent -> les

Cf le lien stack exchange précédent pour les schémas, qui me paraissent pas très clairs.

  • les mémoires GDDR, utilisées presque exclusivement sur les cartes graphiques. -> normal puisque le G veut dire Graphics Et puis quitte à les évoquer autant en dire un peu plus : bit masking, ouverture de 2 pages pour simuler le dual-port, etc.
II.7 Barettes de mémoire SIMM, DIMM, et FB-DIMM
  • Les broches sont les trucs jaunes situées en bas -> situés / si on pouvait éviter les "trucs" et "machins"… :D
  • Les bus ont reliés aux modules de mémoire -> sont reliés

  • Cela est du à de sombres raisons tenant à l'intégrité des signaux électriques. -> pourquoi sous-entendre que l'intégrité du signal c'est négatif :(

  • Mais dans certaines conditions, cela pose des problèmes d'intégrité du signal : ce qui est envoyé sur le bus n'est pas ce qui est reçu par la barrette de mémoire. -> il est reçu mais trop altéré pour être exploitable. En fait il ne respecte plus les caractéristiques minimum.

  • ette réponse étant aussi propagées jusqu'au contrôleur mémoire. -> propagée

  • Je ne relève pas l'introduction FB-DIMM sur les résistances de terminaison (bouchon) et l'intégrité du signal, c'est pas facile à expliquer :D

+0 -0

DDR : Double Data Rate : on utilise les deux fronts d'horloge
QDR : Quad Data Rate : on utilise un deuxième signal d'horloge déphasé de 90°, ce qui permet d'avoir 4 fronts sur un cycle d'horloge.

zeqL

Y compris sur les SRAM DDR et SRAM QDR ?

  • Quelle est la différence entre stream buffer et mémoire cache ? Pour moi c'est quasi-équivalent.

zeqL

On peut voir un stream buffer comme un cache à une ligne, la ligne en question étant de même taille que le byte de la RAM interne. Mas il faut ajouter que les transferts entre ports de lecture/écriture et stream buffer se font en burst : on transfère le contenu du stream buffer byte par byte sur les ports de lecture/écriture.

  • Partie DDR : c'est la même que l'extrait DDR et QDR de la partie précédente, autant supprimer la précédente et laisser cette partie qui est plus développée ?

zeqL

J'ai retravaillé le tout, histoire d'éviter les redondances. Mais je n'ai pas effectué la fusion, vu que ce qui est vrai pour les mémoires DDR version DRAM ne l'est pas pour les DDR et QDR version SRAM. Tout ce qui a rapport à la standardisation du JEDEC et autres, c'est spécifique aux DDR version DRAM, donc je laisse dans ce chapitre.

Et puis quitte à les évoquer autant en dire un peu plus : bit masking, ouverture de 2 pages pour simuler le dual-port, etc.

zeqL

Pourquoi pas, mais je connais assez mal ces mémoires. Il faudrait que je fasse quelques recherches.

+0 -0

DDR : Double Data Rate : on utilise les deux fronts d'horloge
QDR : Quad Data Rate : on utilise un deuxième signal d'horloge déphasé de 90°, ce qui permet d'avoir 4 fronts sur un cycle d'horloge.

zeqL

Y compris sur les SRAM DDR et SRAM QDR ?

C'est-à-dire ? Pour moi le DDR c'est l'utilisation des deux fronts d'horloge de la clock, le QDR on ne peut pas utiliser 4 fronts sur un seul signal de clock, il en faut donc deux.

De plus pour moi tu ne fais pas de différentiation claire de DRAM et SRAM entre les deux parties (cf commentaires suivant) car j'ai l'impression que tu parle d'organisation générale des mémoires.

  • Partie DDR : c'est la même que l'extrait DDR et QDR de la partie précédente, autant supprimer la précédente et laisser cette partie qui est plus développée ?

zeqL

J'ai retravaillé le tout, histoire d'éviter les redondances. Mais je n'ai pas effectué la fusion, vu que ce qui est vrai pour les mémoires DDR version DRAM ne l'est pas pour les DDR et QDR version SRAM. Tout ce qui a rapport à la standardisation du JEDEC et autres, c'est spécifique aux DDR version DRAM, donc je laisse dans ce chapitre.

-

Et puis quitte à les évoquer autant en dire un peu plus : bit masking, ouverture de 2 pages pour simuler le dual-port, etc.

zeqL

Pourquoi pas, mais je connais assez mal ces mémoires. Il faudrait que je fasse quelques recherches.

Peut-être pas faire 2 pages de commentaires, mais l'article wikipédia semble évoquer ces deux caractéristiques en plus de celles que tu cites ;)

+0 -0

Pour moi le DDR c'est l'utilisation des deux fronts d'horloge de la clock, le QDR on ne peut pas utiliser 4 fronts sur un seul signal de clock, il en faut donc deux.

zeqL

Il me semble que sur certaines SRAM DDR assez rares (et anciennes), ce n'est pas le cas : il y a bien doublement de la fréquence du bus mémoire (seul le front montant compte) et non utilisation des deux fronts d'horloge. Mais dans tous les cas, la fréquence effective double, même si la fréquence réelle n'a pas changé avec l'utilisation des deux fronts.

+0 -0
Ce sujet est verrouillé.