Compresseurs et décompresseurs, comment fonctionnent-ils sur RAM et SSD?

Compresseurs et décompresseurs, comment fonctionnent-ils

L'un des problèmes avec les disques durs ou SSD est le fait qu'ils ont une capacité de stockage inférieure à celle des disques durs conventionnels. Une façon de remédier à ce problème consiste à utiliser une série d'unités spéciales, de compresseurs et de décompresseurs.

Bien qu'il s'agisse d'un matériel peu connu pour le moment, on le verra bientôt cité dans les spécifications de plusieurs processeurs, aussi bien pour les PC que pour d'autres appareils. Et nous ne parlons pas d'un morceau de science-fiction, car les systèmes déjà en vente tels que les consoles de jeux vidéo et les cartes graphiques de nouvelle génération incluent déjà cette unité matérielle.

Fonctionnement de base des compresseurs et des décompresseurs

Compresseurs Décompresseurs

On entend par compression de données prendre un bloc d'informations qui occupe une certaine quantité de stockage et le crypter de manière à obtenir un bloc avec les mêmes informations qui occupent moins d'informations. Le cryptage créé par l'unité de compression doit être compris par une unité analogue située à l'autre extrémité, que nous appelons un décompresseur

Ce qu'un décompresseur fait, c'est appliquer un algorithme de décryptage sur un flux de données qui l'atteint, évidemment lesdites données doivent être préalablement compressées par un compresseur analogique qui crypte les données dans un format que le décompresseur peut comprendre. Les deux extrêmes fonctionnent donc par paires et en corrélation directe.

De manière générale, il existe deux types de compression, l'une avec perte et l'autre non, mais en termes de traitement des données, la seconde est la plus efficace, car nous ne sommes pas intéressés à perdre ces informations pour éviter les erreurs lors de l'exécution. un programme de RAM.

Un processeur n'est pas assez rapide pour décompresser les données à cette vitesse

SSD RTX IO

Faites un test simple, lancez un programme de décompression de fichiers sur votre PC et observez comment le Processeur a un bon moment pour décompresser un fichier de quelques centaines de mégaoctets ou de quelques gigaoctets. Imaginez maintenant devoir décompresser des dizaines de gigaoctets en temps réel et vous pouvez imaginer la puissance de calcul qui serait nécessaire.

C'est la raison pour laquelle dans le cas des nouveaux GPU, qui sont compatibles avec le standard DirectStorage, ils ont une unité spéciale pour décompresser les données à la volée, puisque même donner accès à la VRAM au CPU ce ne serait pas aussi rapide assez pour que les données parviennent au processeur assez rapidement.

Compresseurs et décompresseurs pour augmenter la capacité des SSD

Pour le moment, l'un des avantages des disques durs conventionnels par rapport aux SSD est le coût du stockage, car un SSD est beaucoup plus cher par gigaoctet de stockage qu'un disque dur, en utilisant une unité de compression / décompression, il est alors possible d'augmenter efficacement la capacité de stockage d'un SSD sans augmenter le coût.

Pour le moment, ces unités ne sont pas dans les processeurs, mais comme elles sont une partie essentielle des GPU en raison de la prise en charge de DirectStorage dans DX 12 Ultimate, il est donc uniquement nécessaire de déplacer cette unité vers les processeurs dans les itérations futures. Le problème de son utilisation est qu'il nécessitera une compression complète des données qui existaient auparavant sur le disque, mais en retour, il gagnera une quantité de mémoire supplémentaire pour le stockage, ce qui est toujours le bienvenu.

Le gouffre croissant entre la RAM et le processeur

RAM CPU

La réalité est que la RAM n'a pas évolué à la même vitesse que les processeurs, ce qui a eu pour conséquence que ces derniers ont été conçus autour des limitations de la RAM, essayant autant que possible de développer de nouveaux mécanismes au sein du processeur pour pallier cet inconvénient. Pour le moment, il n'y a pas de CODECS de données assez rapides pour permettre la compression et la décompression de ceux-ci à la volée à partir d'une mémoire RAM, mais avec le temps et au fur et à mesure que leur capacité de traitement augmente, nous finirons par les voir,

L'idée que les données envoyées au processeur peuvent être compressées et décompressées à la volée entraîne également une augmentation de la bande passante, car techniquement, nous transmettons une plus grande quantité de données par seconde que si ces données étaient envoyées non compressées, elles atteindront le point où, pour que la RAM ne soit pas laissée pour compte, ces unités devront être ajoutées à la fois à la mémoire elle-même et aux processeurs.

Un bon moyen pour ce faire est d'utiliser plusieurs compresseurs fonctionnant en parallèle qui décompressent les données qui arrivent de la RAM elle-même, dans lequel chaque accélérateur traite un bloc de données différent.