Levels of Abstraction Computer Organization
Level of Abstraction u Provides users with concepts/tools to solve problem at that level u Implementation hides complex details –different implementations using different underlying “machines” are possible
Level of Abstraction -- Example u Abstract Data Types –stack, queue, priority queue u Use for building higher level programs –solution search (e.g. maze, TSP) –depth-first, breadth first, branch and bound u Implementation –built on base language: C++, Pascal, Ada, etc. u Can be used to build high level abstraction –generic solution search –event driven simulation language
Levels of Abstraction Virtual Machine 0 Virtual Machine 1 Virtual Machine 2 Virtual Machine 3 Implementation of VM 3 on VM 2 Implementation of VM 2 on VM 1 Implementation of VM 1 on VM 0
Data Structures example Base Language, e.g. C++ Data Structures Event Scheduling Simulation Language Simulation of Bank translation
Hardware/Software Interface simple RISC High Level Language (HLL) Assembly Language Compiler (translation) Operating System (OS) Assembler (translation/mapping to ISA) Instruction Set Architecture (ISA) Partial Interpretation (device drivers, etc) Digital Logic Hardware Electronics -- transistors, etc Hardware
Hardware/Software Interface more complex architectures Digital Logic ISA OS Assembler Assembler (translation/mapping to ISA) Partial Interpretation (device drivers, etc) Hardware Electronics -- transistors, etc Hardware 0 Microarchitecture Firmware interpreter 1A
Java Java (HLL) Java Byte Code (ISA) Java Compiler Java Virtual Machine (JVM) Interpreter and JIT compiler Machine ISA OS
Java -- Java Chips Digital Logic JVM Java Byte Code = ISA Java (HLL) Java Compiler Interpreter and JIT compiler (Microarchitecture)
This Course Digital Logic Operating System (OS) Assembly Language High Level Language (HLL) Compiler (translation) Assembler (translation/mapping to ISA) Hardware Instruction Set Architecture (ISA) Partial Interpretation (device drivers, etc) Electronics -- transistors, etc Hardware 1 23 COSC 301 COSC 425 COSC 420