ELEN 033 Lecture #1 Tokunbo Ogunfunmi Santa Clara University.

Slides:



Advertisements
Similar presentations
CS 215 Introduction to Assembly Language and Computer Architecture.
Advertisements

Chapter 8: Central Processing Unit
CPU Review and Programming Models CT101 – Computing Systems.
Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from.
9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
Processor System Architecture
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
1 Registers and MAL - Part I. Motivation So far there are some details that we have ignored instructions can have different formats most computers have.
Computer Organization. This module surveys the physical resources of a computer system. –Basic components CPUMemoryBus I/O devices –CPU structure Registers.
Execution of an instruction
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Stored Program Concept: The Hardware View
The processor and main memory chapter 4, Exploring the Digital Domain The Development and Basic Organization of Computers.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
1 Lecture-2 CS-120 Fall 2000 Revision of Lecture-1 Introducing Computer Architecture The FOUR Main Elements Fetch-Execute Cycle A Look Under the Hood.
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
The central processing unit and main memory chapter 4, Exploring the Digital Domain The Development and Basic Organization of Computers.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Computer Science 210 Computer Organization The Instruction Execution Cycle.
CS102 Introduction to Computer Programming
Computer Organization Computer Organization & Assembly Language: Module 2.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Lecture 3. Diff b/w RAM and Registers Registers are used to hold data immediately applicable to the operation at hand Registers are used to hold data.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Machine Instruction Characteristics
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Instruction Set Architecture
Computer Systems Organization CS 1428 Foundations of Computer Science.
The variety Of Processors And Computational Engines CS – 355 Chapter- 4 `
Assembly Language A Brief Introduction. Unit Learning Goals CPU architecture. Basic Assembler Commands High level Programming  Assembler  Machine Language.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Science 101 Computer Systems Organization.
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Lecture 7: 9/17/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
Computer Structure & Architecture 7b - CPU & Buses.
© GCSE Computing Candidates should be able to:  describe the characteristics of an assembler Slide 1.
Electronic Analog Computer Dr. Amin Danial Asham by.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Our programmer needs to do this !
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
What is a program? A sequence of steps
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.
Arrays in MIPS Assembly Computer Organization and Assembly Language: Module 6.
CMSC 104, Lecture 061 Stored Programs A look at how programs are executed.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
1 What we want: execute High Level Language (HLL) programs What we have: computer hardware (a glorified calculator)
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CS161 – Design and Architecture of Computer Systems
Control Unit Lecture 6.
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
Computer Organization & Design Microcode for Control Sec. 5
Overview Introduction General Register Organization Stack Organization
Microprocessor and Assembly Language
Computer Science 210 Computer Organization
The Processor and Machine Language
Number Representations and Basic Processor Architecture
Figure 8.1 Architecture of a Simple Computer System.
Computer Science 210 Computer Organization
Chapter 5: Computer Systems Organization
von Neumann Architecture CPU
Multicycle Approach We will be reusing functional units
8-6 The Control Word The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse Fig
ECE 352 Digital System Fundamentals
Information Representation: Machine Instructions
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Presentation transcript:

ELEN 033 Lecture #1 Tokunbo Ogunfunmi Santa Clara University

Introduction l ELEN 033 (Introduction to Digital Signal Processing Systems) l Computer Science deals with the notions of algorithms and data structures. l Programming Language is an abstraction which makes algorithms and data structures explicit.

Algorithms l An algorithm is a program’s order of execution. Also, an algorithm is a procedural method used to solve problems. An algorithm is a finite set of steps each of which may require one or more operations. l An algorithm operates on data structures modifying the input to get the result

Data Structures l A data structure is an abstraction describing different characteristics of objects to be represented as units of information. l Examples of data structures are –integers, arrays, strings,queues, records, stacks, lists, trees etc.

Functions and Procedures l Functions and procedures are an abstraction used in programming to hide or reduce complexity. l A function or procedure is designed to solve a small and well-defined problem which is part of the larger problem to be solved.

Abstractions l An abstraction is a simplified picture of the relevant information that helps us deal with complexity. l Abstractions usually exclude extraneous details. l A model is an abstraction used to introduce new concepts to capture the essence of an idea without having to remember the details

Levels of Abstraction l Abstractions are used in everyday life –Several examples (e.g. maps, road signs, etc) –A road map contains limited information about certain roads –A map captures the notion of a route –Different models are appropriate for different problems

Primitives l Primitives are elementary operations associated with a model of an abstraction. l The primitives can be characterized in such ways that reflect cost and function in appropriate terms for the abstraction. For example, there are two diff. primitives for determining distance on a road map: –use scale factor or add up distances on routes.

Abstractions of MIPS RISC Architecture l MIPS RISC machine language l True Assembly Language (TAL) l MIPS Assembly Language (MAL) l Simple Abstract Language (SAL)

Computer Execution Basics l A computer’s processor (CPU) executes instructions. l Instructions specify ways that variables are manipulated and stored in the computer’s memory. l In a HLL, Variables are declared. In machine lang., variables are assigned. l Binding is the process of assigning a memory location to a variable.

What is a Computer Program? It consists of l A collection of variables l A set of instructions that act upon those variables l Rules for describing the order of execution of the instructions

How does a program run? l Each instruction is given a unique identifier or label (it is actually an address in program memory) l An implicit variable (actually called the Program Counter (PC)) exists which is initially assigned the label for the first instruction to be executed. l At any time, PC contains the address of the next instruction to be executed, except it is a branch instruction.

Program Execution l The program execution is a set of changes to the state of the computer. l The state of the computer consists of the variables and the Program Counter. l Execution of each instruction leads to modification of one or more variables until the last instruction which is usually a halt.

Memory Memory is an array of cells each assigned an address and capable of holding a value. We make the following distinctions: l Internal vs. External Memory l Random Access Memory (RAM) vs. Read- Only memory (ROM) l Program vs. Data memory

Program Execution Steps l CPU fetches instruction from memory pointed to by the PC l CPU decodes instruction l CPU loads (reads) the value of variables from memory l CPU executes instruction l CPU stores (writes) the result in memory l PC is incremented by one.

Types of Instructions Instructions can be of different types l Arithmetic (eg add A, B,C) l Logical (eg cmp A, B) l Control (eg beq A, B, br_target)

Summary l A computer’s architecture is described by it’s instruction set. l Programming language abstractions are ideal for hiding the details of a specific architecture while giving flexibility to the programmer. l Computers operate under the model of the instruction fetch/execute cycle.