| DIY CPU demo'd running Minix |
Nov. 03, 2007
Bill Buzbee offered the first public demonstration of the Minix OS -- a cousin of Linux -- running on his homebrew minicomputer, today at the Vintage Computer Festival in Mountain View, Calif. Magic-1, built with 74-series TTL ICs using wire-wrap construction, implements a homebrew, 8086-like ISA.
 Bill Buzbee shows off the Magic-1 at the Vintage Computer Festival
Buzbee, a "senior research scientist" at Hewlett-Packard Laboratories, has developed compilers and language tools for over 20 years. Prior to HP Labs, he worked as a software developer for renowned startup Transmeta Corp. (Transmeta, at that time, was "home" to Linux creator Linus Torvalds).
While at Transmeta, Buzbee contributed to the development of the Efficeon processor's "code morphing" software. This innovative technology automatically (and on the fly) translated x86 code into instructions that ran on the Efficeon's proprietary VLIW ISA (very long instruction word instruction set architecture) execution engine, and was said to provide both faster performance and lower power consumption than the same native x86 code running on competing x86 processors from Intel or AMD.
 Closeup of the Magic-1 minicomputer (Click to enlarge) No doubt this experience contributed to Buzbee's eventual desire to build an entire minicomputer from the ground up, a project that began with creating a totally homebrew CPU (central processing unit) with a unique set of instructions.
Hardware
According to Buzbee, the Magic-1 contains more than 200 ICs, interconnected by "thousands of individually wrapped wires." Rather than using a commercial microprocessor, Buzbee created his own microcoded CPU that zooms along at 4.09 MHz (yes, that's MHz, not GHz), and is "in the same ballpark as an old 8086 in performance and capabilities," he says. Additionally, it "supports user and supervisor modes, address translation via a hardware page table, six external interrupts, and up to 8 MB of memory (currently has 4 MB)."
 Magic-1's front panel (Click to enlarge) As seen in the block diagram below, the Magic-1 minicomputer implements a 22-bit physical address bus and an 8-bit data bus. An additional address bit provides selection between the system's "memory" and "device" spaces, and there is a 16-bit data path within the CPU, says Buzbee.
 Magic-1 block diagram (Click to enlarge) The design is partitioned into four equally-sized boards: an ALU board, a Control board, a Device board, and a Memory board -- all loaded with numerous 74 series TTL ICs, as indicated in the block diagram above . These four boards are pictured below.
 Magic-1's ALU, Control, Device, and Memory cards (Click each image to enlarge)
Software
Generally, the first step in getting application software and an operating system running on a new CPU design is to port a C compiler to the CPU's ISA, and then use that compiler to recompile the desired programs for operation on the CPU.
Accordingly Buzbee began by "retargeting" LCC, a "retargetable" ANSI C cross-compiler, to the Magic-1. To that he added a recompiled TCP/IP stack, a simple operating system that he wrote specifically for the Magic-1, and "hundreds of programs" that he recompiled for the system.
The big software project, though, was to port Minix 2 to the Magic-1. He barely managed to get it working in time to demonstrate it at this weekend's Vintage Computer Festival.
 Minix 2 booting on the Magic-1 minicomputer (Click to enlarge) Buzbee describes Minix as a "fully multi-user, multi-tasking" OS. Like Linux, Minix is a Unix clone.
Developed by Andy Tanenbaum for educational purposes, Minix was released in 2000 as open-source software under a BSD-like license. Tanenbaum characterizes Minix as "much smaller than Linux and might well be suitable as the operating system for a watch, camera, or transistor radio." The latest version, Minix 3, is said to support x86 processors from 386 up, and in systems equipped with as little as 8MB of RAM. Apparently the older Minix 2 can run in 4MB of RAM, the currently amount available on the Magic-1.
Build your own minicomputer?
Further details on Buzbee's homebrew CPU and minicomputer are available on the Magic-1's website, here. In case you're itching to build one of these nifty minicomputers as your next weekend project, you can download complete schematics and BOMs (bills of materials) from the Magic-1 website.
Vintage Computer Festival
This year's annual West Coast Vintage Computer Festival is taking place this weekend at the Computer History Museum in Mountain View, Calif. Entry to the Festival is $20 for a pass that includes talks, exhibits, and a marketplace, while a limited pass, for exhibits and marketplace only, is available for $12.
-- Rick Lehrbaum
Related Stories:
(Click here for further information)
|
|
|
FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.
Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.
Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.
Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.
High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.
Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.
Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.
Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
|
|
|
|
|