1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.

Slides:



Advertisements
Similar presentations
Stored Program Architecture
Advertisements

EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#4)
1 Lecture-2 CSIT-120 Spring 2001 Revision of Lecture-1 Introducing Computer Architecture The FOUR Main Elements Fetch-Execute Cycle A Look Under the Hood.
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
COE Computer Organization & Assembly Language Introduction HLL vs. Assembly Programming Languages.
The Analytical Engine Module 6 Program Translation.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Stored Program Concept: The Hardware View
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Computer ArchitectureFall 2007 © Sep 10 th, 2007 Majd F. Sakr CS-447– Computer Architecture.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Basic Operational Concepts of a Computer
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Lecture 8 Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Evolution of Programming Languages Generations of PLs.
Introduction to Programming Using C Introduction to Computer Programming.
Cosc 2150: Computer Organization
Computer Systems Organization CS 1428 Foundations of Computer Science.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Basic of Programming Language Skill Area Computer System Computer Program Programming Language Programmer Translators.
Computer Architecture And Organization UNIT-II General System Architecture.
COMPUTER PROGRAMMING. Computer programming the objective of the module to gain the necessary skills to develop a computer program using one of the high.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Indira Gandhi National Open University presents. A Video Lecture Course: Computer Platforms.
Computer Organization Instructors Course By: Lecturer: Shimaa Ibrahim Hassan TA: Eng: Moufeda Hussien Lecture: 9:45 Address:
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.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
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.
Chapter 1 An Overview of Computers and Programming Languages.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Hello world !!! ASCII representation of hello.c.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
Operating Systems A Biswas, Dept. of Information Technology.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
Computer Organization and Architecture Lecture 1 : Introduction
Software Development Environment
CSC235 Computer Organization & Assembly Language
Java Programming: From the Ground Up
Chapter 1: An Overview of Computers and Programming Languages
Operating System Interface between a user and the computer hardware
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor and Assembly Language
Chapter 2 – Computer hardware
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
The Processor and Machine Language
Computer Electronic device Accepts data - input
Introduction to Micro Controllers & Embedded System Design
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Overview of Computer Architecture and Organization
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Introduction to Computer Programming
Introduction to Microprocessor Programming
ICT Programming Lesson 1:
Understand the interaction between computer hardware and software
Computer Systems An Introducton.
Presentation transcript:

1 Text Reference: Warford

2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization Instruction Set Memory Registers

3 Digital Computer: “…machine that accepts digitized input information, processes it according to a list of internally stored instructions, and produces the resulting output information. The list of instructions is called a computer program and the internal storage is called computer memory.” from: Computer Organization 4th Edition Hamacher, Banesic, Zaky McGraw Hill, 1996.

4 Processing ? analysis design Computer Work Flow Input Output ? data flow instruction flow

5 Computer Main Elements System Bus Central Processing Unit (CPU) Memory Input/Output

6 Computer Instruction Set Individual instructions are very simple: –add two numbers –move a piece of data from one location to another –compare two numbers The only representation of instructions and data that a computer can understand is BINARY (values of 1 and 0 only).

7 Sample machine language instruction: (ADD contents of Register B to contents of Register A) Sample Data: (the character “B”, also the number 66) Problem: Binary representation of instructions and data are not easily generated, manipulated, or understood by humans.

8 Solution: –design a new set of instructions (L2) more convenient to use by humans than native (L1) machine instructions. L1 Instruction: Equivalent L2 Instruction:ADD A, B –How can a program written in L2 be executed?

9 Translation L2 program (ADD A, B) Translator Program ( ) L1 program ( )

10 Interpretation L2 program (ADD A, B) Interpreter Program (L2 Virtual Machine) ( )

11 Digital Computer as a Multilevel Machine High Level Language Level Assembly Language Level Operating System Level Machine Language Level Microprogram Level Digital Logic Level Translation (Compiler) Translation (Assembler) Software Hardware Machine code Partial Interpretation, Partial Pass-through Interpretation (microprogram) Directly executed by hardware Applications Level

12 “gate” level logic circuits. Primitive “computations” confined to Boolean operations (AND, OR, NOT) no concept of a program at this level. There is simply a sequence of instructions to be processed. Digital Logic Level

13 Microprogramming Level machine language instruction interpreted. - causes a series of simpler instructions to be executed by underlying digital logic level. Microprogram for each instruction stored permanently in memory internal to the microprocessor when it is manufactured.

14 Microprogram level example: Machine language level instruction: Microprogram: 1. Fetch instruction from memory 2. Increment Program Counter in preparation for the next instruction. (the Program Counter is a register that indicates where the next instruction to be executed is stored in memory) 3. Route contents of Register B and Register A to Arithmetic Logic Unit (ALU) input. 4. ADD the two inputs to the ALU generating a result. 5. Store result in Register A.

15 this level defines the interface between the inner workings of the processor and the outside world. Every model of processor has a unique set of instructions (ISA: Instruction Set Architecture) and encoded instruction formats. Machine Language Level

16 Operating System Level an Operating System is a program that provides an environment in which a user can execute other programs in a convenient and efficient manner. It is responsible for managing system resources (in time and space), allocating resources to user programs, and monitoring the integrity of the computer system. It provides services to programs in order to make the programming task easier. These services can be invoked by the user program through “system calls”. Most of the code generated by upper levels is passed directly to the machine language level.

17 Assembly Language Level assembly language is a symbolic representation of the machine language level. The programmer must still be aware of the internal architecture of the target machine. In general, there is a 1-to-1 mapping between an assembly language statement and a machine language statement. Example PC machine language instruction: Equivalent PC Assembly Language instruction: ADD AX, BX (adds the contents of processor register “AX” to contents of processor register “BX” and stores the result in AX)

18 Hides the low level architectural details from the programmer. High level languages are generally machine (architecture) independent. Provides language constructs for specifying and manipulating complex data structures. Supports a variety of programming styles (i.e. linear, object oriented) High Level Language Level

19 High Level Language Level –Pascal, C, C++,Fortran, Java (compiled) –Perl, Python, JavaScript, Java (interpreted) –Hides the low level architectural details from the programmer. –High level languages are generally machine (architecture) independent. Example code to add two numbers together: int value1, value2; value1 = value1 + value2;