reviving a computer system of 25 years ago
play

Reviving a Computer System of 25 Years ago Symposium at ETH - PowerPoint PPT Presentation

Reviving a Computer System of 25 Years ago Symposium at ETH 20.2.2014 Niklaus Wirth www.inf.ethz.ch/personal/wirth/ProjectOberon Programming Languages and Software Systems Algol-W (at Stanford U. 1966) Pascal (1970) Structured


  1. Reviving a Computer System of 25 Years ago Symposium at ETH 20.2.2014 Niklaus Wirth www.inf.ethz.ch/personal/wirth/ProjectOberon

  2. Programming Languages and Software Systems • Algol-W (at Stanford U. 1966) • Pascal (1970) Structured programming • Modula-2 (1979) Modular programming • Windows, Menus, Icons (on computer Lilith) • Oberon (1988) Object-oriented programming • Oberon System (1990, on computer Ceres)

  3. Personal Computers • Alto at Xerox PARC (1975) • Hi-res, memory-mapped display, Mouse • Processor: TTL, 74S181 ALU (5.9 MHz) • 64K x 16 bit memory (1K bit chips!) • 2 MB cartridge disk (DEC) • 3 MHz Ethernet • Inaugurates the age of computers • Interactivity

  4. Xerox Alto (1975)

  5. Lilith (1980) • Alto with newer technology • Hi-res display, 640 x 800 pixels • 3 button mouse • Processor: 4 AMD 2901 (7 MHz) • 64K 16 bit word memory • 10 MB cartridge disk (later 15MB disk) • 3 MHz Ethernet (1981) • Central laser printer (Canon LBP-10) • 500 MB central file server (1982)

  6. Lilith (1980)

  7. Lilith (1982)

  8. Ceres (1985, 1988) • Commercial microprocessor (NS32x32) • Hi-res display (1024 x 800 pixels) • 2 MB memory (Ceres-1), 8 MB (Ceres-2) • 10 MHz clock (Ceres-1), 25 MHz (C-2) • 40 MB disk (Ceres-1), 80 MB disk (C-2) • dual port RAM chips for display • 233 KHz network (low-cost)

  9. Ceres-1 (1986)

  10. Ceres-3 (1990)

  11. Resurrecting Project Oberon • Project Oberon (Addison-Wesley, 1992) • A rare book presenting all details of an entire operating system and compiler • Essential for engineering education • Document of the State-of-the-Art of 1990 • Bring it up to date and publish on Web! • But …

  12. • NS-processor extinct – Large chapter on compiler is now irrelevant • Subject of storage mangement presented in obscure assembler code for NS processor • Same for raster operations for displaying characters and lines • Chapters on compiler, linking loader, garbage collection, and raster operations are either outdated or missing • Yet, most of the book can be retained

  13. Consequences • Design my own processor: RISC • Implement this processor (with FPGA) – Low-cost development board Spartan-3 – board contains 1 MB memory (SRAM) – disk replaced by CD-card (SPI interface) • Describe complete hardware (in Verilog) • Rewrite chapters on compiler and linker • Rewrite chapter on peripheral interfaces • Describe all in Oberon, no assembler!

  14. RISC (2013)

  15. RISC on Spartan 3 (2013)

  16. The processor RISC A Data Program Memory adr Registe r regmux Bank 16 x 32 C0 PC IR B Instr Reg Program counter imm decode + 1 off offset nxpc ALU Shifter + C0 + adr IR, cond Data Memory pcmux

  17. RISC instruction set 0 MOV a, n R.a := n 1 LSL a, b, n R.a := R.b ← n (shift left by n bits) 2 ASR a, b, n R.a := R.b → n (shift right by n bits) 3 ROR a, b, n R.a := R.b rot n (rotate right by n bits) 4 AND a, b, n R.a := R.b & n logical operations 5 ANN a, b, n R.a := R.b & ~n 6 IOR a, b, n R.a := R.b or n 7 XOR a, b, n R.a := R.b xor n 8 ADD a, b, n R.a := R.b + n integer arithmetic 9 SUB a, b, n R.a := R.b – n 10 MUL a, b, n R.a := R.a × n 11 DIV a, b, n R.a := R.b / n 12 FAD a, b, c R.a := R.b + R.c floating-point arithmetic 13 FSB a, b, c R.a := R.b – R.c 14 FML a, b, c R.a := R.a × R.c 15 FDV a, b, c R.a := R.b / R.c

  18. What have I learnt? • Writing a program is difficult • Writing a correct program is even more so • Writing a publishable program is exacting • Programs are not written. They grow! • Controlling growth needs much discipline • Reducing size and complexity is the triumph • Programs must not be regarded as code for computers, but as literature for humans

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend