From: Matthijs Kooijman Date: Fri, 25 Jul 2008 15:52:20 +0000 (+0200) Subject: Add some stuff about pipelining (unfinished). X-Git-Tag: Report-final~27 X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fprojects%2Finternship.git;a=commitdiff_plain;h=52b588775e8f16a4a29c71762497ae2eef946e01 Add some stuff about pipelining (unfinished). --- diff --git a/Report/Main/Problems/Challenges.tex b/Report/Main/Problems/Challenges.tex index 13a8dd8..531e580 100644 --- a/Report/Main/Problems/Challenges.tex +++ b/Report/Main/Problems/Challenges.tex @@ -190,5 +190,19 @@ Initially mostly helping out with hints on LLVM coding, but later also with thinking about the scheduler and hardware design. I will not go into much detail about the new hardware and its scheduler here, -but I will highlight the most important challenges and tradeoffs. I'll also +but I will highlight the most important challenges and tradeoffs. + +In general, the most important tradeoff seems to be between flexibility and +everything else (code size, performance, complexity). This flexibility is +expressed in which instructions are possible, which connections are present, how +big register files are, etc. + +An important reason to be flexible is for programmability. If the hardware is +regular, making a compiler that produces optimal code gets a lot easier. + +Code compression. + +I'll also spend a few words on the observed merits of hardware/software codesign. + +