X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=Report%2FMain%2FProblems%2FChallenges.tex;h=531e580284f9136cd75de713f0a0c8794bd28cb3;hb=52b588775e8f16a4a29c71762497ae2eef946e01;hp=13a8dd84a696842ef859e02f7e9667b5e5b6447d;hpb=0b0360bae585113463ae7840831f2231a887c297;p=matthijs%2Fprojects%2Finternship.git 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. + +