CDA4101 Summer A, 1998
Chapter 1
Interpretor vs. translator: translator creates a new copy of the source in a new language, then executes the new file. Interpretor creates a copy of one instruction in the new language, and executes it, then moves to the next instruction. An interpretor does not create a copy of the file in the new language.
Hardware and software are equivalent. Whatever can be done in hardware can be done in software, and vice versa.
Levels: started from hardware and using hex to specify language. Added microprogram to allow more safisticated software, while keeping the hardware simple. The microprogram is just an interpretor from Conventional Machine Language to the actual instructions that the hardware understands. At eahc new level, more software was added to make programming easier: OS, Assembly Language, C++.
Virtual Machine: Pascal, C++, ATM machine at bank (no teller sitting inside). It is not necessary to understand the underlying layers in order to porgram the virtual machine.
History
Zeroth generation: Pascal 1642, mechanical gears and hand operated crank: add and subtract. Leibniz 1670, could also multiply and divide. Babbage early 1800's, add and subtract: finite differences using polynomials, had pucnhed output (copper plate). Then worked on analytical engine: store, mill, input, output: general purpose, read instructions from punched cards and carried them out. Defeated by the limits of technology of the time.
First generation 1945, vacuum tubes: von Neumann, binary, stored program, CPU and ALU.
Second Generation 1955, transistors: omnibus
Third generation 1965, integrated circuits: multiprogramming
Fourth Generation 1980, VLSI: Intel, Motorola
Chapter 2
CPU, registers, PC, ALU, IR, fetch-execute-decode cycle, data path
Parallel Instruction Execution: floating point coprocessors, pipelining, vector and array machines (dual Pentiums), distributed processing (over the internet). Shared memories or local?
Little Endian and Big Endian
Chapter 3