Why FPGA Can Rewrite Hardware Circuits

The essence of FPGA: a reconfigurable hardware “blank canvas”. 1. Basic Structure: An FPGA consists of a large number of Configurable Logic Blocks (CLBs), Lookup Tables (LUTs), flip-flops, and programmable interconnect resources. These modules are like Lego blocks, allowing for the implementation of any digital circuit function through programming. Modern FPGAs also integrate hard resources … Read more

Why FPGA is the Ultimate Engine for AI Inference: An Analysis of Five Architectural Advantages

Why FPGA is the Ultimate Engine for AI Inference: An Analysis of Five Architectural Advantages

As artificial intelligence (AI) models become increasingly complex and widespread, the industry continues to seek the most effective hardware to meet the evolving demands of AI inference. While GPUs, TPUs, and CPUs have traditionally handled various AI workloads, FPGAs (Field-Programmable Gate Arrays)— especially with the support of high-performance architectures like the Achronix Speedster7t FPGA — … Read more

STM32 Bus Matrix: The Intelligent Scheduling Hub within Microcontrollers

STM32 Bus Matrix: The Intelligent Scheduling Hub within Microcontrollers

As a core architectural component of STM32 microcontrollers, the bus matrix is responsible for coordinating concurrent access between multiple master devices (such as CPU, DMA, etc.) and slave devices (such as memory and peripherals). It is a key hub for enhancing system efficiency and ensuring real-time performance. 1. Matrix Structure: The “Cross Network” of Multi-Master … Read more

Comparing SIMD and Vector Computing: A Historical Perspective

Comparing SIMD and Vector Computing: A Historical Perspective

This document compares SIMD (Single Instruction, Multiple Data) and vector computing from the perspective of instruction set architecture (ISA) within the historical context of computer architecture. Historical Context: From Supercomputers to Desktop Computers The Era of Vector Computing (1970s-1980s) The story of large-scale parallel processing began with supercomputers like Cray-1 (1976). At that time, scientists … Read more

Breaking Performance Limits: Accelerating Binary Search Algorithms with SIMD Instruction Sets

Breaking Performance Limits: Accelerating Binary Search Algorithms with SIMD Instruction Sets

In the programming world, the binary search algorithm has always been one of the most classic and efficient search algorithms. It can find the target element in O(log n) time complexity, making it the preferred solution for handling ordered data. However, in today’s era of big data, even O(log n) time complexity can become a … Read more

SIMD in the GPU World

SIMD in the GPU World

Source Title:SIMD in the GPU World Address: https://www.rastergrid.com/blog/gpu-tech/2022/02/simd-in-the-gpu-world/Abstract: Today, SIMT has almost become synonymous with GPUs, while the SIMT defined by Flynn originally was just a form of SIMD. The technology itself has only similarities and differences, with no inherent superiority or inferiority; the key is to use the appropriate technology in the right context. … Read more

Modern C++: Achieving High-Performance Computing with SIMD Instruction Sets

Modern C++: Achieving High-Performance Computing with SIMD Instruction Sets

0. Introduction There are two common ways to improve efficiency: one is to increase concurrency, and the other is to increase data throughput.In previous articles, we discussed multithreading concurrency, which is a common method for increasing concurrency; this article will introduce SIMD, which is related to increasing data throughput, allowing for the processing of more … Read more

Low Power Design in Digital Chips (Part 2)

Low Power Design in Digital Chips (Part 2)

Continuing from the previous article, a typical low power design in digital chips is the addition of a clock gate. Another method is through parallel and pipelining techniques. Parallel and Pipelining The prominent advantage of hardware description languages is the parallelism in instruction execution. Multiple statements can process several signal data in parallel within the … Read more

CPU Parallel Processing Architectures: SIMD, MISD, MIMD

CPU Parallel Processing Architectures: SIMD, MISD, MIMD

In 1966, Micheal Flynn classified computer architectures based on the concepts of instruction and data streams, known as Flynn’s taxonomy. Flynn categorized computers into four basic types as follows: Single Instruction Single Data (SISD) systems Single Instruction Multiple Data (SIMD) systems Multiple Instruction Single Data (MISD) systems Multiple Instruction Multiple Data (MIMD) systems Single Instruction … Read more

Optimizing Compute-Intensive Tasks in Go: Parallel Processing with SIMD Instruction Sets for 4x Speedup

Optimizing Compute-Intensive Tasks in Go: Parallel Processing with SIMD Instruction Sets for 4x Speedup

Click the “blue text” above to follow us Have you ever had this experience? You wrote a program to process a large amount of data, went to make a cup of coffee, and came back to find the program still “buzzing” away. Anxiously waiting, you finally conclude: the performance is lacking! Especially when dealing with … Read more