1. Elements of computer
1.1. Architecture
1.1.1. Attributes that are visible to the programmer (e.g: instructions techniques,i/o mechanism)
1.2. Organization
1.2.1. How features are implemented (e.g: control signal, interface, mem. Tech)
1.3. All intel x86 family have same basic
1.4. IBM system/370 have same basic
2. Determine program performance?
2.1. Algorithm -By num of operations executed
2.2. Programming language, compiler, architecture -By num. Of machine instructions executed PER OPERATION
2.3. Processor and memory system -By how fast instructions are executed
2.4. I/O system (including OS) -By how fast I/O operations are executed
3. Level of program code
3.1. High level language (HLL) - Abstraction closer to problem domain - For productivity n portability
3.2. Assembly language - Textual representation
3.3. Hardware representation - Binary digits (bits) - Use for encoded instructions and data
4. Inside the processor
4.1. Datapath - Perform operations on data
4.2. Control - Tell datapath, memory n i/o devices what to do using program instructions
4.3. Cache memory - Small fast SRAM memory for immediate access to data
5. COMPUTER
5.1. Accept data (input)
5.2. Process the input (process)===>useful information===>instructions
5.3. Stores the instructions and results (storage)
5.4. Produce information (output)
6. Structure is the way components relate to each other
6.1. Top level
6.1.1. CPU -Perform data processing and control operation of comp.
6.1.1.1. Registers -Provides internal storage to CPU
6.1.1.2. Arithmetic and logic unit (ALU) -Perform data processing function
6.1.1.3. Control unit -Control the operation of CPU
6.1.1.4. Internal CPU interconnection -Provides communication to ALU, registers n control unit
6.1.2. Main memory -Stores data
6.1.3. Input/output -move data between computer n external environment
6.1.4. System interconnection -Provides communication ==>CPU==>main memory==>I/O
7. 4 Basic Function perform by comp. System
7.1. Data processing
7.2. Data storage
7.3. Data movement
7.4. Control
8. Behind a computer program?
8.1. App. Software ==> written in HLL
8.2. System Software
8.2.1. Compiler ==> translate HLL code to machine code
8.2.2. Operating system
8.2.2.1. Handling input/output
8.2.2.2. Managing memory and storage
8.2.2.3. Scheduling tasks & sharing resources
8.2.3. Hardware ==> processor,memory,I/O controllers