Subroutines and Parameters Call and return Parameter passing Return values Leaf subroutines Combining C and assembly modules.

Slides:



Advertisements
Similar presentations
Elements of a Microprocessor system Central processing unit. This performs the arithmetic and logical operations, such as add/subtract, multiply/divide,
Advertisements

Lesson 1 Computers and Computer Systems
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
 Prof. Dr. M. H. Assal Introduction to Computer AS 15/10/2014.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Room: E-3-31 Phone: Dr Masri Ayob TK 2123 COMPUTER ORGANISATION & ARCHITECTURE Lecture 4: Computer Performance.
Types of Computers and Computer Systems.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-1 Chapter 1. Fundamentals of Computer Design Introduction –Performance Improvement due to (1).
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
MIS 175 Spring Learning Objectives When you finish this chapter, you will: –Recognize major components of an electronic computer. –Understand how.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
CSE378 MIPS ISA1 MIPS History MIPS is a computer family –R2000/R3000 (32-bit); R4000/4400 (64-bit); R8000; R10000 (64-bit) etc. MIPS originated as a Stanford.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Computer performance.
Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.
Computer Architecture CST 250 INTEL PENTIUM PROCESSOR Prepared by:Omar Hirzallah.
Computer Hardware. “ Copyright 2005 John Wiley & Sons Inc.” TG 12 Chapter Outline Introduction The Central Processing Unit Computer Memory Evolution of.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
1 COMP201 Computer Systems Dr Richard Nelson Room G.1.29.
Computer Processing of Data
ICMAP-Shakeel 1 Infrastructure and Operations. ICMAP-Shakeel 2 Performance Variable for IT Functional capabilities and limitations Price-performance ratio.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
CS 6461: Computer Architecture Fall 2013 History and Trends Instructor: Morris Lancaster.
Recap Technology trends Cost/performance Measuring and Reporting Performance What does it mean to say “computer X is faster than computer Y”? E.g. Machine.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
1 Recap (from Previous Lecture). 2 Computer Architecture Computer Architecture involves 3 inter- related components – Instruction set architecture (ISA):
The University of Adelaide, School of Computer Science
© 2005 By Prentic Hall1 1 University Of Palestine Essentials of Management Information Systems Kenneth C. Laudon, Jane P. Laudon Instructor: Mr. Ahmed.
CPS120: Introduction to Computer Science Introduction to Computers.
Advanced Computer Architecture Fundamental of Computer Design Instruction Set Principles and Examples Pipelining:Basic and Intermediate Concepts Memory.
Chapter 4 Information Technology in Business: Hardware.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Architecture CPSC 350
ICC Module 3 Lesson 1 – Computer Architecture 1 / 12 © 2015 Ph. Janson Information, Computing & Communication Computer Architecture Clip 6 – Logic parallelism.
Academic PowerPoint Computer System – Architecture.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
ICC Module 3 Lesson 1 – Computer Architecture 1 / 11 © 2015 Ph. Janson Information, Computing & Communication Module 3 : Systems.
Compsci Today’s topics l Operating Systems  Brookshear, Chapter 3  Great Ideas, Chapter 10  Slides from Kevin Wayne’s COS 126 course l Performance.
The ‘stuff you can touch’. Evolution of Computer Hardware Abacus counting machines Babbage’s difference engine Hollerith’s tabulating machine ABC computer.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
1 Lesson 1 Computers and Computer Systems Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Computer Architecture Furkan Rabee
“Today, less than $500 will purchase a personal computer that has more performance, more main memory, and more disk storage than a computer bought in.
Microprocessor and Microcontroller Fundamentals
Computer Architecture & Operations I
Architecture & Organization 1
Microcomputer Programming
Computer Architecture CSCE 350
عمارة الحاسب.
CS775: Computer Architecture
Computer Architecture
Architecture & Organization 1
CMSC 611: Advanced Computer Architecture
Chapter 1 Introduction.
Computer Evolution and Performance
COMS 361 Computer Organization
Introduction to Computer Systems
CMSC 611: Advanced Computer Architecture
Evolution of ISA’s ISA’s have changed over computer “generations”.
The University of Adelaide, School of Computer Science
Utsunomiya University
Evolution of ISA’s ISA’s have changed over computer “generations”.
Presentation transcript:

Subroutines and Parameters Call and return Parameter passing Return values Leaf subroutines Combining C and assembly modules

Separate Assembly Separate Assembly Language Modules –Command line parameters are passed like any others External Data

Example include(macro_defs.m) ! Some symbolic constants for readability. define(argc, i0) define(argv, i1) local_vars var(sum, 4) fmt:.asciz "sum is %d\n" ! Read-only string ! for printf...

.align 4 begin st %g0, [%fp + sum] ! sum = 0; b test ! while test nop ! Delay slot loop: add %fp, sum, %o0 ! &sum call summer ld [%argv], %o1 ! ptr to 1st num test: subcc %argc, 1, %argc ! argc--; bg,a loop add %argv, 4, %argv ! argv++;...

set fmt, %o0 call printf ! printf(fmt, sum); ld [%fp + sum], %o1 ! Delay slot end_fn

7. Instruction Encoding All instructions 32 bits long Three “formats”

Format 1 The call instruction 01displacement 30

Format 2 Branch and sethi 00immediate 22op2rd00displacement 22op2conda

Format 3 Arithmetic, Logical, Load, Store, etc. xxasiop3rdrs1rs20xxop3rdrs1immediate 131

Computer Architecture A Quantitative Approach (Based on Hennessy and Patterson, 3 rd Ed.)

Fundamentals of Computer Design Improvement in computer performance comes from two areas: –Technological improvements –Architectural improvements Since the 1980’s development of new architectures has been encouraged by: –High-level languages –Standardised operating systems

Background Since 1985 new architectures have led to startling performance improvements –Fig 1.1 (p. 3) Microprocessors rule! –Workstations and PC’s –Minicomputers –Mainframes –Supercomputers

Computing Markets Desktop machines –Price/performance is critical –Use newest technology Servers –Availability, scalability, throughput Embedded computers –Fastest growing market segment –Huge range of price/performance –Real-time requirements –Memory and power are limited

The Task of a Computer Designer Instruction Set Architecture Organisation Hardware } Architecture Must meet functional requirements: Intended application area Compatibility with existing software Support required for operating system(s) Standards (IEEE floating point, busses, networks, programming languages, etc.)

Task of a Designer (cont.) Strive to minimise complexity and cost/performance ratio Track future trends

Technology Trends Processors: –transistor counts increase +/–55% each year RAM: –rapid increase in density (but not speed) Disks: –density increases at 100+% each year Networks: –bandwidth increasing rapidly

Technology Trends (cont.) Life span of a processor +/–5 years –Must plan for changes in technologies –May design for future technology! Trends are continuous, but sometimes observed as discrete leaps –E.g. transistor density → on-chip caches

Power A major headache! Packing more transistors closer together greatly increases power consumption –1970’s microprocessors: a few tenths of a watt –2GHz P4: 100W

Cost/Price Trends Critical for desktop and embedded markets Time –“Learning curve” decreases price Volume Commodification –Competition in high volume markets decreases price

Cost Issues Complex and rapidly changing area Cost of integrated circuits –Significant impact on cost differentiation Overall (desktop PC): –Cabinet: 6% –Processor and motherboard: 37% Processor: 22% –I/O Devices: 37% –Software: 20%

Balancing Cost/Performance No one answer Supercomputers –Cost is of little concern Some embedded areas (e.g. cell phones) –Cost is critical Workstations and servers –Cost and performance must be balanced