Principles of interactive computer graphics (2nd ed.)
Principles of interactive computer graphics (2nd ed.)
Communications of the ACM
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Personal distributed computing: the Alto and Ethernet hardware
HPW '86 Proceedings of the ACM Conference on The history of personal workstations
Personal distributed computing: the Alto and Ethernet software
HPW '86 Proceedings of the ACM Conference on The history of personal workstations
A Crash Recovery Scheme for a Memory-Resident Database System
IEEE Transactions on Computers
Virtual memory on a narrow machine for an object-oriented language
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Managing stored voice in the Etherphone system
ACM Transactions on Computer Systems (TOCS)
Personal distributed computing: the alto and ethernet hardware
A history of personal workstations
Personal distributed computing: the alto and ethernet software
A history of personal workstations
Experiences creating a portable cedar
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Fast breakpoints: design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Relational and entity-relationship model databases and specialized design files in VLSI design
DAC '85 Proceedings of the 22nd ACM/IEEE Design Automation Conference
Testing and Debugging Custom Integrated Circuits
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
A retrospective on the Dorado, a high-performance personal computer
ISCA '83 Proceedings of the 10th annual international symposium on Computer architecture
ISCA '83 Proceedings of the 10th annual international symposium on Computer architecture
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Jericho: A professional's personal computer system
ISCA '81 Proceedings of the 8th annual symposium on Computer Architecture
ICSE '84 Proceedings of the 7th international conference on Software engineering
MICRO 13 Proceedings of the 13th annual workshop on Microprogramming
Overview and status of DoradoLisp
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Peering through the RISC/CISC fog: an outline of research
ACM SIGARCH Computer Architecture News
Fast breakpoints: design and implementation
ACM SIGPLAN Notices - Best of PLDI 1979-1999
The Mesa Spy: an interactive tool for performance debugging
SIGMETRICS '82 Proceedings of the 1982 ACM SIGMETRICS conference on Measurement and modeling of computer systems
The Memory System of a High-Performance Personal Computer
IEEE Transactions on Computers
An information presentation system
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
An Instruction Fetch Unit for a High-Performance Personal Computer
IEEE Transactions on Computers
Hi-index | 0.01 |
This paper describes the design goals, micro- architecture, and implementation of the microprogrammed processor for a compact high performance personal computer. This computer supports a range of high level language environments and high bandwidth I/O devices. Besides the processor, it has a cache, a memory map, main storage, and an instruction fetch unit; these are described in other papers. The processor can be shared among 16 microcoded tasks, performing microcode context switches on demand with essentially no overhead. Conditional branches are done without any lookahead or delay. Microinstructions are fairly tightly encoded, and use an interesting variant on control field sharing. The processor implements a large number of internal registers, hardware stacks, a cyclic shifter/masker, and an arithmetic/logic unit, together with external data paths for instruction fetching, memory interface, and I/O, in a compact, pipe-lined organization. The machine has a 50 ns microcycle, and can execute a simple macroinstruction in one cycle; the available I/O bandwidth is 640 Mbits/sec. The entire machine, including disk, display and network interfaces, is implemented with approximately 3000 MSI components, mostly ECL 10K; the processor is about 35% of this. In addition there are up to 4 storage modules, each with about 300 16K or 64K RAMS and 200 MSI components, for a total of 8 Mbytes. Several prototypes are currently running.