Dark Posted June 20, 2021 Posted June 20, 2021 Domain Specific Accelerators or Domain Specific Accelerators are a type of unit that is lower than a CPU due to its complexity, but has the ability to perform certain tasks while consuming less power and being faster. But how do they work, what defines them, and why are they the future of hardware? As time goes by, programs need to go faster and faster, but at the same time CPUs and GPUs have become behemoths of complexity where it is very difficult to increase performance in a traditional way. The future solution for this problem? Domain Specific Accelerators First of all, the throttle concept ARM RISC system Since the dawn of computing, support chips have been necessary to speed up certain techniques, originally these chips freed the CPU to perform a repetitive and recursive task. The clearest example was the graphics systems that made the CPU not have to waste most of the time drawing on the screen. An accelerator is a support chip that goes further, because it not only frees the CPU from doing that task, but also speeds it up. That is, it is done by the task in a portion of the time of what the CPU would take. Which means that it is accelerated and has an impact on everything going faster. Hence the name accelerator. Accelerators come in many types and designs, any type of hardware can be an accelerator: a microcontroller, an FPGA, a combinational or sequential circuit, etc. In recent years, a type of accelerator has appeared that will dominate the hardware in the following years, the Domain Specific Accelerators. Domain Specific Accelerators, general definition CPU-clock In hardware, we have been using accelerators for a long time for different types of jobs and specific applications and therefore for a specific domain in particular. Today these domains can be graphics, Deep Learning, bioinformatics, voice and image processing in real time. There are many specific domains in which a Domain Specific Accelerator can solve the problem in a better way than a CPU, that is, in less time and consuming less. The first thing that will come to mind is the question: is a GPU a Domain Specific Accelerator? No, it is not. DSAs take care of very specific tasks in particular, so a GPU is going to have several of these units. To make it more understandable, it must be taken into account that every task can be divided into several smaller ones that can be accelerated independently with this type of processors. However, Domain Specific Accelerators are different from other options that exist in the market, since they exploit in their design a series of characteristics that place them between general-purpose processors and conventional accelerators. In other words, they do not reach the complexity of a CPU, but they are much more complex than the classic solutions, especially those based on a fixed function. Specific domain, specific ISA Source code The first thing we have to bear in mind is that a Domain Specific Accelerator is not a CPU, although it also executes a program, its design is optimized for a specific solution and not a general one, for this a totally ISA is created around the DSA unit exclusive whose instructions, registers and types of data used are thought to solve in a short time certain instructions that a CPU would take many cycles to do. The CPUs in their ISAs build instructions today from microinstructions that share a common data path through the instruction cycle. This means that due to the complexity of the instruction set, a complex instruction takes many cycles to complete. In a DSA we can create instruction loops and specific data paths for certain instructions that run faster. We can even create units in parallel that execute just that instruction recursively. But the biggest advantage of this is that it allows us for certain applications to get rid of instructions that a general purpose unit that for our specific application is useless. And in recent years they have ended up transforming the sets of registers and instructions of CPUs and GPUs into mastodons that occupy a large space. Domain Specific Accelerators and memory access Relative Energy Cost Another improvement of the DSA has to do with memory, since like a microcontroller they use memory within the accelerator itself. Which is important, since the physical distance in which the memory is located influences the energy cost of the instructions.
Recommended Posts