\indexentry{F-CPU}{1} \indexentry{Freedom CPU}{1} \indexentry{F-CPU project}{12} \indexentry{SIMD}{12} \indexentry{superpipelined}{12} \indexentry{64-bit RISC microprocessor}{12} \indexentry{VHDL}{12} \indexentry{FC0}{13} \indexentry{LEON}{14} \indexentry{Freedom}{14} \indexentry{Open Source}{15} \indexentry{Free Software}{15} \indexentry{M2M}{16} \indexentry{TTA}{16} \indexentry{FPU}{17} \indexentry{SMP}{17} \indexentry{Merced}{17} \indexentry{x86}{17} \indexentry{ALPHA}{18} \indexentry{MIPS}{18} \indexentry{EV-4}{18} \indexentry{OS}{18} \indexentry{Linux}{18} \indexentry{Cost}{18} \indexentry{Price}{18} \indexentry{Purchasing}{18} \indexentry{LEON}{18} \indexentry{ARM}{18} \indexentry{Freedom CPU Project Constitution}{29} \indexentry{ARM}{29} \indexentry{roadmap}{31} \indexentry{FC0}{31} \indexentry{R2000}{34} \indexentry{ALPHA}{34} \indexentry{CDC6600}{34} \indexentry{RISC}{34} \indexentry{SH5}{34} \indexentry{64-bit processor}{34} \indexentry{Merced (IA64)}{34} \indexentry{VLIW}{34} \indexentry{Register \#0}{34} \indexentry{MIPS}{34} \indexentry{64 registers}{35} \indexentry{IRQ}{35} \indexentry{IRQHANDLER}{35} \indexentry{Smooth Register Backup}{36} \indexentry{IA64}{36} \indexentry{PGP-breaker CPU}{37} \indexentry{Flags Size}{37} \indexentry{SIMD}{38} \indexentry{generalized registers}{38} \indexentry{Special registers}{38} \indexentry{SR}{38} \indexentry{Smooth Register Backup}{39} \indexentry{SRB}{39} \indexentry{no condition code register}{39} \indexentry{carry flag}{39} \indexentry{endianless}{39} \indexentry{Context MemoryBlocks}{40} \indexentry{CMB}{40} \indexentry{protection mechanism}{41} \indexentry{FC0}{44} \indexentry{superpipelined}{44} \indexentry{Out Of Order Completion}{44} \indexentry{OOO}{44} \indexentry{PowerPC}{45} \indexentry{P6}{45} \indexentry{scoreboard}{45} \indexentry{crossbar}{46} \indexentry{evolution}{47} \indexentry{FC0}{47} \indexentry{F-CPU}{47} \indexentry{FC0}{49} \indexentry{F1}{49} \indexentry{SDRAM}{50} \indexentry{POPCOUNT}{50} \indexentry{TLB}{50} \indexentry{LUT}{50} \indexentry{cache}{50} \indexentry{Execution Units}{51} \indexentry{alien technology}{51} \indexentry{ROP2}{51} \indexentry{bit scrambling unit}{53} \indexentry{SHL}{53} \indexentry{increment unit}{54} \indexentry{add/sub unit}{55} \indexentry{integer multiply unit}{55} \indexentry{integer divide unit}{56} \indexentry{Load/Store unit}{56} \indexentry{population count unit}{56} \indexentry{Single Error Correction Unit}{56} \indexentry{POPC}{56} \indexentry{SEC}{56} \indexentry{add}{78} \indexentry{addition}{78} \indexentry{sub}{80} \indexentry{substraction}{80} \indexentry{mul}{82} \indexentry{multiplication}{82} \indexentry{div}{84} \indexentry{division}{84} \indexentry{addi}{85} \indexentry{addition immediate}{85} \indexentry{subi}{86} \indexentry{substraction immediate}{86} \indexentry{muli}{87} \indexentry{multiplication immediate}{87} \indexentry{divi}{88} \indexentry{division immediate}{88} \indexentry{rem}{89} \indexentry{remainder}{89} \indexentry{remi}{90} \indexentry{remainder immediate}{90} \indexentry{mac}{91} \indexentry{multiply and accumulate}{91} \indexentry{addsub}{93} \indexentry{addition and substraction}{93} \indexentry{popcount}{94} \indexentry{population count}{94} \indexentry{popcounti}{95} \indexentry{population count with immediate substract}{95} \indexentry{inc}{96} \indexentry{increment}{96} \indexentry{dec}{97} \indexentry{decrement}{97} \indexentry{neg}{98} \indexentry{negation}{98} \indexentry{scan}{99} \indexentry{cmpl}{101} \indexentry{compare for lower}{101} \indexentry{cmple}{102} \indexentry{compare for lower or equal}{102} \indexentry{cmpli}{103} \indexentry{compare for lower with immediate}{103} \indexentry{cmplei}{104} \indexentry{compare for lower or equal with immediate}{104} \indexentry{abs}{105} \indexentry{absolute value}{105} \indexentry{max}{106} \indexentry{maximum}{106} \indexentry{min}{107} \indexentry{minimum}{107} \indexentry{maxi}{108} \indexentry{maximum immediate}{108} \indexentry{mini}{109} \indexentry{minimum immediate}{109} \indexentry{sort}{110} \indexentry{ladd}{111} \indexentry{lns addition}{111} \indexentry{lsub}{112} \indexentry{lns substract}{112} \indexentry{l2int}{113} \indexentry{lns to int conversion}{113} \indexentry{int2l}{114} \indexentry{int to lns conversion}{114} \indexentry{shift}{115} \indexentry{shift left logical}{115} \indexentry{shiftr}{116} \indexentry{shift right logical}{116} \indexentry{shiftra}{117} \indexentry{shift right arithmetic}{117} \indexentry{rotl}{118} \indexentry{rotate left}{118} \indexentry{rotr}{119} \indexentry{rotate right}{119} \indexentry{shiftli}{120} \indexentry{shift left immediate}{120} \indexentry{shiftri}{121} \indexentry{shift right immediate logic}{121} \indexentry{shiftrai}{122} \indexentry{shift right arithmetic immediate}{122} \indexentry{rotli}{123} \indexentry{rotate left immediate}{123} \indexentry{rotri}{124} \indexentry{rotate right immediate}{124} \indexentry{bitop}{125} \indexentry{single bit operation}{125} \indexentry{bitopi}{126} \indexentry{single bit operation immediate}{126} \indexentry{bitrev}{127} \indexentry{bit reverse}{127} \indexentry{bitrevi}{129} \indexentry{bit reverse immediate}{129} \indexentry{byterev}{130} \indexentry{byte reverse}{130} \indexentry{dbitrev}{131} \indexentry{double bit reverse}{131} \indexentry{dbitrevi}{132} \indexentry{double bit reverse immediate}{132} \indexentry{dshift}{133} \indexentry{double shift left logical}{133} \indexentry{dshiftli}{134} \indexentry{double shift left immediate}{134} \indexentry{dshiftr}{135} \indexentry{double shift right logical}{135} \indexentry{dshiftri}{136} \indexentry{double shift right immediate logic}{136} \indexentry{shiftra}{137} \indexentry{shift right arithmetic}{137} \indexentry{shiftrai}{138} \indexentry{shift right arithmetic immediate}{138} \indexentry{mix}{139} \indexentry{expand}{141} \indexentry{sdup}{143} \indexentry{simd duplication}{143} \indexentry{logic}{144} \indexentry{bitwise logic}{144} \indexentry{logici}{146} \indexentry{bitwise logic immediate}{146} \indexentry{Floating Point}{147} \indexentry{fadd}{148} \indexentry{floating point addition}{148} \indexentry{fsub}{149} \indexentry{floating point substraction}{149} \indexentry{fmul}{150} \indexentry{floating point multiplication}{150} \indexentry{f2int}{151} \indexentry{floating point to integer conversion}{151} \indexentry{int2f}{152} \indexentry{integer to floating point conversion}{152} \indexentry{fiaprx}{153} \indexentry{floating point inverse approximation}{153} \indexentry{fsqrtiaprx}{154} \indexentry{floating point square root inverse approximation}{154} \indexentry{fcmple}{155} \indexentry{float compare for lower or equal}{155} \indexentry{fcmpl}{156} \indexentry{float compare for lower}{156} \indexentry{fdiv}{157} \indexentry{floating point division}{157} \indexentry{fsqrt}{158} \indexentry{floating point square root}{158} \indexentry{flog}{159} \indexentry{floating point logarithm}{159} \indexentry{fexp}{160} \indexentry{floating point exponential}{160} \indexentry{fmac}{161} \indexentry{floating point multiply and accumulate}{161} \indexentry{faddsub}{162} \indexentry{floating point addition and substraction}{162} \indexentry{load}{163} \indexentry{load a memory item into a register and adjust the endianness}{163} \indexentry{store}{165} \indexentry{adjust the endianness and store the result in memory}{165} \indexentry{load}{166} \indexentry{load a memory item into a register, adjust the endianness and update the pointer}{166} \indexentry{store}{168} \indexentry{adjust the endianess, store the result in memory and update the pointer}{168} \indexentry{loadi}{169} \indexentry{load a memory item into a register, adjust the endianess and update the pointer with an immediate number}{169} \indexentry{storei}{170} \indexentry{adjust the endianess, store the result in memory and update the pointer with an immediate number}{170} \indexentry{loadf}{171} \indexentry{storef}{171} \indexentry{loadif}{171} \indexentry{storeif}{171} \indexentry{load and store without caching}{171} \indexentry{cachemm}{172} \indexentry{cache memory management}{172} \indexentry{move}{174} \indexentry{conditionnally move a register into another}{174} \indexentry{loadcons}{176} \indexentry{load a constant into a register}{176} \indexentry{get}{177} \indexentry{get the value of a special register and write it to a register}{177} \indexentry{put}{178} \indexentry{put the value of a register into a special register}{178} \indexentry{loadm}{179} \indexentry{load multiple registers from memory}{179} \indexentry{storem}{180} \indexentry{store multiple registers to memory}{180} \indexentry{geti}{181} \indexentry{get the value of a special register defined by an immediate value and write it to a register}{181} \indexentry{puti}{182} \indexentry{put the value of a register to the special imm16}{182} \indexentry{nop}{183} \indexentry{No Operation}{183} \indexentry{jmp}{184} \indexentry{jump}{184} \indexentry{conditional jump}{184} \indexentry{loadaddr}{186} \indexentry{load a relative address to a register}{186} \indexentry{loadaddri}{187} \indexentry{load a relative address to a register with an immediate offset}{187} \indexentry{loopentry}{188} \indexentry{loop entry point}{188} \indexentry{loop}{189} \indexentry{loop to r2 if r1 has not expired}{189} \indexentry{syscall}{190} \indexentry{operating system call}{190} \indexentry{halt}{191} \indexentry{halt the cpu}{191} \indexentry{rfe}{192} \indexentry{return from exception}{192} \indexentry{srb\_save}{193} \indexentry{use the srb to save the current task's context}{193} \indexentry{srb\_restore}{194} \indexentry{use the srb to restore the last task's context}{194} \indexentry{serialize}{195} \indexentry{stop the CPU while it is not flushed}{195} \indexentry{FC0}{197} \indexentry{call convention}{198} \indexentry{Return Value}{198} \indexentry{Functions Arguments}{198} \indexentry{Temporary Register}{198} \indexentry{Saved Register}{198} \indexentry{Procedure Linkage Table}{198} \indexentry{Global Offset Table}{198} \indexentry{Frame Pointer}{198} \indexentry{Stack Pointer}{198} \indexentry{Return Address}{198} \indexentry{FC0}{199} \indexentry{FC0}{199} \indexentry{TLB}{199}