Execution units are often pipelined
blog.xoria.org
Execution units are often pipelined
1–10 of 102 posts
Re: Execution units are often pipelined
#2The latency shows after how many cycles the result of an instruction can be consumed by another, while the throughput shows how many such instructions can be pipelined per cycle, i.e. in parallel.
Re: Execution units are often pipelined
#3I know that some ALU's have multiple ADD complexes, and I assume that would influence the answer, hence why I specified x86.
Re: Execution units are often pipelined
#4In most real code the high throughput of these sorts of operations means that something else is the limiting factor. And if multiplier throughput is limiting performance then you should be using SIMD or a GPU.
Re: Execution units are often pipelined
#5Is this still the case if I have different ALU operations. Say I have a single ALU on a single x86 core. Would the ALU be able to interleave say ADD and MULs? or would I incur the latency measure for each operation switch? I know that some ALU's have multiple ADD complexes, and I assume that would influence the answer, hence why I specified x86.
Re: Execution units are often pipelined
#6Is this still the case if I have different ALU operations. Say I have a single ALU on a single x86 core. Would the ALU be able to interleave say ADD and MULs? or would I incur the latency measure for each operation switch? I know that some ALU's have multiple ADD complexes, and I assume that would influence the answer, hence why I specified x86.
In general though there is no penalty for interleaved operations.
Re: Execution units are often pipelined
#7Re: Execution units are often pipelined
#8What I am interested to know is who invented pipelining? I tried googling but without much success. Does anybody know?
Re: Execution units are often pipelined
#9Is this still the case if I have different ALU operations. Say I have a single ALU on a single x86 core. Would the ALU be able to interleave say ADD and MULs? or would I incur the latency measure for each operation switch? I know that some ALU's have multiple ADD complexes, and I assume that would influence the answer, hence why I specified x86.
Re: Execution units are often pipelined
#10What I am interested to know is who invented pipelining? I tried googling but without much success. Does anybody know?
Probably the first person to ask, 'how can I speed up this processor, maybe there's a way to do more than one processing step at a time for each instruction'