A backgrounder from the ever-dependable Asianometry channel <https://www.youtube.com/watch?v=J7157XB8rxc> on the history of VLIW, beginning with the PhD student who invented to the concept, who then
went on to found a company (Multiflow) to capitalize on it as part of
the short-lived “mini-supercomputer” boomlet of the early-to-mid
1980s.
It was a truly tough concept to prove in practice. And in the end it
seems to have been in vain. Seems the infamous HP/Intel Itanium
project also took in some ex-employees of the mini-super companies.
So what happened? RISC happened. That turned out to be a much more
practical way of achieving leaps in performance.
I think I saw someone in the video comments say VLIW is still used
in DSP. But I think they mean SIMD, not VLIW.
On 26/05/2026 07:53, Lawrence D’Oliveiro wrote:
A backgrounder from the ever-dependable Asianometry channel
<https://www.youtube.com/watch?v=J7157XB8rxc> on the history of VLIW,
beginning with the PhD student who invented to the concept, who then
went on to found a company (Multiflow) to capitalize on it as part of
the short-lived “mini-supercomputer” boomlet of the early-to-mid
1980s.
It was a truly tough concept to prove in practice. And in the end it
seems to have been in vain. Seems the infamous HP/Intel Itanium
project also took in some ex-employees of the mini-super companies.
So what happened? RISC happened. That turned out to be a much more
practical way of achieving leaps in performance.
I think I saw someone in the video comments say VLIW is still used
in DSP. But I think they mean SIMD, not VLIW.
I have not watched the video. But it is certainly the case that some
DSP's are referred to as VLIW, with good reason. The key feature of powerful DSP's is not that they can do SIMD-style operations (they can
often do that as well), but that they can do multiple different
operations in the same cycle, with explicit control. A DSP core might
be doing two separate MAC operations along with matching loads and
stores, where these memory operations are for different memory areas and buses, and with different rules for auto-incrementing, cyclic wrapping, etc. There's a count register to decrement and check for 0, breaking
out of the loop. VLIW-style DSP's can let you do the whole lot in one
or two instructions.
On 26/05/2026 07:53, Lawrence D’Oliveiro wrote:
A backgrounder from the ever-dependable Asianometry channel <https://www.youtube.com/watch?v=J7157XB8rxc> on the history of VLIW, beginning with the PhD student who invented to the concept, who then
went on to found a company (Multiflow) to capitalize on it as part of
the short-lived “mini-supercomputer” boomlet of the early-to-mid
1980s.
It was a truly tough concept to prove in practice. And in the end it
seems to have been in vain. Seems the infamous HP/Intel Itanium
project also took in some ex-employees of the mini-super companies.
So what happened? RISC happened. That turned out to be a much more practical way of achieving leaps in performance.
I think I saw someone in the video comments say VLIW is still used
in DSP. But I think they mean SIMD, not VLIW.
I have not watched the video. But it is certainly the case that some
DSP's are referred to as VLIW, with good reason. The key feature of powerful DSP's is not that they can do SIMD-style operations (they can
often do that as well), but that they can do multiple different
operations in the same cycle, with explicit control.
A DSP core might
be doing two separate MAC operations along with matching loads and
stores, where these memory operations are for different memory areas and buses, and with different rules for auto-incrementing, cyclic wrapping,
etc. There's a count register to decrement and check for 0, breaking
out of the loop. VLIW-style DSP's can let you do the whole lot in one
or two instructions.
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
On Wed, 27 May 2026 21:23:49 GMT, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
MIMD is not VLIW,
though. MIMD means the processors are decoupled and
run asynchronously.
At least I thought that’s what it meant.
VLIW
implies some kind of coupling, while still allowing different units to perform different operations, unlike SIMD.
Then there is MISD, aka dataflow.
On Wed, 27 May 2026 22:39:39 -0000 (UTC), Lawrence D’Oliveiro wrote:
MIMD is not VLIW,
You cannot have VILW without MIMD. You can have MIMD without VLIW.
MIMD means the processors are decoupled and run asynchronously.
Not necessarily, one can have a single core that is MIMD all by itself.
VLIW implies some kind of coupling, while still allowing different
units to perform different operations, unlike SIMD.
Fisher's VLIW requires that the MI part has been compiled such that
the DECODE unit can decode and execute all the instructions
simultaneously.
Then there is MISD, aka dataflow.
Does "real" Data-flow even have instructions ? or flow control ?
David Brown <david.brown@hesbynett.no> posted:
On 26/05/2026 07:53, Lawrence D’Oliveiro wrote:
A backgrounder from the ever-dependable Asianometry channel
<https://www.youtube.com/watch?v=J7157XB8rxc> on the history of VLIW,
beginning with the PhD student who invented to the concept, who then
went on to found a company (Multiflow) to capitalize on it as part of
the short-lived “mini-supercomputer” boomlet of the early-to-mid
1980s.
It was a truly tough concept to prove in practice. And in the end it
seems to have been in vain. Seems the infamous HP/Intel Itanium
project also took in some ex-employees of the mini-super companies.
So what happened? RISC happened. That turned out to be a much more
practical way of achieving leaps in performance.
I think I saw someone in the video comments say VLIW is still used
in DSP. But I think they mean SIMD, not VLIW.
I have not watched the video. But it is certainly the case that some
DSP's are referred to as VLIW, with good reason. The key feature of
powerful DSP's is not that they can do SIMD-style operations (they can
often do that as well), but that they can do multiple different
operations in the same cycle, with explicit control.
MIMD--DSPs are designed to run small kernels of code where each cycle
the core can {access memory, crunch some numbers, consider a branch}
Which makes them ideal for {filtering, FFTing, some cyphers, store&
forward network controllers}. These are the kinds of algorithms that
fit the VLIW mantra well.
{compilers, Assemblers, Operating Systems, File systems, ISRs, DPC's,
GUIs, synchronization, multi-threaded shared libraries, ...} not so much.
But for the applications they are suited for, they might save more than
70% of the power needed by a GBOoO at less than 30% the die area (and
cost). In other words, they pay a smaller vonNeumann tax. About the
only thing that can be lower area and power costs would be hardwired algorithms {Texture, Rasterization, Interpolation, ...} which GPUs
have figured out.
A DSP core might
be doing two separate MAC operations along with matching loads and
stores, where these memory operations are for different memory areas and
buses, and with different rules for auto-incrementing, cyclic wrapping,
etc. There's a count register to decrement and check for 0, breaking
out of the loop. VLIW-style DSP's can let you do the whole lot in one
or two instructions.
On Wed, 27 May 2026 21:23:49 GMT, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
MIMD is not VLIW, though. MIMD means the processors are decoupled and
run asynchronously. At least I thought that’s what it meant. VLIW
implies some kind of coupling, while still allowing different units to perform different operations, unlike SIMD.
Then there is MISD, aka dataflow.
On 2026-May-27 18:39, Lawrence D’Oliveiro wrote:
On Wed, 27 May 2026 21:23:49 GMT, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
MIMD is not VLIW, though. MIMD means the processors are decoupled and
run asynchronously. At least I thought that’s what it meant. VLIW
implies some kind of coupling, while still allowing different units to
perform different operations, unlike SIMD.
Then there is MISD, aka dataflow.
The naming is based on the number of independent instruction pointers.
VILW has 1 IP, MIMD has multiple IP.
On Thu, 28 May 2026 01:33:29 GMT, MitchAlsup wrote:
On Wed, 27 May 2026 22:39:39 -0000 (UTC), Lawrence D’Oliveiro wrote:
MIMD is not VLIW,
You cannot have VILW without MIMD. You can have MIMD without VLIW.
VLIW implies multiple function units, of course. The “MI” in “MIMD” implies multiple instruction fetch/decode units, surely. Otherwise
it would be just “superscalar”.
MIMD means the processors are decoupled and run asynchronously.
Not necessarily, one can have a single core that is MIMD all by itself.
Umm, what does the “M” stand for, again?
VLIW implies some kind of coupling, while still allowing different
units to perform different operations, unlike SIMD.
Fisher's VLIW requires that the MI part has been compiled such that
the DECODE unit can decode and execute all the instructions
simultaneously.
If by “simultaneously” you mean “in lockstep” rather than just “concurrently”, then “MI” on its own does not imply that.
Then there is MISD, aka dataflow.
Does "real" Data-flow even have instructions ? or flow control ?
I’m not familiar with hardware uses of it, but I can point at software systems that implement it. Yes, they have instructions, and flow
control.
On 2026-May-27 18:39, Lawrence D’Oliveiro wrote:
On Wed, 27 May 2026 21:23:49 GMT, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
MIMD is not VLIW, though. MIMD means the processors are decoupled and
run asynchronously. At least I thought that’s what it meant. VLIW
implies some kind of coupling, while still allowing different units to perform different operations, unlike SIMD.
Then there is MISD, aka dataflow.
The naming is based on the number of independent instruction pointers.
VILW has 1 IP, MIMD has multiple IP.
EricP <ThatWouldBeTelling@thevillage.com> posted:
On 2026-May-27 18:39, Lawrence D’Oliveiro wrote:Boroughs BSP had a single IP orchestrating 16 'cores' {more GPU-like}
On Wed, 27 May 2026 21:23:49 GMT, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
MIMD is not VLIW, though. MIMD means the processors are decoupled and
run asynchronously. At least I thought that’s what it meant. VLIW
implies some kind of coupling, while still allowing different units to
perform different operations, unlike SIMD.
Then there is MISD, aka dataflow.
The naming is based on the number of independent instruction pointers.
VILW has 1 IP, MIMD has multiple IP.
and was considered MIMD because many instructions were executed simultaneously each execution being performed on its own data.
David Brown <david.brown@hesbynett.no> posted:
On 26/05/2026 07:53, Lawrence D’Oliveiro wrote:
A backgrounder from the ever-dependable Asianometry channel
<https://www.youtube.com/watch?v=J7157XB8rxc> on the history of VLIW,
beginning with the PhD student who invented to the concept, who then
went on to found a company (Multiflow) to capitalize on it as part of
the short-lived “mini-supercomputer” boomlet of the early-to-mid
1980s.
It was a truly tough concept to prove in practice. And in the end it
seems to have been in vain. Seems the infamous HP/Intel Itanium
project also took in some ex-employees of the mini-super companies.
So what happened? RISC happened. That turned out to be a much more
practical way of achieving leaps in performance.
I think I saw someone in the video comments say VLIW is still used
in DSP. But I think they mean SIMD, not VLIW.
I have not watched the video. But it is certainly the case that some
DSP's are referred to as VLIW, with good reason. The key feature of
powerful DSP's is not that they can do SIMD-style operations (they can
often do that as well), but that they can do multiple different
operations in the same cycle, with explicit control.
MIMD--DSPs are designed to run small kernels of code where each cycle
the core can {access memory, crunch some numbers, consider a branch}
Which makes them ideal for {filtering, FFTing, some cyphers, store&
forward network controllers}. These are the kinds of algorithms that
fit the VLIW mantra well.
Lawrence =?iso-8859-13?q?D=FFOliveiro?= <ldo@nz.invalid> posted:
On Wed, 27 May 2026 21:23:49 GMT, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some cyphers,
store& forward network controllers}. These are the kinds of
algorithms that fit the VLIW mantra well.
MIMD is not VLIW,
You cannot have VILW without MIMD. You can have MIMD without VLIW.
On 5/27/2026 2:23 PM, MitchAlsup wrote:
MIMD--DSPs are designed to run small kernels of code where each
cycle the core can {access memory, crunch some numbers, consider a
branch} Which makes them ideal for {filtering, FFTing, some
cyphers, store& forward network controllers}. These are the kinds
of algorithms that fit the VLIW mantra well.
Basically, kind of akin to compute shaders..
On 2026-May-28 14:04, MitchAlsup wrote:
EricP <ThatWouldBeTelling@thevillage.com> posted:
The naming is based on the number of independent instructionBoroughs BSP had a single IP orchestrating 16 'cores' {more
pointers. VILW has 1 IP, MIMD has multiple IP.
GPU-like} and was considered MIMD because many instructions were
executed simultaneously each execution being performed on its own
data.
That's SIMD then, like ILLIAC-IV.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,118 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 39:22:37 |
| Calls: | 14,340 |
| Files: | 186,357 |
| D/L today: |
23,668 files (7,691M bytes) |
| Messages: | 2,532,986 |