fernando | #qc para preguntas / #qc for questions |
fernando | Hello, |
fernando | we are very pleased to have here todya Ralf Baechle. |
fernando | He is the Project |
fernando | leader of the SGI MIPS Port that tries to port Linux to this architecture. |
fernando | He is now in Brazil comming from Australia, and California. |
fernando | He is going to talk us about the Linux-MIPS project |
fernando | Bacchus.... |
Bacchus | First a good evening everybody. |
Bacchus | Nice that there is a good bunch of people on this channel list listen my talk. |
Bacchus | I'm going to give a short introduction into the MIPS CPU architecture and some status report about the Linux/MIPS project. |
Bacchus | If there are any questions, please feel free to ask on #qc. |
Bacchus | MIPS is one of the oldest, maybe the oldest RISC architectures on the market. |
Bacchus | MIPS CPUs are being sold since ~ 1985 so the architecture which was derived from the Stanford RISC architecture is already quite old. |
Bacchus | It's a fairly classic RISC architecture. The original R2000 processor has 32 general purpose registers, 32 fp registers. |
Bacchus | It has a 5 stage pipeline that is capable of executing most instructions in a single cycle. |
Bacchus | All arithmetic instructions are 3 opperand instructions that is they don't overwrite one of the source operands. |
Bacchus | Also the instruction set is very orthogonal. |
Bacchus | That is there is usually one instruction to solve a certain job efficiently. |
Bacchus | A few instructions were added for improved performance so it's not entirely orthogonal. |
Bacchus | The instructions are all with no exceptions one word (32-bit) long. |
Bacchus | This simplifies the cpu's instructin decoding dramatically. |
Bacchus | It also means there is no instruction to load a 32-bit constant in a single instruction. |
Bacchus | That already requires two machine instructions. |
Bacchus | So something like "Load constant 0x12345678 into register $5" would work like: |
Bacchus | lui $5, 0x1234; ori $5, 0x5678. |
Bacchus | That initially looks shocking to a programmer who is used very complex instruction sets. |
Bacchus | No need to worry however. |
Bacchus | MIPS assemblers know a lot of macro instructions that implement synthetic instructions which for example load a 32-bit constant into a register. |
Bacchus | Another noteworthy feature of the architecture are delayed branches. |
Bacchus | On MIPS the instruction that is immediately following the branch itself will be executed before the branch instruction itself. |
Bacchus | Again this may look confusing and again the assembler usually takes care of things. |
Bacchus | Where "usually" means the programmer can tell the assembler to not try to fill these delay slots if he thinks he does a better job. |
Bacchus | Anothe restriction of the architecture are load delay slots. |
Bacchus | An instruction that is immediately following a load instruction cannot use the loaded value. |
Bacchus | The FPU on MIPS is very simple. |
Bacchus | It only provides add, subtract, multiply and divide operations. |
Bacchus | I'm ignoring rounding operations and similar things for the puroposes of this introduction. |
Bacchus | However these instructions are very fast. |
Bacchus | Unlike i386 or m68k the MIPS CPU does only provide IEEE single and double precission formats. |
Bacchus | The extended precission format is not supported in hardware. |
Bacchus | Some operating systems provide it in software but not Linux at this time. |
Bacchus | Finally the MMU. |
Bacchus | The MIPS memory managment unit is the RISC princicle driven to the extreme. |
Bacchus | All that exists is a TLB. |
Bacchus | A TLB is a fully associative memory in which the CPU searches for address translations for a virtual address. |
Bacchus | If an entry exists and a read or write access is allowed it is executed otherwise the CPU will take an exception. |
Bacchus | That's already all the MMU that exists in hardware. |
Bacchus | The entire rest is burndend to the operating system. |
Bacchus | Another interesting fact about the memory managment is that all instructions that are related to coprocessors 1, the TLB don't have interlocks. |
Bacchus | That is they might be executed in another order than they're written in the program code. |
Bacchus | That can turn into some headache but fortunately only for OS implementors. |
Bacchus | A port of an OS is then a fairly simply thing. Just change everything that needs to be changed and a few month later you may have reached the point where it boots into a shell :-) |
Bacchus | What I just presented was an outline of the original R2000/R3000 MIPS. |
Bacchus | Later models are fully compatible for the execution of user applications. |
Bacchus | The system side of the processor that is caches, tlb etc. has been improved alot since then. |
Bacchus | Until very recently there was no guarantee for OS compatibility for MIPS so operating systems had to be changed for each new processor type. |
Bacchus | Good for the processor designers which were able to come up with streamlined new designs, bad for operating system people which have to change their code whenever a new processor was released. |
Bacchus | Today Linux/MIPS supports a very wide range of processors of the MIPS family. |
Bacchus | This development is today largely driven by the embedded comunity which wants a fast and royalty free operating system and has found the answer in Linux. |
Bacchus | At the same time MIPS processors are about to vanish from desktops and servers. |
Bacchus | Today Silicon Graphics is to my knowledge the last remaining manufacturer of MIPS desktops and servers. |
Bacchus | As such only a minority of the Linux/MIPS supported systems are desktop and server systems. |
Bacchus | The majority of systems are embedded systems. |
Bacchus | Linux/MIPS is also used by various companies that are developing MIPS processors as a vehicle to verify their processor designs during development. |
Bacchus | So for example the Sony Playstation 2's CPU, the R5900 was running Linux on the similator already in '97 long before the first silicon was produced. |
Bacchus | Don't ask about the BogoMIPS, such a similator may run as slow as 10 instructions per second. |
Bacchus | Just to enumerate a few of the systems that are supported by Linux/MIPS today: |
Bacchus | Baget, a Russian system using a Russian MIPS clone. Used for industrial and military applications. |
Bacchus | The Cobalt Qube 1/2 and Raq 1/2 systems. Later Cobalt systems are using i386 family processors. |
Bacchus | A number of NEC DDB evaluation boards. |
Bacchus | A number of evaluation boards from Toshiba. |
Bacchus | Linux/MIPS has been ported to various devices such as Sony's Playstation or even HP Laserjet printers. |
Bacchus | As an aside, the Laserjet port doesn't yet support printing but it can run Gnome :-) |
Bacchus | We've ran Linux on Origin 2000 machines with upto 128 processors. |
Bacchus | That is to my knowledge still the largest single machine (not cluster) that Linux has ever run on. |
Bacchus | Linux also runs on the DECstation family of MIPS machines. |
Bacchus | That makes it along with various members of the BSD family the only supported operating system on that platform. |
Bacchus | In the meantime there are a few companies most noteworthy Montavista and Redhat/Cygnus that have ported Linux/MIPS to further platforms. |
Bacchus | So probably nobody really knows the number of supported machines anymore. |
Bacchus | In short it runs on a wide range of machines from PDAs to full blown supercomputers. |
Bacchus | For larger systems using 64-bit kernels we also offer a 64-bit kernel. |
Bacchus | It's however not as mature as the 32-bit kernel. |
Bacchus | Also at this time mostly due to the lack of suitable development tools we don't have 64-bit applications. |
Bacchus | All software that is available for Linux/MIPS64 is 32-bit software running in a binary compatibility mode. |
Bacchus | Aside of that Linux/MIPS looks very much like Linux on any other architecture. |
Bacchus | We support the same development tools, we run largely the same applications. |
Bacchus | Ports of various Linux distributions such as Debian, Redhat and Montavista's Hardhat Linux are available. |
Bacchus | One of the current problems is that installing a distribution can still be somewhat complex and not necessarily suitable for beginners or users without some solid UNIX sysadmin experience. |
Bacchus | Fortunately the latest generation of Linux distributions is about the eleminate this problem also. |
Bacchus | I think my time is more or less over by now, so if there are any question this would probably be a good time. |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plsa pplas plas |
fernando | plas plas plas plas plas plas plas plas plsa pplas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plsa pplas plas |
pekesan | clap clap clap clap |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plsa pplas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
pekesan | clap |
ismak | congratulations |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
pekesan | great |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
Bacchus | Muchas gracias a todos :-) |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | Hallo!! and thanks!!!!! |
Bacchus | You're welcome. |
fernando | a question |
MJesus | very very important talk !!! |
fernando | i'm not sure if an adquate question |
fernando | :) |
fernando | how does compare gcc on linux/mips vs gcc on irix ? |
Bacchus | I should add that for anybody seeking further information about Linux/MIPS there is a #mipslinux channel on openprojects and also a FAQ on http://oss.sgi.com/mips/mips-howto.html. |
Bacchus | Aside of some configuration things it's the same compiler. |
Bacchus | That is the generated code quality is comparable. |
Bacchus | Unfortunately SGI's compiler is far, far superior in generating fast code to gcc. |
fernando | that was my next question |
fernando | sgi's cc can run on linux/mips ? |
Bacchus | In theory it can, in practice that probably will not work. |
Bacchus | We've got an IRIX binary compatibility mode but that hasn't been used in a long time. |
pekesan | I only see a problem....how to get a MIPS machine for testing :) |
Bacchus | I'd be surprised if it survives a hello world program ;-) |
Bacchus | Realistically if you want a workstation try one of the online auctioning sites. |
pekesan | ?? |
Bacchus | I didn't want to mention ebay but since you're asking :-) |
fernando | interesting |
Bacchus | Evaluation boards tend to be quite expensive. |
Bacchus | So they're not really suitable for the non-profit hacker. |
pekesan | thank bacchus |
fernando | maybe we should bid for a new uninet sgi server |
Bacchus | There are also dealers for second hand workstations but these usually charge very high prices for very old machines. |
pekesan | two expensice for a student like me :P |
pekesan | sorry...expensive |
viZard | Sir Bacchus du MIPS ! |
Bacchus | I know that occassinally SGI Origins are for sale on Ebay. |
Bacchus | Monsigneur viZard :-) |
Bacchus | Any other questions? |
TJ | :O) |
Bacchus | Ok, I guess that means no more questions so I say thank you, muchas gracias and muito obrigado to everbody in this channel. |
fernando | thanks bacchus |
MJesus | :)) it's is too interesting for read more time...... ! |
fernando | plas plas plas plas plas plas plas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plas plas |
MJesus | :)) it's is too interesting for read more time...... ! |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
TJ | +k rulez eeeh |
fernando | plas plas plas plas plas plas plas plas plas plas |
TJ | xd |
fernando | plas plas plas plas plas plas plas plas plas plas |
Bacchus | :-) |
TJ | clap clap clap |
TJ | :OP |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
fernando | well |
pask | plas plas plas plas |
pask | plas plas plas plas |
pask | plas plas plas plas |
pask | plas plas plas plas |
fernando | thank you to all of you for coming here |
pask | very wwll |
pask | very well |
fernando | it was a nice talk, and a nice time |
TJ | hoy no hay mas charlas no? |
fernando | thank you to ralph Baechle for expending his time with us |
Bacchus | Ralf :-) |
fernando | ops |
fernando | sorry |
fernando | tomorrow we will have a talk about the experience of securing debian |
fernando | (and, other distributions) |
viZard | no no, Sir Bacchus ! |
fernando | and other lecture on KDE programming |
fernando | today or tomorrow (not confirmed yet) we will have a talk about e-commerce and linux |
fernando | COMERCIO |
fernando | ELECTRONICO EN LINUX UNA EXPERIENCIA PERUANA |