- #1
- 1,629
- 1
Hello everyone we were given this question to think about, and I wans't sure if my reasoning was right or not, what are your thoughts?
#1. It is obvious that using more hardware results in better
performance, but that the performance increase is not linear in the amount of hardware added.
Why is this?
#2.If adding extra execution units (Fetch, ALUs, multipliers) adds cost linearly but
adding extra dependency-handling hardware (issue, RUU) adds cost quadratically, where would
your money be best spent? What other conclusions and observations can you draw from the data
that you’ve collected?
For the first question:
I thought, The more hardware you add doesn't necessarily mean an increase in performance linearly because you still have to deal with all the problems assosicated with more complex designs such as: True dependences, Anti-dependences, and output dependences. To help reduce the amount of these resource conflicts you can add dependency-handling hardware but law of diminising returns will also set in where you can keep adding hardware but the performance gain will be less and less significant.
For the second question I said:
If adding extra execution units (Fetch, ALUs, multipliers) adds cost linearly but adding extra dependency-handling hardware (issue, RUU) adds cost quadratically, your money would be best spent in adding extra execution units.
You can create a very powerful machine with tons of dependency-handling hardware but who would have the resources to buy it from you? You have to find an equilibrium where performance and cost make sense for implementing a design marketable to a large amount of industries if you want to make a profit.
#1. It is obvious that using more hardware results in better
performance, but that the performance increase is not linear in the amount of hardware added.
Why is this?
#2.If adding extra execution units (Fetch, ALUs, multipliers) adds cost linearly but
adding extra dependency-handling hardware (issue, RUU) adds cost quadratically, where would
your money be best spent? What other conclusions and observations can you draw from the data
that you’ve collected?
For the first question:
I thought, The more hardware you add doesn't necessarily mean an increase in performance linearly because you still have to deal with all the problems assosicated with more complex designs such as: True dependences, Anti-dependences, and output dependences. To help reduce the amount of these resource conflicts you can add dependency-handling hardware but law of diminising returns will also set in where you can keep adding hardware but the performance gain will be less and less significant.
For the second question I said:
If adding extra execution units (Fetch, ALUs, multipliers) adds cost linearly but adding extra dependency-handling hardware (issue, RUU) adds cost quadratically, your money would be best spent in adding extra execution units.
You can create a very powerful machine with tons of dependency-handling hardware but who would have the resources to buy it from you? You have to find an equilibrium where performance and cost make sense for implementing a design marketable to a large amount of industries if you want to make a profit.
Last edited by a moderator: