Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patterson and Hennessy Text.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Fetch Execute Cycle – In Detail -
1 Lecture 3: MIPS Instruction Set Today’s topic:  More MIPS instructions  Procedure call/return Reminder: Assignment 1 is on the class web-page (due.
Central Processing Unit
CS364 CH16 Control Unit Operation
Lecture 6: MIPS Instruction Set Today’s topic –Control instructions –Procedure call/return 1.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /17/2013 Lecture 12: Procedures Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
Ch. 8 Functions.
The University of Adelaide, School of Computer Science
Microprocessor.  The CPU of Microcomputer is called microprocessor.  It is a CPU on a single chip (microchip).  It is called brain or heart of the.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patternson and Hennessy Text.
Computer Organization. This module surveys the physical resources of a computer system. –Basic components CPUMemoryBus I/O devices –CPU structure Registers.
Stacks and HeapsCS-3013 A-term A Short Digression on Stacks and Heaps CS-3013 Operating Systems A-term 2008 (Slides include materials from Modern.
Digression on Stack and Heaps CS-502 (EMC) Fall A Short Digression on Stacks and Heaps CS-502, Operating Systems Fall 2009 (EMC) (Slides include.
CS61C Review Midterm Spring Five Elements of a Computer Control Datapath Memory Input Output.
Intro to Computer Architecture
Stored Program Concept: The Hardware View
Stacks and HeapsCS-502 Fall A Short Digression Stacks and Heaps CS-502, Operating Systems Fall 2007 (Slides include materials from Operating System.
CPU Structure and Instruction Execution Timothy C. Rice Jr., MIT.
Computer Organization - Syscalls David Monismith Jan. 28, 2015 Based on notes from Patterson and Hennessy Text and from Dr. Bill Siever.
13/02/2009CA&O Lecture 04 by Engr. Umbreen Sabir Computer Architecture & Organization Instructions: Language of Computer Engr. Umbreen Sabir Computer Engineering.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patterson and Hennessy Text.
Runtime Environments Compiler Construction Chapter 7.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Stack Stack Pointer A stack is a means of storing data that works on a ‘Last in first out’ (LIFO) basis. It reverses the order that data arrives and is.
Week 2.  Understand what the processor is and what it does.  Execute basic LMC programs.  Understand how CPU characteristics affect performance.
CPU Design. Introduction – The CPU must perform three main tasks: Communication with memory – Fetching Instructions – Fetching and storing data Interpretation.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 7: MIPS Instructions III
CSCI 211 Intro Computer Organization –Consists of gates for logic And Or Not –Processor –Memory –I/O interface.
Model Computer CPU Arithmetic Logic Unit Control Unit Memory Unit
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patternson and Hennessy Text.
Lecture 4: MIPS Instruction Set
Computer Organization – Memory Access David Monismith Jan. 30, 2015 Based upon notes by Dr. Bill Siever and the Patterson and Hennessy Text.
Fetch-execute cycle.
CMSC 150 PROGRAM EXECUTION CS 150: Wed 1 Feb 2012.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patternson and Hennessy Text.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patternson and Hennessy Text.
CS61C L20 Datapath © UC Regents 1 Microprocessor James Tan Adapted from D. Patterson’s CS61C Copyright 2000.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patternson and Hennessy Text.
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.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patterson and Hennessy Text.
Copyright 2006 by Timothy J. McGuire, Ph.D. 1 MIPS Programming Model CS 333 Sam Houston State University Dr. Tim McGuire.
LECTURE 3 Translation. PROCESS MEMORY There are four general areas of memory in a process. The text area contains the instructions for the application.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patterson and Hennessy Text.
3.1.4 Hardware a. describe the function and purpose of the control unit, memory unit and ALU (arithmetic logic unit) as individual parts of a computer;
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and from the Patterson and Hennessy Text.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patternson and Hennessy Text.
Computer Organization Exam Review CS345 David Monismith.
Lecture 3 Translation.
Lecture 15: Basic CPU Design
ENERGY 211 / CME 211 Lecture 25 November 17, 2008.
Systems Architecture I
Assembly Programming using MIPS R3000 CPU
Data Representation – Instructions
The fetch-execute cycle
Systems Architecture II
The University of Adelaide, School of Computer Science
Systems Architecture I
Lecture 5: Procedure Calls
Assembly Programming using MIPS R3000 CPU
Systems Architecture I
A Top-Level View Of Computer Function And Interconnection
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Instruction execution and ALU
Computer Architecture
Run-time environments
Week 5 Computers are like Old Testament gods; lots of rules and no mercy. Joseph Campbell.
Topic 2b ISA Support for High-Level Languages
Presentation transcript:

Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and notes from the Patterson and Hennessy Text

Overview Last time: Coverage of floating point instructions This time: Review of floating point instructionsCoverage of MIPS memory and the Program Counter

Program Counter Recall that computers use a stored program model Instructions and data are stored in memory The next instruction to run is selected and stored in the program counter This instruction is fetched from memory, decoded, and executed The Program Counter (PC) is a special register that determines which instructionto run next. The PC is incremented by 4 after fetching the next instruction to run. It is not possible to directly modify the value within the PC, but it can bemodified indirectly.

Program Counter Branches, jumps, and returns indirectly change the value of the PC since theymove to a different location in the instruction memory. From a hardware (HW) perspective, the PC provides the first portion of the fetch, decode, execute cycle. The PC provides the address of the next instruction to fetch from memory. Thisinstruction is fetched and then decoded by the Control Unit. The Control Unit signals the executable components of the CPU including the ALU and Registers, and data memory access.

Assembler memory usage The "green sheet" at the front of the textbook shows how memory is allocated inthe MIPS processor. Memory is segmented or broken into parts with specific uses 0x0 to 0x is reserved for use by the Operating System Note that instructions for input, output, terminating a program, sound, etc., areprovided by the operating system, not the CPU. 0x to 0x is reserved for instructions - that is, the.text section of your program. This leaves enough room for 66,060,028 instructions. Many constants may exist here, too.

Assembler memory usage 0x to 0x is the static data section, which is used for data that must exist for the entire runtime of a program such as globals, initialization data for arrays, predefined strings, etc. 0x onwards - dynamic data segment - grows downward in memory. – This is also referred to as the heap or free storage. – Data allocated with new or malloc is stored here. – This area in memory is used to store dynamically allocated memory. 0xfffffffc up to 0x the stack - grows upward in memory toward the free store. – Data local to each function/subroutine/method is stored here. – This includes local variables.

Next Class Next time we'll continue to discuss memory and we will start to look at functions.