Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction Chapter 1. 2301274 Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.

Similar presentations


Presentation on theme: "An Introduction Chapter 1. 2301274 Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram."— Presentation transcript:

1 An Introduction Chapter 1

2 2301274 Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram

3 2301274 Chapter 1 Introduction3 Classes of Computing Applications  Desktop computers Personal computers  Servers Accessed by network Handle large workloads  Embedded computers Microprocessors embedded in devices

4 2301274 Chapter 1 Introduction4 Program Performances  Algorithm Number of high-level instructions & I/O operations  Programming languages, compiler and architecture Number of machine instructions  Processor and memory systems Number of clocks for each instruction  I/O systems Time for each I/O operations

5 2301274 Chapter 1 Introduction5 Representation of Data and Programs  Bits: 0 or 1  Bytes: string/sequence of bits e.g. 10010110 Normally, a byte is composed of 8 bits.  Words: sequence of bytes A word can be composed of 4 or 8 bytes.  There are standard formats of data stored in a computer. ASCII code, Unicode

6 2301274 Chapter 1 Introduction6 Languages and Programs  A program is a sequence of instructions for computer.  A format of instructions = a language  Computer languages High-level languages  Java, Python, C, ASP, HTML, … Low-level languages  Assembly languages Machine languages

7 2301274 Chapter 1 Introduction7 Examples of Languages  High-level languages C swap(int v[], int k)) {int temp; temp=v[k]; v[k]=v[k+1]; v[k+1]=temp; return; }  Assembly languages MIPS assembly swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31

8 2301274 Chapter 1 Introduction8 Examples of Languages swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31  Machine languages 00000000101000010000000000011000 00000000000110000001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000

9 2301274 Chapter 1 Introduction9 Advantages of high-level languages  Easy to understand  Improve productivity  Machine-independent

10 2301274 Chapter 1 Introduction10 Hardware-Software interface Application software System software Hardware

11 2301274 Chapter 1 Introduction11 System Software  Provide services to application software and users  Examples Operating systems Compilers Assemblers

12 2301274 Chapter 1 Introduction12 Compilers  A compiler is a program which translates a program in one language into another language.  Usually, the source language is a high- level language, and the target language is a low-level language. compiler Source program Target program Source language Target language

13 2301274 Chapter 1 Introduction13 Assembler  Assembly language Symbolic representation of machine instructions.  Assembler A compiler which translates from an assembly language to a machine language.

14 2301274 Chapter 1 Introduction14 Components of computers Processor Output Unit Memory Input Unit datapathcontrol

15 2301274 Chapter 1 Introduction15 Memory  Linear storage  Addressable in words  “Random access”  Data/program can be read from/ write to memory, one word at a time. To write data d to memory addressed a, data d and address a must be specified. To read data from memory addressed a, address a must be specified.

16 2301274 Chapter 1 Introduction16 Components of a computer: More detail registersALU Control units Instruction register Program counter program data address memory processor

17 2301274 Chapter 1 Introduction17 Components of Processors  Arithmetic-logic unit (ALU) Performs arithmetic and logic functions: add, substract, multiply, divide, and, or, not, etc.  Registers Fast-access memory used by a processor to store intermediate results.  Program counter (PC) Keeps track where the current instruction is. Normally, incremented to point to the next instruction. Changed by instructions that alter the flow of control of a program (if-then-else, loop, and function call).

18 2301274 Chapter 1 Introduction18 Components of Processors  Instruction register (IR) Store the current instruction fetched from memory. Its content (the instruction) signals the control unit to initiate the execution of that instruction.  Control unit Most complex part of a processor. Send control signals to all parts in the processor to co-ordinate their activities. A large finite state machine.

19 2301274 Chapter 1 Introduction19 How a computer system works  Fetch-execute cycle  Fetch: get an instruction (addressed by PC) from memory and store in IR, and update PC.  Execute: work according to the instruction in IR If the instruction causes PC changed, PC is updated again.

20 2301274 Chapter 1 Introduction20 Instruction Execution Cycle registersALU Control units Instruction register Program counter program data address memory processor increment

21 2301274 Chapter 1 Introduction21 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics

22 2301274 Chapter 1 Introduction22 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Application level is what a user typically sees a computer system, running his/her application programs. An application is usually written in a computer language which used many system functions provided by the operating system.

23 2301274 Chapter 1 Introduction23 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics An operating system is abstraction layers that separate a user program from the underlying system-dependent hardware and peripherals.

24 2301274 Chapter 1 Introduction24 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics computer architecture begins at the instruction set. An instruction set is what a programmer at the lowest level sees of a processor one instruction set with different level of performance for many models, based on the implementation of a control unit via “microprogram”. Present day processor designs converge, their instruction sets become more similar than different.

25 2301274 Chapter 1 Introduction25 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Units are divided by their functions, e.g. ALU, control unit, etc. The interconnection between units are described. registers ALU Control units Instruction register Program counter processor data address memory

26 2301274 Chapter 1 Introduction26 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Mathematical description of the behavior of a system. Important tool for verification of the correct behavior of the hardware.

27 2301274 Chapter 1 Introduction27 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Logic gates (e.g. and, or, not gates) are used to build functional units.

28 2301274 Chapter 1 Introduction28 Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Electronic circuits are used to build logic gates.


Download ppt "An Introduction Chapter 1. 2301274 Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram."

Similar presentations


Ads by Google