ContentThis book contains links to other projects and other resources that I used during my research.
Computer Architecture
AS/400 System Concepts and Architecture
Highlight of AS/400 features (for a bussiness audience):
http://koeln.ccc.de/ablage/as400/as400concepts.xml
Overview of iSeries (OS/400) architecture:
http://www-03.ibm.com/servers/enable/site/porting/iseries/overview/overview.html
RISC Architecture
RISC vs. CISC
http://cse.stanford.edu/class/sophomore-college/projects-00/risc/risccisc/
MIPS Architecture
Wikipedia entry:
http://en.wikipedia.org/wiki/MIPS_architecture
Computer Science
Algorithms
Merge Sort (sorting data files on tape):
http://home.swbell.net/mck9/cobol/tech/llmerge.html
Languages
Turbo Pascal 3.0 Compiler / Code Generation Internals
http://www.pcengines.ch/tp3.htm
Operating Systems
Dennis Ritchie Home Page
Dennis Ritchie is the co-author (with Ken Thompson) of the UNIX operating system and the C programming language.
http://cm.bell-labs.com/who/dmr/
UNIX Archive
--QUOTE from the site--
Welcome to the Unix Archive, run by the Unix Heritage Society. Here you
will find a large collection of Unix releases, applications, documentation,
bug fixes, bootable disk images, and tools to deal with all these things.
Most of the material in the Archive is tainted with source code that was
originally owned by AT&T, Novell, SCO and is now owned by Caldera. Please
read the Caldera-license.pdf, and also the individual copyright notices
for each piece of software in this archive.
--End QUOTE--
http://ftp.math.utah.edu/pub///mirrors/minnie.tuhs.org/
The Linux Kernel (Online Book)
http://www.tldp.org/LDP/tlk/tlk.html
This is possibly the first place to go if you want to start getting deep into Linux kernell.
FreeBSD Handbook
http://freebsd.active-venture.com/handbook/index.html
FreeBSD Developers Handbook
http://www.freebsd.org/doc/en/books/developers-handbook/index.html
netBSD Man Pages
http://netbsd.gw.com/cgi-bin/man-cgi
OS-Development (OSDev.org)
http://wiki.osdev.org
The Minix Operating System
http://minix1.woodhull.com/
Some other articles
Linux as a Real-Time Operating System
Development Tools
XPL0 Programming Language
http://www.idcomm.com/personal/lorenblaney/index.html
XPL0 is similar to Pascal and C. Although not mainstream, over the years it has proven to be immensely useful. It has been used to write everything from operating systems for 6502- and 68000-based computers, to commercial programs for 8088-based (PC) computers, to embedded firmware for PIC and other microcontrollers. Since its inception on the 6502, it has been steadily upgraded and spread to other processors such as 8080, 6800, PDP-10, IBM-360, a couple homebrew machines, 65802, 680x0, PIC, Ubicom, and, most notably, the 80x86 family used by IBM-compatible PCs.
GCC Cross Compiler
http://wiki.osdev.org/GCC_Cross-Compiler
LANCE retargetable C compiler
http://www.tm1300.com/lance/lance1.html
LCC retargetable compiler for ANSI C
http://www.cs.princeton.edu/software/lcc/
Circuit Description Using C++ (thesis)
http://www.cs.mun.ca/~donald/bsc/thesis.html
Thesis by: Doland C. Craig (Memorial University of Newfoundland, Canada, 1991)
Thesis title:
Circuit Description and Elementary Hierarchical Circuit Simulation Using C++ and the Object-Oriented Programming Paradigm.
LabVIEW FPGA On-line Tutorial
http://www.ni.com/swf/presentation/us/labview/lvfpga/default.htm
FPGA Programming Step by Step
http://www.design-reuse.com/articles/7330/fpga-programming-step-by-step.html
Legacy Computers
Computer History Museum (CA)
http://www.computerhistory.org/
--Quote--
The Computer History Museum invites you to visit us to see and experience one of the world's largest collections of computing artifacts. Our exhibits (listed below) allow you to explore the computer revolution and its impact on the human experience. Located in the heart of Silicon Valley, 1401 N. Shoreline Boulevard, Mountain View, CA.
---
The Analog Computer Museum (Germany)
http://www.analogmuseum.org/
IBM 360
The IBM 360/67 and CP/CMS:
http://www.multicians.org/thvv/360-67.html
Seymour Cray CDC 6600 Supercomputer
According to Wikipedia, this computer (designed by Seymour Cray and firt delivery en 1964) is considered the first "Supercomputer" in history as well as the first having a RISC design as we would call it today.
Wikipedia entry:
http://en.wikipedia.org/wiki/CDC_6600
PDP-11
PDP-11 Home Page:
http://www.pdp11.org/
PDP-11 Architecture (Wikipedia):
http://en.wikipedia.org/wiki/PDP-11_architecture
UNIBUS Pinout:
http://www.pinouts.org.uk/index.php?page=DEC_UNIBUS_Signals_and_Pinout
http://www.allpinouts.org/index.php/Unibus
Philips Electronics 16 bit minicomputers (1970s)
http://www.theoengel.nl/P800/
Alternate routes and dead ends
http://ed-thelen.org/comp-hist/Shustek/ShustekTour-06.html
The Dornier DO-80 Analog Computer
http://www.vaxman.de/my_machines/dornier/do80/do80.html
Homebrew Computers
Harry Porter Relay Computer
http://www.cs.pdx.edu/~harry/Relay/index.html
This project triggered my interest for building a computer on my own. After a few days, however, I changed course toward electronics and OS development.
Nevertheless, the Harry Porter's Relay Computer is (in my view) a tremendous accomplishment and something really interesting to see.
Jon Stanley Relay Computer
http://www.electronixandmore.com/project/relaycomputertwo/index.html
This project is inspired in the Harry Porter's Relay Computer. The author adopts the idea and most of the solutions but he also introduces innovative changes and gives detailed information about his work.
David Brooks Simplex III (TTL)
The author, David Brooks, has also founded the "Homebuilt CPUs Web Ring".
http://members.iinet.net.au/~daveb/simplex/simplex.html
Bill Buzbee Magic-1 (TTL)
http://www.homebrewcpu.com/
Magic-1 is a homebrew minicomputer built by Bill Buzbee and made out of 74 Series TTL chips. It serves web pages to the internet and people can telnet to leave brief messages. Magic-1 runs the Minix 2 operating system which have been ported and optimized by Bill.
Bill devoted 4 years to the this project. Here is what he wrote about his tremendous effor on Software development:
-----
QUOTE
Although the hardware design and construction of Magic-1 usually gets the most attention, the largest part of the project (by far) has been developing/porting the software. To this end, I've had to write an assembler and linker from scratch, retarget a C compiler, write and port the standard C libraries, write a simplified operating system and then port a more sophisticated one. It's been a challenge, but a fun one. I suppose I'm somewhat twisted, but I happen to enjoy debugging difficult problems. And, when the bug you're trying to track down could involve one or more of: hardware design flaw, loose or broken wire, loose or bad TTL chip, assembler bug, linker bug, compiler bug, C runtime library bug, or finally a bug in the program in question there's lot of opportunity for fun. Oh, and I also don't have the luxury of blaming the bugs on anyone else.
I'm continually amazed that the damn thing runs at all, much less runs as well as it does.
-----
In this video (link below): a professional talk by Bill Buzbee about a Just-In-Time Compiler for Android systems he developed at Google.
http://code.google.com/events/io/2010/sessions/jit-compiler-androids-dalvik-vm.html
John Dorans D16/M minicomputer
The D16/M is a general-purpose, stored-program, single-address, 16-bit digital computer using two's complement arithmetic. It manages subroutine calls and interrupts using a memory stack. The processor may directly address 64K words of memory or I/O. Its timing and control unit is microprogrammed (fully horizontal, with a 72-bit control word).
http://www.timefracture.org/D16.html
Programming wizard Loren wrote a software emulator for the D16/M, and then used it to develop some applications--a keyboard monitor and a tough chess-playing program--even before I [John Doran] managed to get the hardware completed! Loren has placed all of his work on this site.
http://www.idcomm.com/personal/lorenblaney/d16.html
The 6502 Group
http://www.6502group.org/
--QUOTE FROM THE SITE--
The 6502 Group is one of the oldest computer clubs in the country. It has been meeting every Tuesday night since 1975.
"6502" is a bit of a misnomer these days. Originally a faction interested in the 6502 microprocessor split off from the Denver Amateur Computer Society (DACS). Since then the interests of the group have evolved to other processors -- notably the 80x86 and PICs -- but any technically oriented subject related to computers is discussed at meetings. Ironically one of the keys to the group's longevity is its lack of formal organization. There are no dues, no treasury report or minutes, no newsletter -- just folks discussing what interests them, showing off their latest creations, or seeking help on hard-core technical problems.
--END QUOTE--
The XPL0 Programming Language
http://www.idcomm.com/personal/lorenblaney/index.html
---QUOTE FROM THE SITE--
XPL0 is similar to Pascal and C. Although not mainstream, over the years it has proven to be immensely useful. It has been used to write everything from operating systems for 6502- and 68000-based computers, to commercial programs for 8088-based (PC) computers, to embedded firmware for PIC and other microcontrollers. Since its inception on the 6502, it has been steadily upgraded and spread to other processors such as 8080, 6800, PDP-10, IBM-360, a couple homebrew machines, 65802, 680x0, PIC, Ubicom, and, most notably, the 80x86 family used by IBM-compatible PCs.
---END QUOTE--
HJS22 contemporary MiniComputer
http://www.ibmsystem3.nl/hjs22/overview.html
This computer was built between 1975 and 1979, when commercial computers were built like that.
Donn Stewart 12/16 bits TTL CPU
http://cpuville.com/index.htm
This experimental TTL machine is both simple and elegant in design. It employes a FSM for producing the internal control signals where the states table is not stored in ROM but hard-wrired within the Control circuit.
Dawid DIY
http://www.pilawa.org/computer/
A DEC PDP-8 Clone
http://juliepalooza.8m.com/sl/pdp8e.htm
Homebrew Microcontroller based on FPGA
http://www.excamera.com/articles/20/mp3c.html
This homebrew CPU (or Microcontroller) is made on a FPGA (Field Programmable Gate Array). The memory organization is stack-based because the computer runs FORTH, a "stack oriented" language.
Some features:
Stack-based 16-bit CPU
No registers
1024 words of general purpose RAM
22 MIPS with a 66MHz basic clock
John FPGA Projects
http://members.optusnet.com.au/jekent/FPGA.htm
Papers by Bradford J. Rodriguez
http://www.bradrodriguez.com/papers/
Minimal TTL Processor
This work (by Bradford J. Rodriguez) is titled "A Minimal TTL Processor for Architecture Exploration". The machine is termed PISC. The paper covers very interesting details on CPU design matters. A list of found limitations is included, very useful for novices like my self.
http://www.bradrodriguez.com/papers/piscedu2.htm
Homebrew Z80 computer with HDD and OS
The computer:
http://www.cosam.org/projects/z80/
The OS (Focus):
http://www.cosam.org/projects/focus/index.html
How to replicate the Apollo Guidance Computer (AGC)
Quote from the site:
-------------------
Abstract
This report describes my successful project to build a working reproduction of the 1964 prototype for the Block I Apollo Guidance Computer. The AGC is the flight computer for the Apollo moon landings, with one unit in the command module and one in the LEM.
Why build an AGC?
Early computers are interesting. Because they're simple, you can (if you like) actually understand the entire computer, from hardware to software.
The AGC is the most interesting early computer because: it flew the first men to the moon and has interesting architectural features.
--- end Quote -----
http://klabs.org/history/build_agc/
Viktors Amazing 4-bit Processor
http://www.vttoth.com/vicproc.htm
Galactic Electronics 4-bits CPU
http://www.galacticelectronics.com/Simple4BitCPU.HTML
ELEC301 Project: Building an Analog Computer
http://www.owlnet.rice.edu/~elec301/Projects99/anlgcomp/
LC-81 Mini-Computer (based on Z80 microprocessor)
http://www.armandoacosta.com/lc81/
Electronics
Suppliers
Digi-Key
http://www.digi-key.com/
Jameco
http://www.jameco.com/
Electronic Gold-mine
http://www.goldmine-elec.com/
Mouser
http://www.mouser.com
MPGA
http://www.mpja.com
All Electronics and Equipment
http://www.allelectronics.com
Nuts and Volts Magazine
http://www.nutsvolts.com
ECE Miami
3100 NW 36 St. Miami, FL. 33142 Tel: 305-638-2000
http://www.ecemiami.com
TTL/CMOS Datasheets
DatasheetsArchive.COM
http://www.datasheetarchive.com/
DatasheetsCatalog.COM:
http://www.datasheetcatalog.com/
List of 7400 series integrated circuits (Wikipedia):
http://en.wikipedia.org/wiki/List_of_7400_series_integrated_circuits
Measuring Characteristic Impedance of PCB tracks
Measuring Characteristic Impedance and Effective Dielectric Constant of PCB tracks using a Vector Network Analyser:
http://chemandy.com/technical-articles/measuring-track-characteristic-impedance/measuring-track-characteristic-impedance-article1.htm
The VME Bus
http://www.interfacebus.com/Design_Connector_VME.html
UART built with 74xx TTL
An article about how to build your own UART (Universal Asynchronous Receiver/Transmitter), and how to connect it to the RS232 interface of a PC.
http://www.6502.org/users/dieter/uart/uart_0.htm
Paper Bibliography
-- PDP11 Handbook (DEC, 1969)
-- Intel 80386 Programmer's Reference Manual (Intel, 1986)
-- Pentium Processor System Architecture (Don Anderson/Tom Shanley, 1995)
-- PIC16F87X Data Sheet (Microchip Tecnhology, 2001)
-- Formal Models of Operating System Kernels (Iain D. Craig)
-- Understanding the Linux Kernel (Daniel P. Povet/Marco Cesati, 2005)
# The following have been taken from the John Dorans D16/M web site. —Thank you, John.
-- Steve Leibson, Handbook of Microcomputer Interfacing. Blue Ridge Summit, PA: Tab Books (1983).
This older book has detailed descriptions and theories of operation for many specific interfaces, including the basic RS-232 serial and Centronics parallel ports.
-- John B. Peatman, Microcomputer-Based Design. New York, NY: McGraw-Hill (1977).
Dr. Peatman's book contains much discussion of interface design in general.
-- The Texas Instruments Engineering Staff, Design Considerations for Logic Products. Owensville, MO: Custom Printing Company (1997).
This "Application Book" contains highly technical discussions of issues such as bus line termination, power supply bypassing, and electromagnetic compatibility. It also has descriptions of the input and output characteristics of each of the integrated logic IC families available when the book was written.
-- The SanDisk Secure Digital Card Product Manual, Version 1.9, Document No. 80-13-00169. Sunnyvale, CA: SanDisk Corporation (2003)
SanDisk’s manual discusses the SD flash memory card, its interfaces, and its protocols in detail.
|