Computer Systems An Introducton.

Slides:



Advertisements
Similar presentations
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
Advertisements

Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
AKT211 – CAO 01 - Introduction to Computer Organization and Architecture Ghifar Parahyangan Catholic University August 22, 2011 Ghifar Parahyangan Catholic.
Computer Organization Computer Organization & Assembly Language: Module 2.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Cosc 2150: Computer Organization
Microcode Source: Digital Computer Electronics (Malvino and Brown)
Chapter 4 MARIE: An Introduction to a Simple Computer.
CPU Design. Introduction – The CPU must perform three main tasks: Communication with memory – Fetching Instructions – Fetching and storing data Interpretation.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
CSCI 211 Intro Computer Organization –Consists of gates for logic And Or Not –Processor –Memory –I/O interface.
Computer Architecture And Organization UNIT-II General System Architecture.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
COMPILERS CLASS 22/7,23/7. Introduction Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent.
Electronic Analog Computer Dr. Amin Danial Asham by.
Register Transfer Languages (RTL)
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Jeremy R. Johnson William M. Mongan
Chapter 20 Computer Operations Computer Studies Today Chapter 20.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Computer Organization and Architecture Lecture 1 : Introduction
Basic Computer Organization and Design
CS 270: Mathematical Foundations of Computer Science
The Stored Program Computer
Control Unit Lecture 6.
Lecture 5: Computer systems architecture
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Chapter 4 The Von Neumann Model
Chapter 7.2 Computer Architecture
Computer Science 210 Computer Organization
Introduction of microprocessor
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
Chapter 4 The Von Neumann Model
Processor (I).
The Processor and Machine Language
Number Representations and Basic Processor Architecture
Functional Units.
CSCE Fall 2013 Prof. Jennifer L. Welch.
Computer Architecture and Design Lecture 6
ECEG-3202 Computer Architecture and Organization
Control Unit Introduction Types Comparison Control Memory
CSCE 121: Simple Computer Model Spring 2015
MARIE: An Introduction to a Simple Computer
Topics Introduction Hardware and Software How Computers Store Data
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
Ghifar Parahyangan Catholic University August 22, 2011
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
Central Processing Unit
Computer Architecture
CSCE Fall 2012 Prof. Jennifer L. Welch.
Introduction to Computer Systems
Information Representation: Machine Instructions
Chapter 4 The Von Neumann Model
Presentation transcript:

Computer Systems An Introducton

Computer Systems: Introduction Programmable machines Hardware + Software (program) Hardware Program 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction What does a program do? Take input data from users or world Process data Output the result Take input from keyboard and mouse Determine if the input is a click at button “save”, or a click at button “slide show”, or a press on keyboard “K”. Then, do it! Display the message “saved”, or show slide, or letter “K”. 5/31/2019 Computer Systems: Introduction

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 5/31/2019 Computer Systems: Introduction

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 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Examples of Languages High-level languages C int main(void) { int n, m, sum=0; for (n=0; n<7; n++) { scanf(“%d”, &m); sum+=m; } return 0; Assembly languages 6800 assembly ldx i ldaa ar,x staa max ; max = ar[0] lp:ldaa i+1 cmpa #2 bgt ex ; while i <= N cmpa max ; if max<ar[i] ble sp staa max ; then max=ar[i] sp:inx ; i=i+1 stx i jmp lp ex: Easier for human to understand Easier for machines to understand (Also, for machine languages) 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Language Translation A compiler is a program which translates a program in one language into another language. Source program compiler Target program Source language Target language 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Compiler Usually, the source language is a high-level language, and the target language is a low-level language. Assembler is a compiler which translates from an assembly language to a machine language. 5/31/2019 Computer Systems: Introduction

Where are programs/data stored? In memory Components of computers Input Unit Processor Output Unit Memory 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction 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. 5/31/2019 Computer Systems: Introduction

Components of a computer: More detail processor memory registers ALU data program Control units Instruction register data address Program counter 5/31/2019 Computer Systems: Introduction

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). 5/31/2019 Computer Systems: Introduction

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. 5/31/2019 Computer Systems: Introduction

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. 5/31/2019 Computer Systems: Introduction

Instruction Execution Cycle processor memory registers ALU data program Control units Instruction register data address Program counter increment 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Processor Control unit Data path Logic Multiplexor Registers Bus 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Data Path Logic is a combinational function, out = f(in1 ... inn) where f is a Boolean function {not, and, or}. out = x1 + x2 · x3 + x1 ·x2 f x1 x2 x3 out 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Data Path Registers are storage elements out(t+1) = in(t) control signal “load” width of a register defines the number of bits that can be stored register n n in out load 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Data Path Muliplexors have n inputs (of width m) and select one input to be the output, called n:1 multiplexor. The control signal to determine the output is called the select signal. x0 x1 x2 x3 MUX out selector 5/31/2019 Computer Systems: Introduction

Computer Systems: Introduction Data Path Bus consists of wires and buffers. Wires carry data (signal). Buffer controls the traffic of data from any element to a bus. A bus can be shared to reduce the number of wire within a circuit. A bus can broadcast data to many receivers limited by the fan-out electrical characteristic of the bus, the ability to drive other circuits. 5/31/2019 Computer Systems: Introduction

Levels of descriptions of computer systems Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction

Levels of descriptions of computer systems Applications 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. Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction

Levels of descriptions of computer systems Applications An operating system is abstraction layers that separate a user program from the underlying system-dependent hardware and peripherals. Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction

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. Applications Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction

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

Levels of descriptions of computer systems Applications Mathematical description of the behavior of a system. Important tool for verification of the correct behavior of the hardware. Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction

Levels of descriptions of computer systems Applications Logic gates (e.g. and, or, not gates) are used to build functional units. Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction

Levels of descriptions of computer systems Applications Electronic circuits are used to build logic gates. Operating systems Instruction set Functional units Finite state machine Logic gates Electronics 5/31/2019 Computer Systems: Introduction