Hi, NetBSD has booted on my PC532 emulation with a 2,5 inch IDE disk drive. I'm very impressed about how easy it was to get NetBSD running. I used "disklabel" , "bim" and "newfs" to create the filesystem. After mounting the root partition I downloaded base.tgz, kern.tgz and etc.tgz. I installed them and modified fstab with sed to my disk configuration. Jon Buller gave me the hint to do "MAKEDEV all". Then I started the ROM monitor and this time I typed in "boot" ... and it happend ! Great moment ! The system started in single-user mode. I only needed to set the root partition to read/write because it was read-only. Downloading man.tgz and comp.tgz , writing the first C program with vi , compiling the program and running it was just fun. The only remaining problems were caused by vi. This program uses vt100 terminal codes which were not yet included in my host software. Now it looks ok. I had expected to do a lot more things before I can use the system. But everything is configured right from the beginning. Every path was ok. This software is perfect for a beginner like me. Some people did a great job and many thanks to them for the experience. The IDE drive has 160 GB capacity but I used only 1.5 GB for NefBSD. I think it is enough for the moment. The next task will be compiling a kernel. The name will be LASTHERO (Maybe not everbody will like the LAST ...) The only things I will modify at first are some messages and the scsi device list. I heared about some very long compilation times. Therefore I'm curious to see what will happen. After successfully compiling the kernel I want to learn more about the internals of NetBSD. First step will be creating my own real time clock. I will replace the DS1216 used in the PC532 by FPGA logic which shall have a simpler access schema. I choose the real time clock because it wil not create any risk for my disk drive if something goes wrong (hopefully). But I can not avoid risks. I want direct IDE drive access without host interaction. In the sys source tree I found a directory called "ata" . The software in there accesses an IDE drive. My hope is that I can use this code with minor changes instead of the SCSI code. Do I hear some laughing ? Ok, if I'm too optimistic about this task please let me know. Another very usefull stuff is USB. It is not a problem for my FGPA to access USB 1.1 directly. There is no need for a physical interface chip. And software seems to be there again. A USB memory stick would be perfect for backup and file transfer. But it will take away time from another project which is more important. Building a NS32632. It is easy to guess what it is : the combination of the NS32532 and NS32381 in one chip. And the chip will be a FPGA. There are three reasons why I want to do this : 1. Todays FPGAs are powerful and cheap. You can create any kind of digital function. They have big memory ressources on chip and contain dedicated multiplier hardware. All this is required for a complex processor with caches and floating-point support in hardware. And you can modify FPGA configuration as often as you want. This is absolutly necessary because a complex design will have bugs. 2. I made a very surprising experience with my own NS32K system in the beginning of 2007. I wanted to play MP3 songs on my hardware which contains an AC97 audio interface. Richard looked in the internet for an open-source decoder and he chooses amp for this purpose. He crosscompiled the C-code on a PC and I assembled the *.s files on my system. One of the first tests was "Smoke on the water" live from Deep Purple. This piece of music lasts 7:29 min. The decoder creates a 78 MB WAV-file. And the job took 79:14 min. What a shock ! More than 10 times slower compared to real time. After some investigations it was clear that the floating point power of the NS32532/NS32381 combination is not enough. The gnu compiler did a great job with all the optimizations and creates long strings of floating point opcodes without loops to speed things up. But it was not enough. The communication protocol between the CPU and the FPU needs too many clock cycles. After this great disappointment the idea was born to create one day a NS32632 which has 10 times more floating point power. 3. I love the NS32000 architecture. In my opinion it is the best designed of all. I started in 1985 with a small NS32016 system designed by myself. But one day the last CPU will be broken and this elegant architecture will simply disappear. To avoid this fate an open-source implemantation is the best countermeasure. My plan is to bring the NS32632 to www.opencores.org and maintain it there. This CPU should be interesting also for other people because in a FPGA implementation you can add new instructions and coprocessors for special tasks. Maybe one day somebody created even a 64 bit version (I would prefer redefining the 16 bit operands as being 64 bit because 16 bit is not used very often. But this is very, very far off in the future). Some words about the FPGA implementation : don't expect hundreds of megahertz ! First I will keep the desgin simple, i.e. not many pipeline stages. Second, the logic and memory inside the FPGA is fast. But the interconnect is not fast : it must be programmable (switches) and the wires are much longer compared to an ASIC design. My target speed is 25 MHz , but I will use only one clock cycle for the simple reg-reg operations. Because of the MP3 requirements I will try to achieve even one clock cylce for ADDF reg,reg and MULF reg,reg . Inside the FPGA is enough memory available to create a cache subsystem with 4 KB each for instruction and data. You can imagine that I'm very, very curious about the first amp5 run ... I started the design of the NS32632 in August 2009. I have put some top level schematics in the attachement. They are taken out of the development system from Altera which is available in the web free of charge. After designing some months I needed a break. I came to a point where I have to think first and then to implement. Richard and myself were curious about NetBSD for quiet a long time and therefore we decided to put some effort in it to get it running on my system. Maybe the break will be a little longer than expected but I believe that NetBSD will be very helpful in debugging the NS32632. If it runs NetBSD like the NS32532 the design should be free of simple bugs. The next logical step is to create a hardware platform. My current one is a collection of multiple pcb's. But it should be only one pcb and I will design it. The FPGA family of choice is the Cyclone III of Altera. The big devices in this family have all the same BGA footrpint and therefore the user has the choice between capabilities and price. You can get 40.000 logic elements (LEs) for 90 US$ or up to 120.000 LEs for 500 US$ with other choices in between. Price also depends on the speed of the FPGA like it is for PC processors. For more information look at www.altera.com and see "Buy Online". (I do not work for Altera. I only use their FPGAs for many years) My expectation is that a NS32632 will need not more than 15.000 LEs. And this is very interessting because you can put multiple cores in one FPGA ! Performance will not come from high clock rates but out of parallelism. The biggest FPGA in the Cyclone III family will easily hold four cores and a lot of glue logic. Is NetBSD 1.5.3 ready for multiprocessing ? Hopefully yes ! Does anybody has access to a Quickturn emulator ? This machines are full of big FPGAs and so they are perfect platforms to create a NS32K supercomputer ... :-) I think that the name of the new hardware platform should be very similar to what we have already : PC632. My dream is to have a system in the living room used as a DVR . One CPU is doing MPEG2 transport stream decoding , the other CPU is doing the audio decoding and some logic is doing the video decoding. And because it is running NetBSD, it can browse the internet. And because of the NS32632 CPU it will be the most secure system in the world ... Regards, Udo ___________________________________________________________ WEB.DE DSL: Internet, Telefon und Entertainment fÃr nur 19,99 EUR/mtl.! http://produkte.web.de/go/02/
Attachment:
Print_dp.pdf
Description: Adobe PDF document
Attachment:
Print_cache.pdf
Description: Adobe PDF document
Attachment:
Print_top.pdf
Description: Adobe PDF document