Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 35 |
Nodes: | 6 (1 / 5) |
Uptime: | 19:12:11 |
Calls: | 321 |
Calls today: | 1 |
Files: | 957 |
Messages: | 82,383 |
According to my understanding of “pipelined” most designs are
pipelined. There are not very many non-pipelined designs.
Non-pipelined
designs perform everything in one long clock cycle.
Robert Finch <robfi680@gmail.com> schrieb:
According to my understanding of “pipelined” most designs are
pipelined. There are not very many non-pipelined designs.
Not any more.
Non-pipelined
designs perform everything in one long clock cycle.
Earlier architectures had several clock cycles per instruction,
also without pipelining. I think the single-clock CPUs mostly
serve as an example for educational purposes.
Thomas Koenig wrote:
Robert Finch <robfi680@gmail.com> schrieb:
According to my understanding of “pipelined” most designs are
pipelined. There are not very many non-pipelined designs.
Not any more.
Non-pipelined
designs perform everything in one long clock cycle.
Earlier architectures had several clock cycles per instruction,
also without pipelining. I think the single-clock CPUs mostly
serve as an example for educational purposes.
It is possible to do everything for a risc style ISA in one clock but
it would need a Harvard architecture with separate instruction and
data memory because it would have to read the instruction memory and
also LD [reg]->reg or ST reg->[reg] data memory within the same clock.
So the only flip-flops would be in the 3-port register file and
the RIP register, and everything between instruction read and result
write is combinatorial logic. The critical timing path would be
2x the mem access time plus combinatorial logic.
On Thu, 26 Dec 2024 18:54:42 +0000, EricP wrote:
Thomas Koenig wrote:
Robert Finch <robfi680@gmail.com> schrieb:
According to my understanding of “pipelined” most designs are
pipelined. There are not very many non-pipelined designs.
Not any more.
Non-pipelined
designs perform everything in one long clock cycle.
Earlier architectures had several clock cycles per instruction,
also without pipelining. I think the single-clock CPUs mostly
serve as an example for educational purposes.
It is possible to do everything for a risc style ISA in one clock but
??? LDs in 1 cycle
??? IMUL in 1 cycle
??? IDIV in 1 cycle
??? L1 miss in 1 cycle
??? FP <any> in 1 cycle
it would need a Harvard architecture with separate instruction and
data memory because it would have to read the instruction memory and
also LD [reg]->reg or ST reg->[reg] data memory within the same clock.
So the only flip-flops would be in the 3-port register file and
the RIP register, and everything between instruction read and result
write is combinatorial logic. The critical timing path would be
2x the mem access time plus combinatorial logic.
On 2024-12-08 5:10 p.m., Marcus wrote:
I usually (and simplistically) divide CPU designs (implementations) intoAccording to my understanding of “pipelined” most designs are pipelined. There are not very many non-pipelined designs.
two main categories:
- Pipelined
- Non-pipelined
Of course, there is a sliding scale at play, but let's not get into that
debate.
My question is: What is the best name for non-pipelined designs?
I'm thinking about CPU:s that transition through several states (one
clock cycle after another) when executing a single instruction (e.g.
FETCH + DECODE + EXECUTE), and where instruction and data typically
share the same memory interface.
/Marcus
Non-pipelined designs perform everything in one long clock cycle.
Otherwise, there are two major classes of pipelined designs,
non-overlapped pipeline and overlapped pipeline. Some designs are
partially overlapped pipelined.
We were just doing toy cpus to learn on , I doubt anybody needs to do
multi cycle designs anymore , those are from a time when gates were
precious.
On 2024-12-26, Robert Finch wrote:
On 2024-12-08 5:10 p.m., Marcus wrote:
I usually (and simplistically) divide CPU designs (implementations) into >>> two main categories:According to my understanding of “pipelined” most designs are
- Pipelined
- Non-pipelined
Of course, there is a sliding scale at play, but let's not get into that >>> debate.
My question is: What is the best name for non-pipelined designs?
I'm thinking about CPU:s that transition through several states (one
clock cycle after another) when executing a single instruction (e.g.
FETCH + DECODE + EXECUTE), and where instruction and data typically
share the same memory interface.
/Marcus
pipelined. There are not very many non-pipelined designs.
True. I'm talking about a niche here.
Non-pipelined designs perform everything in one long clock cycle.
The designs I'm thinking about are mostly multi-cycle, i.e. one
instruction takes several cycles to complete.
Otherwise, there are two major classes of pipelined designs,
non-overlapped pipeline and overlapped pipeline. Some designs are
partially overlapped pipelined.
For the sake of the argument, what should we call:
* Intel 8008 [1]
* Olof Kindgren's SERV [2]
* MOS 6502 [3]
?
There may be some pipelining in parts of these designs, but the key
point I'm trying to get at is that the CPU typically goes through a
sequence of states when executing an instruction, and it is typically
"busy" for more than one clock cycle while executing one instruction.
/Marcus
[1] https://en.wikipedia.org/wiki/Intel_8008
[2] https://serv.readthedocs.io/en/latest/internals.html#instruction-life-cycle [3] https://en.wikipedia.org/wiki/MOS_Technology_6502
On Sun, 12 Jan 2025 13:44:44 +0000
ze@zerandconsulting.com (Ze) wrote:
We were just doing toy cpus to learn on , I doubt anybody needs to do
multi cycle designs anymore , those are from a time when gates were
precious.
To remove your doubts: https://www.intel.com/content/www/us/en/products/details/fpga/intellectual-property/processors-peripherals/niosv.html