1 / 28

An Introduction

An Introduction. Chapter 1. Computer Systems. Programmable machines Hardware + Software (program). Hardware. Program. Classes of Computing Applications. Desktop computers Personal computers Servers Accessed by network Handle large workloads Embedded computers

ilario
Télécharger la présentation

An Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction Chapter 1

  2. Computer Systems • Programmable machines • Hardware + Software (program) Hardware Program Chapter 1 Introduction

  3. Classes of Computing Applications • Desktop computers • Personal computers • Servers • Accessed by network • Handle large workloads • Embedded computers • Microprocessors embedded in devices Chapter 1 Introduction

  4. 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 Chapter 1 Introduction

  5. 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 Chapter 1 Introduction

  6. 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 Chapter 1 Introduction

  7. 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 Examples of Languages Chapter 1 Introduction

  8. 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 Examples of Languages Chapter 1 Introduction

  9. Advantages of high-level languages • Easy to understand • Improve productivity • Machine-independent Chapter 1 Introduction

  10. Hardware-Software interface Application software System software Hardware Chapter 1 Introduction

  11. System Software • Provide services to application software and users • Examples • Operating systems • Compilers • Assemblers Chapter 1 Introduction

  12. 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. Source program compiler Target program Source language Target language Chapter 1 Introduction

  13. Assembler • Assembly language • Symbolic representation of machine instructions. • Assembler • A compiler which translates from an assembly languageto a machine language. Chapter 1 Introduction

  14. Components of computers Processor Input Unit Output Unit datapath control Memory Chapter 1 Introduction

  15. 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. Chapter 1 Introduction

  16. Components of a computer: More detail processor memory registers ALU data program Instruction register Program counter data address Control units Chapter 1 Introduction

  17. 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). Chapter 1 Introduction

  18. 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. Chapter 1 Introduction

  19. 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. Chapter 1 Introduction

  20. Instruction Execution Cycle processor memory registers ALU data program Control units Instruction register data address Program counter increment Chapter 1 Introduction

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

  22. Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Levels of descriptions of computer systems 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. Chapter 1 Introduction

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

  24. Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics Levels of descriptions of computer systems • 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. Chapter 1 Introduction

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

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

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

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

More Related