Computer Interfaces The Computer Level Hierarchy • Each virtual machine layer is an abstraction of the level below it. • The machines at each level execute their own particular instructions, calling upon machines at lower levels to perform tasks as required. • Computer circuits ultimately carry out the work. 1 The Computer Level Hierarchy • Level 6: The User Level – Program execution and user interface level. – The level with which we are most familiar. • Level 5: High-Level Language Level – The level with which we interact when we write programs in languages such as C, Pascal, Lisp, and Java. 2 The Computer Level Hierarchy • Level 4: Assembly Language Level – Acts upon assembly language produced from Level 5, as well as instructions programmed directly at this level. • Level 3: System Software Level – Controls executing processes on the system. – Protects system resources. – Assembly language instructions often pass through Level 3 without modification. 3 The Computer Level Hierarchy • Level 2: Machine Level – Also known as the Instruction Set Architecture (ISA) Level. – Consists of instructions that are particular to the architecture of the machine. – Programs written in machine language need no compilers, interpreters, or assemblers. 4 The Computer Level Hierarchy • Level 1: Control Level – A control unit decodes and executes instructions and moves data through the system. – Control units can be microprogrammed or hardwired. – A microprogram is a program written in a low-level language that is implemented by the hardware. – Hardwired control units consist of hardware that directly executes machine instructions. 5 The Computer Level Hierarchy • Level 0: Digital Logic Level – This level is where we find digital circuits (the chips). – Digital circuits consist of gates and wires. – These components implement the mathematical logic of all other levels. 6 8086/88 Device Specifications • Both are packaged in DIP (Dual In-Line Packages) • 8086: 16-bit microprocessor with a 16-bit data bus • 8088: 16-bit microprocessor with an 8-bit data bus • Both are 5V parts (i.e. VDD is 5V) • 8086: Draws a maximum supply current of 360mA • 8086: Draws a maximum supply current of 340mA • 80C86/80C88: CMOS version draws 10mA with temp spec -40 to 225oF 7 Input/Output current levels: 8 TTL/CMOS Logic Levels 9 8086/88 Pinout 10 8086 Fully Buffered 11 BUS Buffering and Latching 12 Bus Latching and Buffering • • • • • • Latches are used to de-multiplex the address/data and address/status lines and commonly have output buffers for driving external loads. • Buffers are used to drive external loads, and to isolate component when disabled. 13 Bus Latching and Buffering 14 74LS244 3-STATE Buffer • When enabled by the control line, output follows input (buffered, pass-through). • When disabled, output is a very high impedance which prevents the output from driving or loading connected circuits. • When disabled, the outputs are said to be floating. • In effect, it is like a switch. 15 74LS245 Bidirectional buffers (transceivers) 16 74LS373 Latch Latches (D-type flip-flops) • When enable is high, Q follows D. • When enable goes low, Q maintains (latches) state of D. 17 A fully buffered 8086 18 BUS Timing 19 BUS Timing 20 “slots” on the motherboard 3 ISA slots 21 XT-CARD 22 XT-bus 23 XT-bus, 24