50 likes | 154 Vues
This comprehensive overview explores core concepts in computer systems, including data structure models like arrays, strings, and records; machine models comprising processors, memory, and I/O; and programming language translation methods such as compilation and interpretation. It also examines system models supporting run-time environments, procedure calls, and operating system functionalities such as memory protection. This insight into computer architecture highlights the increasing complexity of systems and the coordination needed to manage various abstraction levels in modern computing applications, including ARM-powered products.
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.
Computer Systems • Increasingly smaller • Higher performance • More memory • Lower power • Embedded • Everywhere • …but extremely complex
CPSC 2310 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
Why ARM? ARM Powered Products • Smartphones; almost all mobile phones • digital cameras • digital TVs • Portable gaming consoles (e.g. Nintendo DS, PlayStation Portable, GameBoy Advance, GP2x • Smart meter at home • Portable Media Players, Camcorders • Apple iPod • GPS Navigation Systems • Tom Tom 300 • Hard Discs, Routers, …