Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:multiasm:cs:chapter_3_5 [2025/12/02 13:53] ktokarzen:multiasm:cs:chapter_3_5 [2026/01/10 20:11] (current) pczekalski
Line 1: Line 1:
 ====== Processor Taxonomies, SISD, SIMD, MIMD ====== ====== Processor Taxonomies, SISD, SIMD, MIMD ======
-As we already know, the processor executes instructions which can process the data. We can consider two streams flowing through the processor. A stream of instructions which passes through the control unit, and a stream of data processed by the execution unit. In 1966, Michael Flynn proposed the taxonomies to define different processors' architectures. Flynn classification is based on the number of concurrent instruction (or control) streams and data streams available in the architecture.+As we already know, the processor executes instructions that process data. We can consider two streams flowing through the processor. A stream of instructions which passes through the control unit, and a stream of data processed by the execution unit. In 1966, Michael Flynn proposed the taxonomies to define different processors' architectures. Flynn classification is based on the number of concurrent instruction (or control) streams and data streams available in the architecture.
 Taxonomies as proposed by Flynn are presented in Table{{ref>taxonomies}} Taxonomies as proposed by Flynn are presented in Table{{ref>taxonomies}}
  
Line 13: Line 13:
  
 ===== SISD ===== ===== SISD =====
-Single Instruction Single Data processor is a classical processor with a single control unit and a single execution unit. It can fetch a single instruction at one cycle and perform single calculation. Mature PC computers based on 8086, 80286 or 80386 processors or some modern small-scale microcontrollers like AVR are examples of such an architecture.+Single Instruction Single Data processor is a classical processor with a single control unit and a single execution unit. It can fetch a single instruction in one cycle and perform single calculation. Mature PC computers based on 8086, 80286 or 80386 processors or some modern small-scale microcontrollers like AVRare examples of such an architecture.
  
 ===== SIMD ===== ===== SIMD =====
-Single Instruction Multiple Data is an architecture in which one instruction stream can perform calculations on multiple data streams. Good examples of implementation of such architecture are all vector instructions (called also SIMD instructions) like MMX, SSE, AVX, and 3D-Now in x64 Intel and AMD processors. Modern ARM processors also implement SIMD instructions which perform vectorised operations.+Single Instruction Multiple Data is an architecture in which one instruction stream can perform calculations on multiple data streams. Good examples of implementing such an architecture are the vector instructions (also called SIMD instructions) such as MMX, SSE, AVX, and 3D-Now on x64 Intel and AMD processors. Modern ARM processors also implement SIMD instructionswhich perform vectorised operations.
  
 ===== MIMD ===== ===== MIMD =====
-Multiple Instruction Multiple Data is an architecture in which many control units operate on multiple streams of data. These are all architectures with more than one processor (multi-processor architectures). MIMD architectures include multi-core processors like modern x64, ARM and even ESP32 SoCs. This also includes supercomputers and distributed systems, using common shared memory or even a distributed but shared memory.+Multiple Instruction Multiple Data is an architecture in which many control units operate on multiple data streams. These are all architectures with more than one processor (multi-processor architectures). MIMD architectures include multi-core processors such as modern x64, ARMand even ESP32 SoCs. This also includes supercomputers and distributed systems, using common shared memory or even a distributed but shared memory.
  
 ===== MISD ===== ===== MISD =====
-Multiple Instruction Single Data. At first glance, they seem illogical, but these are machines where the certainty of correct calculations is crucial and required for the security of the system operation. Such an approach can be found in applications like space shuttle computers.+Multiple Instruction Single Data. At first glance, it seems illogical, but in these machinesthe certainty of correct calculations is crucial to the security of system operation. Such an approach can be found in applications like space shuttle computers.
  
 ===== SIMT ===== ===== SIMT =====
-Single Instruction Multiple Threads. Originally defined as the subset of SIMD. In modern constructionNvidia uses this execution model in their G80 architecture  +Single Instruction Multiple Threads. Originally defined as the subset of SIMD. The difference between SIMD and SIMT is that in pure SIMDa single instruction operates on all elements of the vector in the same wayIn SIMT, selected threads can be activated or deactivatedInstructions and data are processed only on the active threads, while the data remains unchanged on inactive threads. 
-((https://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf)) where multiple independent threads execute concurrently using a single instruction +
- +
  
 +We can find SIMT in modern constructions. NVIDIA uses this execution model in their G80 architecture 
 +((https://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf)), where multiple independent threads execute concurrently using a single instruction. 
 +In the x64 architecture, the new vector instructions have masked variants, in which an operation can be enabled or disabled for selected vector elements. This is done using an additional operand called a mask or a predicate.
en/multiasm/cs/chapter_3_5.1764676406.txt.gz · Last modified: 2025/12/02 13:53 by ktokarz
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0