1 / 17

ELEN 033 Lecture #1

ELEN 033 Lecture #1. Tokunbo Ogunfunmi Santa Clara University. Introduction. ELEN 033 (Introduction to Digital Signal Processing Systems) Computer Science deals with the notions of algorithms and data structures.

olencia
Download Presentation

ELEN 033 Lecture #1

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. ELEN 033 Lecture #1 Tokunbo Ogunfunmi Santa Clara University

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

  3. Algorithms • 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. • An algorithm operates on data structures modifying the input to get the result

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

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

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

  7. Levels of Abstraction • 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

  8. Primitives • Primitives are elementary operations associated with a model of an abstraction. • 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.

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

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

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

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

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

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

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

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

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

More Related