While this is little-known hardware at the moment, we’ll soon see it cited in specifications for multiple processors, both for PCs and other devices. And we’re not talking about a piece of science fiction, since systems already on sale such as next-gen video game consoles and graphics cards already include this hardware unit.
Basic operation of compressors and decompressors
By data compression we mean taking a block of information that occupies a certain amount of storage and encrypting it so as to obtain a block with the same information that occupies less information. The encryption created by the compression unit must be understood by an analog unit on the other end, which we call a decompressor.
What a decompressor does is apply a decryption algorithm to a data stream that reaches it, obviously said data must first be compressed by an analog compressor which encrypts the data in a format that the decompressor can understand. The two extremes therefore operate in pairs and in direct correlation.
Generally speaking, there are two types of compression, one is lossy and the other is not, but in terms of data processing, the second is the more efficient, because we don’t want to lose this information to avoid errors when of execution. a RAM program.
A processor is not fast enough to decompress data at this speed
Take a simple test, grab a file decompression program on your PC, and see how the CPU has a good time to decompress a file that is a few hundred megabytes or a few gigabytes in size. Now imagine having to decompress tens of gigabytes in real time and you can imagine the computing power that would be required.
This is the reason why in the case of the new GPUs, which are compatible with the DirectStorage standard, they have a special unit to decompress the data on the fly, since even giving access to the VRAM to the CPU would not be as fast. . enough for the data to reach the processor quickly enough.
Compressors and decompressors to increase the capacity of SSDs
At the moment, one of the advantages of conventional hard drives over SSDs is the cost of storage, as an SSD is much more expensive per gigabyte of storage than a hard drive, using a compression / decompression unit, it It is then possible to effectively increase the storage capacity of an SSD without increasing the cost.
At the moment these units are not in the processors, but since they are an essential part of the GPUs due to the support for DirectStorage in DX 12 Ultimate, it is therefore necessary to move this unit to the processors in the iterations. futures. The problem with using it is that it will require full compression of the data that previously existed on the disk, but in return it will gain an additional amount of memory for storage, which is always welcome.
The growing chasm between RAM and processor
The reality is that RAM has not evolved at the same speed as processors, which has resulted in the latter being designed around the limits of RAM, trying as much as possible to develop new mechanisms within the process. processor to overcome this drawback. At the moment, there aren’t any data CODECS fast enough to allow compression and decompression of these on the fly from RAM, but over time and as their processing capacity increases. increases, we will eventually see them,
The idea that the data sent to the processor can be compressed and decompressed on the fly also results in an increase in bandwidth, because technically we are transmitting a greater amount of data per second than if this data were sent uncompressed it will reach the point where, in order for RAM not to be left behind, these units will need to be added to both the memory itself and the processors.
A good way to do this is to use multiple compressors running in parallel which decompress the data coming in from the RAM itself, in which each accelerator processes a different block of data.