?_hwn29@LP_dit|  16;EKQ^adloux{~$*07<CJPUZaei~ . r v     # & - 3 9 > A H N S Y a k q { ! % * / 5 8 ; ? K W ^ f t    " % . 9 = B J ^ f m v     ( 0 7 ; F M U ] e n r w } ")-DHKUX^hlp{ "-0:?ENV_gks|&+08AGLRZbhntw|  '.4BIMRU^chnt{%-29FOT[ajpu| "'.28>DKQXblt|!%,18>CIQW]gq| &,06<BEKPUZ^fkrx| %,08>AEKRW[cgmux|'2IU[bgkruy| !'+04;?CFJV\_gmty  (27<CIT\eot| #)2:CLTZcnux| $+1AEIOV_fnsy~  )159=@EIMRW[`gkpu "(/6:@DIPSW[j".WDC"."Stall""WINDLX.WDC""__""string1","..."$DATA$TEXT'immediate'(16-Bit)(32-Bit)(Floating(Instruction(Warning: These flags are predefined in MS-DOS and not compatible to UNIX.)(Yes/No)(absolute(bytes)(code)(e.g.(in(initially(jump(not(or(pseudo-)register(read(sign(unsigned)(which(write*************+ A+ C+ Change+ D+ DLX-+ E+ F+ M+ Number+ R+ S+ S+ Standard error output+ Standard input+ Standard output+ T+ a+ the- Number of- Number of RAW-Stalls with a- Number of instructions that passed the f.align.ascii.asciiz.data.double.global.space.text.word/delete0x000x011. File descriptor of16-bit19912. Address26-bit; Program begins at symbol main; higher 16 bits; lower 16 bits; re;***;***;*** end;*********** (c) 1991 Gnther Raidl *************;*********** WINDLX;-------------------------------------------------------------------;...;File descriptor, Adr. of buffer, size of block;R1;increment;read uns.-Integer into R1A <- Rs1; B <- Rs2;A dialog box is displayedA fileADDALUALUHI,ALUoutputAbsoluteActivateAddAddressAdr,FsAdr,RsAfterAllArrangeArrowsBlockBranchBranchesBreakpointBufferC-functionC-libraryCR/LF)CTRL-CVTCancelCascadeCauseChangeChildClockCloseCodeConceptsConditionalConfigurationControlConverts from typeConverts from type double-precision to typeCopyCountCycleDELETEDIVDLXDLX-DLX-AssemblyDLX-ExamplesDLX-I/ODLX-I/O-DLX-I/O-WindowDLX-InstructionsDLX-sourceDataDd,Da,DbDecimalDeleteDestDetailDiagramDirectivesDisplayDisplayDisplay instruction-information window for a selected instructionDivideDoubleENTEREQ,EX-StagesEXecution):EachEnablEncodes:Enter selection modeExample:ExecuteExecutionExit selection modeExpressionsFPSRFactoriFd,Fa,FbFd,FsFileFileDescr:FileNameFinishFloatingFloatingpointFollowingForFormatForwardingFrameFurtherGntherGPRGT,GeneraGreatestHalfwordHardwareHazardsHelpHexadecimalHistoryID-StageID-stageIF-StageIF-stage,IMARINPUTINSERTIf In In WinDLX,InputUnsignedInstructionInstructionInstruction-Information-Window.IntegerInterfaceJump and link: save PC+4 to R31; target isJump:KeyboardLDRLT,LengthListingLoadLoad/Store-InstructionsLoopMEMMEM-stage,MOVMS-DOSMS-WindowsMULTMainMem[IMAR]PCMemoryMenuMenu:Move 32 bits fromMultiplNE,NextNumberOpcodeOpenOtherwise,OutputPC;IRPar:ParameterPipelinePointPressingPrimePrintfFormatPrintfParPrintfValueProgramPromptQuit WINDLXR1.RAW-StallsRaidlRd,AdrRd,Ra,ImmRd,Ra,RbRd,Rs,ImmRd,Rs,RcReadRegisterRegistersResetReturnRs1;Rs2;Rt,DestRunSDRHI,SHIFT-FSUBSaveSeeSelectSelectSelect in selection mode, otherwise scroll up/downSetShift left logicalShift rightSimilarSingleSizeSpecialStageStallStandardStatisticStatusStoreStringStructurSubtractSymbolSyntaxSystemTABTableTechnologyTest comparison bit in the FP status register (TheThereThisThisThis optionThis option has a submenu:TransferTrapUNIXUniversityViennaWAW-StallsWINDLXWinDLXWinDLX,WinDLX.WindowWindow-SubmenuWindowsWordWriteYou[address]abortaboutacceptaccessactivatactivateactivated,activeactivitiesactualaddedaddiadditionaddressadduiadressafterallallowingallowsalreadyalsoalwaysandanotheranyappearappliarbitraryarearea.arisearithmeticarrangedarrowassemblautomaticallyavailablebasedbecausebeforebeginningbeginsbeingbetweenbitbitsblockbnezboxbranchbranchesbreakpointbuffer,butbuttonbypassbytebytescalculatcallcalledcancanceled.cannotcases,causecausingchangecharacterchildclasscleared.clockcloseclosed.codecolourcolumncombincommandcommoncomparecomparisoncompatiblecompletecomputedconconditionalconficonfigurationconflictcontainingcontainscontentcontentscontinucontrolconvercornercorrespondingcountcreatecurrentcurrentlycustomizecvti2dcyclecyclesdatadecimaldecoddefaultdefinedelaydeletedeleted.dependdescridescriptordesignateddestinationdetaileddetailsdetectdeterminediagramdialogdifferentdiplayeddirectdirectivedisplaydisplaydisplayeddisplayed.displayed:dividedocumentationdoubledouble-precisiondoubleclickduringeacheffecteitherenableendenoughenterequalerroretc.even-oddeveryexampleexceptexecexecutedexecutingexecutionexistexpressionextensionf0,ffaddEXfdivEXfeaturesfetchfilefile.filenamefilesfirstfivefloatingfloating-pointfloatingpointfmulEXfollowingforformatforwardfromfunctiongeneragetgiveglobalgraphicgrouphalfhalfwordhandhappenhardwarehashavehazardhazardshelphexadecimalhexadecimalhexadecimal or decimalhigherhistoryiconizimmediateimplemented!)incorrectlyincrementinfoinformationinitializedinputinstallinstructioninstructioninstruction-informationinstructionsintEX-integerinterintoinvaliditsjumpkeylabellanguagelastlaterleavingleftlengthletslhilinelinklistlistedloadloadedloadingloadslocationlogicallonglowermainmanipulatemarkedmaymeanmeasurememorymenumessagemodemodulemoremousemovimultiplmustnamenewnextnon-iconizednormalnotnotationnumbernumbersoccuroffsetoneonlyopenoperandoperatoperationoperatorsoptionoption,option.optionsorderotherotherwiseoutputoverpairparameterpassedperformperformedperformspermissionpiecespipepipelinepipeliningplacepointpointerpositipossibilitypossibleprecisionpredefinedpresspressingpreviousprimprintf()priorproceprocessorprogrampromptproperprovidedr1,r0,r1,r1,r14,Par>>16r14,r0,PrintfParr14,r14,Par&0xffffr2,r2,r2,r3,rratherreachereadreadingredirectreducereferenceregisterregister.registersrelativeremainrepresentrepresentedrequireresreseresetrestoreresultreturnedrightrs1samesavesavedscrollsecondsectionseeselectselectedselectingselectionsensitivesequentiallysetseveralshowssignedsimplesimulatedsimulationsimultasinglesingle-precisionsizesomesourcespecialspecifiedspecifysplittedstagestagesstallstall.stallsstandardstartstatestatisticsstatusstdinstdoutstepstorestringstructuralsubmenusubtractsuccesupplied,supportsymbolsymbolssystemtabletakentargettechniquetemporaryterminattextthanthatthetheirthemthentherethesethisthreethroughtimetitleto...transferredtraptriestwotypeunchangedundundefinedunderlayedunitunitsuns.-Integerunsigneduntilup/downupperuseduserusingvaluevaluesvalues.viaviewvisiblewerewhenwhetherwhichwillwindowwindow.windowswithwithinwordwritewrittenyouzerozerozero-terminated/&;)z4 topic %d of `bm0!bm17bm2M<bm3 B|CTXOMAP)|FONT'|KWBTREE0|KWDATA,|KWMAPp0|Phrases|SYSTEMF|TOMAP%|TOPIC6F|TTLBTREEHedict-not-taken scheme is implemented by continuing to fetch instructions as if the branch were a normal instruction. The pipeline looks as if nothing out of the ordinary is happening. If the branch is taken, we neeed to stop the pipeline and restart the fetch. h_Traps.) h_Trap1 h_Trap2 h_Trap3 h_Trap4 h_Trap5Y Address of a zero-terminated string, that contains the path of the file to be opened.Q, to open the file. Following modes can be combined using logical or-operation:: of the file to be closed. of the file-, for the destination of the read operation of block (bytes) to be read of file of block to be written of the block (bytes) see C-function printf()7 according to format string; see C-function printf()h_InstructionsU , the assembler supports several directives which affect how it filpP+b+       ? ?  ?}_~}}x~}~~w8a_7W0]Pn]\Wnw]~Wnw]}W~naP_~p?     ?      <??}_|w}}{~{}~~w{8a_7W0{]Pn{]\Wnw{]~Wnww]}W{naP_x?p?߿><< >           ?           } }} ~w}~ ~wL8a_ 05] nu]\ n}uw]~ nwu]} nva p                  ?           ߿ ߿    ? ?          ~ ~w 0VW nVW n[ nw n p                ? ?++++++++'$$$$$$$$ۿ$ۿ$$껿$껿${$x$$$$$$$(++++++++++++++lp* 111?    ?      o  111111c1//o   x?D:!nw;m޾o{޾m߾o{޾o߾`?{ހn ߾o߿{޿m޾o{޾mw{mx{n6//|lp&& 2222242??      s?   { w   224Oj/?/??????? ? ?s ?{p^?vs}{?}w?}w?w?߿w?}}w?ns}{?}|???????????????/?/?Rlp 0u0r0i1h00. h}c}Sre߾7000o0e0000n0/F/&&&&&&?{wweǏa{G<oww{;?{o ez}o{}owo ~}o{}ow ~}o{}ow ~}{}wz}o{}owFww{o{{w?{>Ϗ;{&&~&&&& &&&&&//12006-l4) WINDLX-Help systemKP\`` ( (!yindex2(2' /n V1.2RO2R#/A DLX-Simulator January 1992 igof PR38JBqContact :igof PProf. Herbert GrnbacherDept. VLSI-DesignTreitlstr. 3/2A-1040 hFAX: (+43-1) 56 96 9777)$/yindex:$7nJPBX]gtyY+ nl xJain Zhe Zhe BeZhe &Zhe LanguageZhe Zraps - UKFxecution of s 6s bDExamples>$>!sKRequirements InstallationD'>D$/ȀKRequirements InstallationD&/mrun on IBM-AT-compatible PCs 80286, 80386 80486-processors at least 1MB uVGA s , ing 3.3 -a er version) al >face 3.0 (standard- or enhanced ) 0ed. A is 4d very useful.U0ation of mis very h. copy l.EXE l.HLP floppy to an directory on harddisk (perferably C:\WINDLX). mbe ed directly floppy, ing per response s i.l.EXE runs er like ycation.7+7!nl of mwindows272$/Ȁnl of lm2m"/In (also e) ced s, - if redisplayed - of *:YmYYJRB19=?DNSZhe t (Register @)Zhe t (DLX-Instructions in )Zhe t (Pipeline contained 8)Zhe  (What is done in Yin ?)Zhe :s t (Statistics of 8)Zhe t (Set/Delete/View s)+ Up to 10 x (Display @)y#Y+(/Uuof s is limited by uof eThey 't be d (The ion is dynamically Nd ). Before l, )should become familMiar s how to e !.Across top of ebelow bar is a aof s, . UOBmost represents S7Delf  a , resizing, ng, closing or ing % %!|-%-$/ȀUIZ-I"/Ue , on part  s:KIRvJPB$(0Hile+ tFxecutionJemory>onfiguration+ xNPN#/fmore, OBmost is Swindow.% N%!Q)%)$/ȀP.#)."/]:'.'$/rD'rCXJPBNeset Neset + or + % r%! + %+$/Ȁ ;;+;"/"ing s s:H;/0JPBZhe be Zhe be :.ascadeZile+ 'Y00=0!'Yin 0 00$/Ȁ'Y4sH_0H"/this is in 'H'!!Y~/'/$/ȀU ?/K5</WIn is , what is done in Yin . 7represents of in a n X. UQof (the O) is erlayed gray.Uan 5Gway as in +i>?>t  -Information-Window.fmore, yings (if d) :6s b:K%/6s 3in es, erlayed a Kto stalled . UAof +of stall:ZIdJPBqq"R-Stall" - RAW-Stall. A dark red e(if d) 5s "T-Stall" - b-Stall. [s by a b-Instruction . A c5.s in no 9in ."W-Stall" - j. A dark red e(if d) 5s "S-Stall" - 6, Wresources to serving instruction.- a [5is in 5be stalled in :stage, Jed .ww$/"Display b" is d, ing is 3a green , showing soucre uof ing.lwl38/ x.U!UY=:t`ltDZJPB@ABC+ 'b+ 'of 6s+ |Ret }%t%!'b+%+$/Ȁ'be+e"/this is V, yuof ing is ya green in Y~.*e*!'of 1*1$/Ȁ'of 6su1u"/this is V, 5s a RAW-Stall ("R-Stall") or k("W-Stall") is yan .%u%!|+%+$/Ȁ|c+c"/you ", be kUed 9be more in Y~.'c'!'V-'-$/Ȁ'}-"/U}=+ed 8. Wof (it be 0 100). A Wof -|s 9Sin in Y~.''!U:s /'/$/ȀU:s t/"/:s min :s []is in cs. Us to be in :s U"Total" be <:38JPBWGGGLZotal of [.Zhe of 8,  .Zhe of 9Sin (if ( (see ;) is `).++("JPBqql+l+(/U;[=cto E of +in :s f, );:'l'$/0 '0("JPB+ &:0XJPBEFGHIJK- t- 6s- - - Y8- bs- II5<JPBLM+ (Neset-"I-!m'uin :s+-+$/Ȁ'tC]+C"/Uof + 7of DLX:C..JPBRize of .Mfs of , .+ =of b-Mechanism (enabled or ).M9M("/U( makes no sense to !/ M/!F'6s in :s,/,$/Ȁ'6sE_,E"/this is ,):pEp*&JPBMof . forwarding is d )is of be in:]p],*JPBce5 c/jump 5 c5 ]02JPBMof jMof -instructionsMof -Stalls (= of 3).Mof a 5 ?=?("/ y./.?/!'3in :s-/-$/Ȁ'=[-="/]*s 3,):+=+("JPBqq^k+^/0JPBMof 3. the info is +is :6^6("JPB- of +6+("JPB8!+8("JPB- of '8H$/XXXXXXXXXXXXXXXXXXXXXO P PB2HB!'-/Store-Instructions in :s>"B>$/Ȁ'/Store-InstructionsAN>A"/this is of +:exAe02JPBMof ks. the ( is +be :6 e6("JPB- of e8+6+("JPB6!+6("JPB- of 8+6+("JPB3;+3!'Y9in :s2,32$/Ȁ'Y5sf2f"/this is )+of 9(faddEX, oder ):ZqfZ*&JPBZotal of 8. Is )+be :]Z],*JPBdaddEX-Stage.dmulEX-Stage.ddivEX-Stage.+]+("JPB/+/!'bs in :s,/,$/Ȁ'bs=3,="/Utotal of s is (=(!':s+(+$/Ȁ'2 +2"/s be -2-!)in :s---$/ȀInfoKa-K"/]ows )to w+ws in :s &K&! :s)&)$/Ȁ t)t"/Ube :. UOkYbe Y0. UA/. :s be ;too a :.%t%!-%-$/ȀUt-,*/In , ) , `,  or is. It is to aup to 20 s. ays  U[ows )to ws. To do , )Ua Hs or . ,clicking a ows to  .''$/57'5"/U="s:c05oDZJPBOPQRWW&VRet+ + @&o&!'s)&)$/Ȁ&^l)^"/activating ", a is , ows )to aa ~ing:^bJPB_ be an =$cluding ors ). Ube a e of 4 (aligned at #boundary). is Fted to e of 4._Type be IF, ID, EX,  WB, |s mis ed, if }5s }by . A -Breakpoint is d, a #e5or 5) to #-a part of it) }by Eis . A |-Breakpoint is d, a %#5or certain s) to #-a part of it) }by Eis .IYI"/Ued c"is d.&I&!s) &)$/Ȁ2()2"/A Wbe j(2(!s+ (+$/Ȁ_a+_"/s be hd a q". be asked to confirm action.&_&! s) &)$/ȀJZ)J"/Uor of a Wbe  d !a % J%!M-%-$/ȀUx-4:/%up to 10 s #/ 'in u._ys S/ &.U'[="s, cable to :GG6>JPBTU@>lose)G)! ) ))$/ȀT)T("/%, )to  7of / &.'T'!)')$/Ȁ4+)4"/Ube ,4,!\-I/O @,@$/ȀUDLX-Standard-I/O-Window5'@D"/[be , :XXX_ `\_}D8BJRB#"Zhe  d B/' in .=is in a q-(error-)-output is  ed to a =is in a qan /is 4d -input is  ed to a a ed by ..Jore is #B/to). [ows )to a m-button. a is 4s an ., a is at top of . During l, elapsed mis >>*&/U System <>8B/[is  an extended , ;al :DLX-Standard-I/O/tU window is Ucursor is d at UIon top of DLX-Standard-I/O/Redirect to P^C8C,*JPBqqVXRtandard axCa$/!of in/outputs to a  a Ucs s :b^ab+(JPBqq+ "IN"for .+ "OUT"for + "ERR" vbv/0/:ting ,  ions DLX-Standard-I/O/Redirect to t^C8vC,*JPBqqVXRtandard @3C@$/An  ion to a be %@%!7:%%:$/ȀU-Information t*:*>N/9?=[s, an 5is ed in , Y~ or .w+mof an instruction. WPs !UUQin raw =l +5of E. In .ing Ps, ys of (IF, ID, EX, WB) Unl Section:2!*2%/]]:V26>JPBqq_disassembled 4+ E_5in _of %it is, ion (normal,error,aborted))_Y,  begun_of OYof + how many [ 4#4%/:'4'$/'02JPBqq_duration of : "Begin(ggdDuration)"_of + what is done+ 5 Rource uof ings +ed.:%:+(/.(:(!Hboard+(+$/ȀU'+'"/xYN'Y+(JPBU=~UF1Context ]%s, s or in a ).8Y8"/Shortcuts in u!8aJPBU=~UR I F3or \ALT-F4F6 or L4s tiled5s cascadedF4a 1'234Y~567-18-29-30'ato F7AqXF8Ae ZF5F4O' F6F2>YView,  , add or iL6S6,,"/In 'B9,B,*JPBU=~U#a &.'>2B2&/In k2k4:JPBU=~UL<ESCD$.('W4W42k2&/In _{2_02JPBU=~UL<ESCD#4.'4-iInformation 4_4&/In Y~K4K02JPBU=~UL<ESCD$.(2K2&/In 929*&JPBU=~UScroll 292&/In g2g4:JPBU=~UL<ESCD$.W'W- g-!DLX-examples)-)$/Ȁ5*)5"/]s nbed:eE5e>NJPBZ[\+ q%~Hactorial+ ;$e;!DLX-example: greatest %~-;-$/Ȁq%~-*&/oo|o[eusage of s ^ed together. Two /gretest %of is on .U(GCM.S)yĀJPB|oBsp. 1: q%:-----quires .; ve =, e gcm; %?to -----ls .1:j"First : "2:j"Second : "printf-Trap:j"gcM=%d\n\n"f2:v:r4tptt:=ve AR1 R2Prompt1jaladdr1,r0;R2 <- R1Prompt2jal:Compare R1 R2seq1,r2== R2 ?r3,Result XJPB|osgt1,r2> R2 ?1Greaterr2Greater:;*** r1from r2subr1jr1Greater:;*** r2 r1sub r2jResult:}?(R1)sw,r15044%/Uof .S24pJPB|o;*********** mEx. 1: a ve =:----------;Subprogram by "InputUnsigned";expect of a /in R1;returns in ;changes Aof +R1, R13, R14----------l-TrapBuffer:r80Par:v0,ReadBuffer,80Printf-Trap:r4R2:r4R3:r4R4:r4R5:r4tp:;*** I'@swR2,r2swR3,r3swR4,r4swR5,r5;*** ЀJPB|osw,r15b-3 to \r14,r0,ReadPar3}r0,ReadBuffer0r4,r0,10;Dezimalsystem:;*** digits to of \lbur3,0(r2)seqir5,r3,10;LF -> Exitr5,Finishsubi3,48;0multu r4;Shift ^add r3;1.jV:;*** =old *lwSaveR2lwr3,SaveR3lwr4,SaveR4lwr5,SaveR5jrr31;  E<Q$uw|o/[=no ling bad .s.7Q7!DLX-example: factorial+ 7+$/ȀJal+*&/[eusage of 8. U(defined in ) is to an =.Uof Jel (FACT.S) [ qJPB|oEx. 2: Jal :-------quires ads a es factorial (Type: ); ?is 'to -------l:j"An =>1 : ":j"Factorial = %g\n\n"f2:v:r8tptt:AR1Promptjal;*** init 2fpf10,r1-> D0, D0..Count &V10r0,1;1 -> D2, D2..result2fpf11,r2Vf2,f11movdf4,f2;1-> D4, D4..Constant 1 U|JPB|oBreak loop, if D0 = 1:led4;D0<=1 ?bfptV;*** ication loopmultdf2,f2,f0subd0,f4jV:;*** %?to sd,f25066!SDLX-example: e -6-$/ȀND8-D%/Uof tor (PRIM.S)'D'$/('sJPB|oEx. 3: nte :; tes a ݴCount e Tablel1of p:v10pNN:r*4tptt:Initialization0;Index in Nr0,2;Current Determine, if R2 be d by a in Value:0,0;Helpindex in N:seqr4,r1,r3;end of ?r4,IsPrim; R2 is a e lwr5,Table(R3)divur6,r2,r5multur7,r6,r5subur8,r2,r7C;O_JPB|obeqzr8,IsNoPrim3,4jIsPrim:}in 'indexswN(r1),r2 4'count' d?lwr9,Countsrlir10,r1,2sger11,r}3|10,r9r11,FinishIsNoPrim:Check 1R2jValueV:0%O%"/7%7!DLX-Pipeline structure272$/ȀBe of JK2J"/U"DLX" 0: DeLuXe)  a :0J0,*/Ȱ\,0\=LJPB^_`+ + ~FX-Stages:N\CXJPBabcd- :Stage- -Stage(s)- -Stage(s)- -Stage(s)QQ5<JPBefJEM-Stage+ WB-Stage&Q&!IF 41&1$/ȀFetch)s1s("/kOn Y5is ed A5)UPC is &ed to to instruction.#s#!~1"#1$/Ȁ`ing)~1~../nnU5is `ed 'is ed to +A B. in to #E.)~)!&EX-Stage4)4$/Ȁ3(EXecution)4:F/abcdIn , is Wto e on s prepared in . U==s (intEX s once) s: ,   (multiple ).( (!:Stage:#(:$/Ȁ:Stage (INTeger 4d:d"/[s =s (except y ) ive ion $s .) d)!-Stage>4)>$/Ȁ-Stage ition 4Pt>P"/[s ion of p- or .) P)!-StageE:)E$/Ȁ-Stage MULtiplication 4]E]"/[s y s of qor on =2ed ).) ])!-Stage>4)J$/Ȁ-Stage isʇion 4[J["/[s s of qor on =2ed ).) [)!-Stage;);$/Ȁ-Stage (MEMory );"/U9in ks. the 5is a d, ]; if it is a , ]'A. In case is /.))!9WB-Stage<)<$/ȀWB-Stage (Write Back)_<"/U?is 'A', coming or . Us in of X, so 5>s in Oof X, eliminating need to reult to instruction.00!DLX-Register `+0+$/Ȁ&>A+>"/ *,  to s:|:>|E\JPBhijk+ js (R0..R31)HPRs (F0..F31)HPSR+ PCMI|M"/ >nal *,  to DLX-programs:EM`JPBlmnopqrs+ + IR<, B+ BTA-Data-Register (SDR)272$/Ȁ?(SDR)u2u"/_a 4, ]to be d Ais to )s /=32 of Y7u7!-Data-Register (LDR)272$/Ȁ(LDR)l2l"/_a e4, ]is A)s /HI, =32 of Y*l*!s of 0*0$/Ȁ'of 9*09"/Wfour es of 8:9E\JPBuvwx,+ transfer 8+ o8>ontrol 8Hloating 8hzh#/932 wide a 6-bit ary opcode. Basically, 5s:/h/"/I-type 8:3/3../Ȁ&3&#/Ȁ) &)$/:+)+("JPRqq+..JPBqq+ s- >s (rd <- Mem[rs1+Immediate])onditional 9(rs1 is &, rd unused)+ JR )&) JALR )_&), where rd=0, D=Register, Immediate=0%%"//%/"/R-type 8:7/714/Ȁ&7&#/ȀU9&U("JPBqqNegister-Register s rd <- Efunc rs2:+U+("JPRqqL%+L)$JPBqqJOVxxx-Instructions (rd <- D)0L0#/ȀJ-type 8:303../Ȁ+ 3+%/:+++("JPRqqdM+d-,JPBqq+ J () JAL )^)ZRAPNFE (return ion).d.!transfer 81!.1$/Ȁs `q1q"/Move ]+, or =FP or {*; is displacement + Aof a j:0qYJRBU=~ULB 3)LBU 4LH 3)LHU 4LW "LF Fd,AdrsYLD Dd,AdrYSB ?SH ?SW ?"SF ?sYSD ?YI2FP Fd,Rs=+to FP *I2FP Rd,FsFP +to =*F NY'to &D Dd,Dsa to I2S SR,Rsa 'to a {'(implemented!)S2I Rs,SRa {'to a k(implemented!)''$/++'7!kܟܟo81.71$/Ȁo8bc1b"/Operations on =or o]in js; flows by gs reported.b_JRBU=~UI !(all  s 16 )U UI  DI E U EUI E y fU y +fU +AND AndANDI And  OR OrORI Or  XOR XorXORI Xor  LHI Rd,ImmLOad high !- kof ' SLL (SRL +nSRA +SLLI )SRLI +oSRAI +S__ '2: {be 1mLE or GES__I '3 : {be 1mLE or GE/0JRBU=~US__U '3: {be 1mLE or GES__UI '3 : {be 1mLE or GENOPNo %%!8+%+$/Ȁ8+"/is led a aof Fs a aof . four G9iated by ways of ~ing uby wether or a _is made. Two Fs use a to Ler to }u; a 'is u. Wflavors of Fs: plain F, G_(used dure ). Ulatter s return in R31. 2. U0dition is }by 4, {test 'y-or nonzero; {be a ]or ?of a &. Uis }a gis to Ler. WINDLX, Fs ,d by of ID Yto #of E. In , predict-not-taken scheme is implemented by Bing to 9as if a instruction. Ulooks as if hing out of ordinary is ing. the is , we neeed to stop restart . zzIdJRBU=~UyBEQZ if kto ,; PCBNEZ if kto ,; PCBFPT Rtrue) ; PCBFPF Rfalse) ; PCJ PCJR Rxin &JAL PC-relativeJALR Rxa &TRAP Immato ing at a vectored ; Sbs.RFE  to an ption; =(implemented!)'z3!)eߧߧY8.3.$/ȀYsY."/Y9w+indicate to be is qor . .-precision s be ed to of *, while s apply to #F4,F5), is sby even '.5IdJRBU=~UD F LsD EF LEs.D y YF Ly sYD +YF L+sYF2D Dd,FsConverts sto D2F Fd,DsrF2I NConverts sto <I2F NConverts =to rD2I Fd,Ds<I2D Dd,FsConverts =to __D Da,Db,-precision &s: {be 1mLE or GE; `s )in FP &__F Fa,Fb.-precision &s: {be 1mLE or GE; `s )in FP &--!5bs - K3-3$/Ȁbs - K3*&/bs build >face s I/O-system. Ws dd in sZero is an Ca 4, to e a .Ubs:''$/'JfJPBz{|}~Zrap #1: PZrap #2: PZrap #3: PZrap #4: }to PZrap #5: `ted to 8-Output''$/3'3"/_dd s:d34:JRB+They match d/DOS-System s resp. -functions (), (), (), $() .+Ups 0,1 2 8rved , stderr. U/to s be Dled ps.+Uof 4d s s be gin 'R14.+s  to be 32 q(except FPs 64 p). @s $d begin .+U?is AA+an s of a , 'R1 is ato -1 : if "_errno" is ato A, an is Aat A mBes, mis ed. ys.++!,c#1: P1+1$/Ȁc#1: Ph1t"/a or to writing. d a ;or quitting rh='t'$/,',%/:,6>JRB1. : of a /, =path of to be ed.2. , to ]s be  ed oor-operation:YYMlJPBqqz01O_RDONLY1)z02O_WRONLY9)z04O_RDWR1$)|00O_CREATE(create )0x0200O_TRUNC(truncate )0x0400O_EXCL(open exclusively (with SHARE))0x0800O_APPEND(append to )0x4000O_TEXT(Convert 0x8000O_BINARY(No Fsion of GYG/0JRB3. itional Flags:&G;HJPBqqz00S_IFREG(Normal , no directory )|00S_IREAD1)z80S_IWRITE9)z40S_IEXEC(execute )(See C-Library s x.)''$/72'7"/Uqis Ain ''7'$/+ '+%/>6 +6/0JPR|ol26WJPB|oPName:j"c:\\BSP\\DATEI.DAT"f2s b1 (OPEN)vPName;create R/W:v|04;R/W-access :v|80Rr4tZ ; 16 1swPDescr,R1++!c#2: P1+1$/Ȁc#2: P=31="/ly ed c#1 is '='$/,',%/:','$/L2'L/0JPBqq1. Qp of to be QGLQ"/Zero is Ain 'R1, if it was ssful, -1 .'Q'$/+ '+%/>6 +6/0JPR|ol6@RJPB|oRr4tZr14,FileDkiescr>>16r14,r14,FileDescr&0xffff2''$//'/!c#3: P5 /5$/Ȁc#3: PB@5B"/or a ]be .'B'$/,',%/:','$/'?PJPBqq1. Qp of 2. , uof 3. 0 of to be >>>"/Uof is Ain ''>'$/+ '+%/>'+'$/'NnJPB|ol:r500r4vv500tZ 300!c#4: }to P606$/Ȁc#4: }to PA?6A"/A be 'to or .'A'$/,',%/:','$/|e'|?PJPBqq1. Qp of 2.  of to be &3. 0 of >A|>"/Uof 'is Ain ''>'$/+ '+%/>'+'$/'MlJPB|ol:r500r4vv500tZ 4''$/80'8!c#5: `ted to 9</8<$/Ȁc#5: `ted to 9RP<R*&/[is equivalent to .:'R'$/vt'v6>JPBqq1. a S2.... Arguments according to ; S'v3$/i߿|OT3O*&/Uof to is Ain '>'O'$/'PrJPB|ol`Str:j"Pi=%f, N=%d\n"f2;Adr. of string, v`Strn3.141592654v17tZ 5''$/%'%!7L-%-$/ȀUL-)$/t)eor . Ugin alphabetical .. In to  , er s cs affect how it fills .I,I5<JPB+ IF+ "'I'!IF-'-$/ȀIFWO-W"/Usyntax s is C-like #s be quoted " ").W8BJRBs: os in _, if  s of 0x, or octal if  is 0.++("JPB+("/s: Uhst m of such an is a , is >preted as a . More lly, s {consist of , 7be dd in y Sf) , ors *, /, +, -, <<, >>, &, |, ^ 7 G|ings precedences as in C), parentheses ing.V`V"/Uof an be in dd range to of :'V'$/'../Bytes:-128 .. +255 (8 Bit)rs:-32768 .. +65535 zs:-2147483648 ..+2147483647 oder 0xffffffff # #!t") #)$/Ȁ"5)5../While er is ssing an y , ]9it es d in on a !or ]. Which is is Wby of *, most recent was l or t. Uinitially kAsegment. By b, is gat m$CODE 'ato 0x100) ]gat m 'ato 0x1000).5"JRBU=~UJf n\/code gto be at sn ,ed (the closest greater or to Qis a e of 2n #f 2 |s #begin)h "1","..."?"s" con ]in as a aof  s. Us ed by a 0 .j "1","..."-to h, is ed by a 0 ..byte 1,2,...? con ]_in .l []]to be d in ]an  was ]be ging at , , O]be . we just ]on !, so we Be Q(on a t ).2+2JRBU=~Un 1,...?"" con ]_in as Y.p JMake J %by found in gr tMove Qstorage t (to leave wempty space in )t []]to be d in !an  was ]be ging at , , Obe . we just ]on ], so we Be Q(on a l ).v "1,"2,...?"" con ]_in .(2(!uof 8/(/$/ȀCof sM/("/_5a(excluding Cof Y8), 9be broken Abasic s: , `e, ute, -access, $-result. [s match of . Ueevents on of :vNnJB 44or 44IF<- PC;<- PC;<- PC;]6>JB  IR <- Mem[IMAR]IR <- Mem[IMAR]IR <- Mem[IMAR]PC <- PC + 4PC <- PC + 4PC <- PC + 4@B@14JB IDW6@W("JB BTA <- PC + ;if (Rs1 op 0) PC <- BTA;\4Wh02JB EXoutput<- A op B; orDMAR <- A + Q ;L)hL+(JB output <- A op  SDR <- B;FLF-,JB <- Mem[DMAR]; or<F<("JB Mem[DMAR] <- SDRR!<R38JB WBRd <- outputRd <- 5R526/Umajor hurdle of - vWsituations, , prevent 5in 5stream EsX. w#ance of ideal speedup gained by . win s make it necessary to . Uimpact of in  be "d by use of ing. Wes of :a>5a<JJPB+ Bal + >ontrol 'a'$/FF'F("/s , Sc4..F.!Struatural ...$/ȀBal vp.p"/Bal resource 8s   ations of 9in nneous lapped .% p%!+%+$/Ȁv+;H/an 5ls on >s of a 5in a way is exposed by lapping of 9in . {be ified as of s, ling on of %es in 8. Consider 9i j, i ing j. U]:SvJRB   i) RAW ($): j to a yi $s it, so j %s old .ii) WAR-(%): j to %a uit is by i, so i %s . [in os early %ID) $s late %WB). [s w9%>s early in 5, 9a ya %of an 5Qin #autoincrement ing).iii) WAW (%$): j to %an it is 'by i. U$s up in wrong , S'by i 'by j in t. [is present in s %in . U$s a 'in WB avoids of =8. [8, SCof YsO^%%!+%+$/Ȁv+"/of 9 PC. instruction i is a , PC is ly  d of ID.# #!b) #)$/Ȁb3)3../c(also ing vtimes short-circuiting) is a i to #penalties d by ]. [works as follows: U?is fed back to /latches. the ing  zs  ''Kto a yQ, Elogic selects ed ?as /'%3%!c8,%,$/Ȁcsf,f"/s fed no 9in . That is to avoid 98.'f'$/'''!1Y83+'3$/ȀCof Ys<J3<"/U9use Y:+<+("JPRqqq^+q/0JPRqqF, D, F, D, U, F, D, U, F, D'q'$/'$/UYtake Yto (The of FP gbe configured in n).more Y5e nneously, it is dd 5s . an =5a Y5e nneously, Y5s .''$/'("/WAW (see ) Y9(do -in ). [9is zed in o5s EX s WAW .''$/,',"/A i:','$/F'NnJPB߅z9SoFF1,F2,F3IFIDEXEXWBFF1,F4IFID6EXWB''#/!'!!1( N c ) _z_/ '"S$'()*+e,'--.1f2334K5-669:;+<>>CDjEFGVJK N PQS9TTcU&V.X[[L\\2^^\_dhn|o7x3|a3Yֆor||F5ޓyW,ܟGߧ=igd|J3 ^<m  Helvfffffff9f7ef3ffTms Rmnfffffff9ffffSymbolfffffffffffffLetter GothicffffffCourierffffffffffffRomanffffff9c8bf3ffModernffffffff9ffff(y2 3456N ec f) g h_7yzz{8_9/ '":S$'()*+e,'-;-.6+<>G&V\\_d1f2334K5-69:;>CDjEFVJK N PQS9TTcU.X[[L\2^^<h=n>|o?7x@3|ABCaD3EYFGֆHIoJrKLMN|O|PFQ5RSTޓUVyWWX,YZܟ[G\ߧ]^=_i`gadb|cJ3 <^ N c ) cU e, _^z_</ \\2^^>/ L\2^'")S$e,'-'>ֆ()*+C'--..334K5-61f234K5669:;&V.X[[L\+<a3Yֆor+<>>ֆ>>>jEFDK3 ^DjE[[FGGVJ N PQS9TTcUVJK NG N P PQߧ<S=igd|^9TT&V.X^\_\_d,ܟGߧdhn|o7x3|n|o7x3|a3Yor|||F5ޓyW,ܟߧGJJ333 ^</&;)i24Internal err<AAddressesALUApplication window Arrange IconshAssembleHAssembler8B branches$Breakpoint windowlBreakpointsPBTACascade`cause of stallsChangeChild windowClock cycle diagramClosetCodeHCode windowDConditional branches,ConfigurationControl hazardstCycle CountDataLData hazardsdDecimal,DeleteDetail infohDisassembler@DisplayDisplay AlldDisplay DLX-I/ODLX-examplesDLX-I/O windowxDLX-I/O-WindowDLX-standard-I/O window|DLX-Standard-I/O-WindowDMAREX-StageexamplesExecutionlExpressionsDfactorialfaddEX-StagefdivEX-StageFile0Floating point instructions8Floating point stagesFloating-point registersFloatingpoint stagesfmulEX-StageForwardingForwarding, bypassingxFPRs8FPSRFrame windowFrom AddressLGeneral Concepts$GPRs0yID-StageIF StageIMARIndexInstallationinstructionInstruction setinstruction-information windowInstruxtion setInteger-RegisterintEX-StageIRkeyboardLDRLoadLoad CodeLoad DataLoad InstructionMain menuMEM-StageMemoryMemory sizeMemory windowMenuMultiple CyclesPCPipeline Pipeline structurePipeline windowprime number tableQuitRegisterRegister setRegister windowResetRunRun toSaveSDRSetSet history lengthSingle CycleStallsStatisticStatistics Statistics windowStatusregisterStore InstructionsSymbolssystem requirementsTileTrapsWB-StageWINDLXWindowWindows;FWFgreatest common measureHardwarehazardsPHelpHexadecimal(HistoryID-StageIF StageIMARIndexInstallationinstructionInstruction set$instruction-information windowInstruxtion set4Integer-RegisterintEX-StageIRkeyboardLDR Load@Load CodeLLoad DataPLoad Instruction0Main menu,MEM-StageMemoryMemory sizeMemory windowMenu(Multiple Cycles|PCPipeline lPipeline structurePipeline windowprime number tableQuitTRAW stallshRegister Register setRegister windowReset4RunRun toSaveSDRSetpSet history lengthsimulationXSingle CyclexStallsStatistic Statistics Statistics windowStatusregisterStore Instructions4structural hazards`structural stalls\SymbolsSyntaxHsystem requirementsTiledTrap stalls|TrapsDWAR stallspWAW stallslWB-StageWINDLXWindow\Windows 2ffffbdfffbffffcffffbdf7ffffffcfffffffffffedeef77bfffffffffffff3fefffffe7dfedf6fdf6fb7dffe7fffdf7fdfffffcffffbefff7ffffcffffbdf7ffffffcfffffffffffedeef77ffffffffffffff3fffffffe7dfedf6fdf6fb01ffe7fffdf0fdfffffcffffbe1fcfffffcffffbdf7ffffffcfffffffffffedeef77ffffffffffffff3fffffffe7dfedf6fdf6fb7fffe7fffdfefdfffffcffffbfdfbfffffcffffbdf7ffffffcfffffffffffedeef77ffffffffffffff3fffffffe7efddf6f5f6fb7dffe7fffdef7dfffffcffffbdef7fffffcffffbdf7ffffffcfffffffffffedeef77bfffffffffffff3fffffffe7f7bcef6eef73bdffe7fffdef7dfffffcffffbdeeffffffcffffbee7ffffffcfffffffffffedcef7b7fffffffffffff3ffffeffe7f87d1f9f1f8bc3ffe7fffdf0fdfffffcffffbe1e03ffffcffffbf17ffffffcfffffffgreatest common measuredffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffe7ffe7fffdffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffffffe7fffdffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffffffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffffffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3ffff8ffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fe000ffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffffffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fe000ffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffffffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffffffffffffffffffffffffffffff3fffffffe7ffffffffffffffffe7fffffffffffffcffffffffffffffcffffffffffffffcffffff ??s?{w/ & ;)Lzy( Help indexSystem Requirements and InstallationGeneral Concepts of WINDLX and ChildwindowsMain menuN File Menuc Reset DLX) Reset All Load Code or Data_Quit WINDLXWindow-MenuzCascade WindowsArrange Windows tiledArrange IconsChild Window Name in Window Menu_Execution-MenuExecute Single CycleExecute Multiple CyclesRun DLX-ProgramRun toDisplay DLX-I/O-WindowMemory-MenuDisplay Memory contents/ Change Memory contents'"View and Change SymbolsS$Configuration Menu'Configure Floating point stages(Set Memory size)Symbolic Addresses*Absolute Cycle Count+Enable Forwardinge,Load Configuration'-Save Configuration-Help.Register window1Display Register contents hexadecimalf2Display Register contents decimal3Display Special Registers3Display Integer Registers4Display Floating point RegistersK5Display Double-precision floating point Registers-6Display All Registers6Code window9Display Code from address:Set Breakpoint in Code window;Delete Breakpoint in Code window+<Pipeline window>Display Floating point stages in Pipeline window>Clock cycle diagramCDisplay ForwardingDDisplay cause of stallsjEDelete HistoryFSet history lengthGStatistics windowVJDisplay Hardware in the StatisticsKDisplay Stalls in the Statistics NDisplay conditional branches in the Statistics PDisplay Load-/Store-Instructions in the StatisticsQDisplay Floating point stage instructions in the StatisticsSDisplay Traps in the Statistics9TDisplay all StatisticsTDetail info in the StatisticscUReset Statistics&VBreakpoint window.XSet Breakpoints[Delete Breakpoints[Delete all breakpointsL\change breakpoints\memory window2^change memory window display^Close memory window\_DLX standard-I/O windowdinstruction-information windowhkeyboardnDLX-examples128 characters.Context number already "-6Display All Registers6Code window9Display Code from address:Set Breakpoint in Code window;Delete Breakpoint in Code window+<Pipeline window>Display Floating point stages in Pipeline window>Clock cycle diagramCDisplay ForwardingDDisplay cause of stallsjEDelete HistoryFSet history lengthGStatistics windowVJDisplay Hardware in the StatisticsKDisplay Stalls in the Statistics NDisplay conditional branches in the Statistics PDisplay Load-/Store-Instructions in the StatisticsQDisplay Floating point stage instructions in the StatisticsSDisplay Traps in the Statistics9TDisplay all StatisticsTDetail info in the StatisticscUReset Statistics&VBreakpoint window.XSet Breakpoints[Delete Breakpoints[Delete all breakpointsL\change breakpoints\memory window2^change memory window display^Close memory window\_DLX standard-I/O windowdinstruction-information windowhkeyboardnDLX-examples|oDLX-example: greatest common measure7xDLX-example: factorial3|DLX-example: prime number tableDLX-Pipeline structureIF StageaID-Stage3EX-StageYintEX-StagefaddEX-StageֆfmulEX-StagefdivEX-StageoMEM-StagerWB-StageDLX-Register setGeneral-Purpose-Register (GPRs)Floating-point Registers (FPRs)|Floating-point Statusregister (FPSR)|Program-Counter (PC)FInstruction-Memory-Address-Register (IMAR)5Instruction-Register (IR)ALU-Operands-Registers A and BBranch-Target-Address-Register (BTA)ޓALU-Output-Register (ALU)Data-Memory-Address-Register (DMAR)yStore-Data-Register (SDR)WLoad-Data-Register (LDR),Instructions of DLXData transfer instructionsܟInteger arithmetic and logical instructionsGControl instructionsߧFloating point instructionsTraps - the System Interface=Trap #1: Open FileiTrap #2: Close FilegTrap #3: Read Block from FiledTrap #4: Write Block to Fileplay_All_Registers;F-6|oGH؃ w .&\&?uf&\ XF&G>.u]FtV&\ X&Gu?kP&t MoRP33PR&t&tRo&\ X&O uV tV=3_^]rrrvvvrwwwwwwwwwwwwwwwwwwwwwwwwwwwttttwtwhhhhhttYNttrtwttthhtrtttttrhUVWv~t3V~t3PW_^]EUVWv>u;t>pDt>pD&EpDPVDP/6W3PVDP&5_^]MEUVPP/6V3PP^]MEUVW>tPV/6W3PV_^]MUVW~W%&<u z&Dtu &D_^]UVv& wG.&D@&D6&D,&\&&\& &D^]UVWv~& wG.w&|@&|6&|,&\&?&\&? &|_^]''g'1;EEVUVW~XP賴؊rDP/6XV3P賴؊rDPXF&D_^]UVWvX&D=uX&t X&|t X&DX&|X&DFX&DFFP3P P&=uFtp׉Fk^KwZ. Fu>tFG&=u&E@tF!Ft *FFt^׉F^׉F&=uX&D %=u X&D FvFtV@ ЉV&EtN&EtN&=u&E tN~t~u5ҳP P/FXF &D6ҳvFP 4 P P/FȵXF&D6 vFP X&D_^] UVvtށҳ&G  &D^]UVWv~tށҳ&  & |_^]U~/uS>;8rM(Ԏ>>&F~*u4_>Ft ~/u9_ >Ը/X~\uF>;8rM(Ԏ>>&F^MQu FP% >Ը\< ^MQt)>;8rM(Ԏ>>&F&F]U6\3P%_ԋԎ|&t3]UVW~ l&]l&UFVT/<t'4vv/ uDPF^&/|oDLX-example: greatest common measure7xDLX-example: factorial3|DLX-example: prime number tableDLX-Pipeline structureIF StageaID-Stage3EX-StageYintEX-StagefaddEX-StageֆfmulEX-StagefdivEX-StageoMEM-StagerWB-StageDLX-Register setGeneral-Purpose-Register (GPRs)Floating-point Registers (FPRs)|Floating-point Statusregister (FPSR)|Program-Counter (PC)FInstruction-Memory-Address-Register (IMAR)5Instruction-Register (IR)ALU-Operands-Registers A and BBranch-Target-Address-Register (BTA)ޓALU-Output-Register (ALU)Data-Memory-Address-Register (DMAR)yStore-Data-Register (SDR)WLoad-Data-Register (LDR),Instructions of DLXData transfer instructionsܟInteger arithmetic and logical instructionsGControl instructionsߧFloating point instructionsTraps - the System Interface=Trap #1: Open FileiTrap #2: Close FilegTrap #3: Read Block from FiledTrap #4: Write Block to File|Trap #5: Formatted output to the Standard OutputDLX-Assembly languageSyntax for ExpressionsJDirectivesexecution of instructions3Struatural hazardsData hazards Control hazardsForwarding^Trap instructions<Floating point instructionsF?{wweǏa{G<oww{;?{oez}o{}owo~}o{}ow