50 likes | 148 Views
Major Concepts: a data structure model:
E N D
Major Concepts: a data structure model: • basic representation of data, such as integers, logic values, and characters; homogeneous data structures, such as arrays and strings; heterogeneous data structures, such as floating point numbers and records; accessing of data structures, involving pointers and values, field extraction; addressing mode support for particular data structures. a machine model: • processor, memory, and I/O; processor data paths and register transfers; instruction cycle of fetch/execute and interrupts; bus interconnections; relative speeds and capacities of components; performance metrics, such as storage space, memory traffic, execution time.
Major Concepts (cont’d): a programming language translation model: • compilation versus interpretation; steps: macro processing, compilation, assembly, link, load, execute; code generation issues demonstrating the relationship between HLL and machine code. a system model: • run-time environment, including stack frame and heap support; procedure call support, including such issues as parameter passing and register conventions; I/O support, such as level of intelligence in controllers and synchronization; operating system support, including memory protection and interrupts; sharing and reentrancy; virtual memory support.
Computing Systems • Increasingly smaller • Higher performance • More memory • Lower power • Embedded • Everywhere • …but extremely complex
CSE 30 How do we handle complexity? Application (ex: browser) • Coordination of many levels of abstraction Operating Compiler System (Mac OSX) Software Assembler Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design Transistors Dan Garcia
CSE 30: So what's in it for me? • Learning computing systems from a programmer's view • What the programmer writes • How it is converted to something the computer understands • How the computer interprets the program • What makes programs go slow