n301/cs14vonNeu n301.tplt Levels of Abstraction Still hardware At a component (subsystem) level
 - transistors -- > gates -- >
 - circuits -- > subsystems Abstraction hides detail
 - important concept in many areas of CS
John Von Neumann Was a well-known mathematician Wrote the draft report on the design of the EDVAC (the first truly modern computer to be conceived) The report outlined the design of the modern computer -
 - central processing unit based on Boolean algebra
 - used binary arithmetic
 - random-access memory that contained both data and programs
Architecture The Von Neumann Architecture is a model for designing and building computers based on 3 characteristics:
 - a computer constructed of 4 major subsystems
    - memory, input/output, ALU, and control unit
 - stored program concept
 - sequential execution of instruction
Visual of the Architecture ALU The "Brain" Separate, high-speed-access registers
 - storage for operands Obtain operands from registers, store the result in a register by activating correct BUS
ALU Operation Add, subtract, multiply divide and compare Circuits for each operation
 - we have already seen the add circuit Each operation is done Select the result you want
 - Multiplexor
3-register ALU Multi-register ALU Control Unit (CU) Fetch Memory (instruction) Decode Execute --> (ALU) Store Memory Random-access memory - RAM
 - array of cells, each with an address
 - cell is the minimum unit of access
 - access time is address-dependent ROM – Read Only Memory
 - a section of RAM set aside for system software
Memory Structure Cell size or width (W)
 - generally 8 bits, called a BYTE
 - may need multiple cells to store large numbers
   or long program instructions Cell content vs. cell address
Memory Registers Special (large) storage cells 1 – Memory address register – MAR
 - holds cell address
 - N bits wide 2 – Memory data register - MDR
 - holds data values
 - multiple of W
Structure of RAM Address Space Instructions refer to cell addresses
 - stored in binary form Suppose N bits for the address
 - can represent number in the range of 0 to 11 … 1 = 2N - 1
 - determines memory size, 2N
 - "address space"
Basic Memory Ops 1 – Fetch (address) – "Read"
 - load address into MAR
 - decode address
 - copy contents of cell at that address into MDR
 - nondestructive operation
Basic Memory Ops – 2 2 – Store (address, value) – "Write"
 - load address into MAR
 - load value into MDR
 - decode address
 - store contents of MDR into the cell with that address
 - destructive operation
Decode Address Convert a string of N bits (on N bits (on N input lines)) to a signal on a single output line This is a decoder To scale up, use a 2-dimensional arrangement Memory/Decoding Logic Organization of Memory and Decoding Logic 2-Dimensional Memory Org RAM Organization I/O Human-machine interface
 - keyboard, screen, printer Machine-machine interface
 - mass storage, secondary storage
 - floppy disks, hard disks, CDs, tape Most nonstandard subsystems