SPARC’s INTEGER uNIT By Teddy Mopewou.

Slides:



Advertisements
Similar presentations
THE SPARC ARCHITECTURE Presented By M. SHAHADAT HOSSAIN NAIEEM TOURZO KHAN SARDER FERDOUS SADIQUE
Advertisements

Instruction Set Design
INSTRUCTION SET ARCHITECTURES
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
Systems Architecture Lecture 5: MIPS Instruction Set
Computer Organization and Architecture
THE SPARC ARCHITECTURE: THE SUPERSPARC MICROPROCESSOR Presented By OZAN AKTAN
Computer Organization and Architecture
Execution of an instruction
ARM programmer’s model and assembler Embedded Systems Programming.
1 RISC Machines l RISC system »instruction –standard, fixed instruction format –single-cycle execution of most instructions –memory access is available.
Instruction Set Design by Kip R. Irvine (c) Kip Irvine, All rights reserved. You may modify and copy this slide show for your personal use,
Machine Instruction Characteristics
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix A Authors: John Hennessy & David Patterson.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
CSC 3210 Computer Organization and Programming Chapter 8 MACHINE INSTRUCTIONS D.M. Rasanjalee Himali.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Execution of an instruction
Computer Architecture and Organization
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 21 & 22 Processor Organization Register Organization Course Instructor: Engr. Aisha Danish.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
1 The Instruction Set Architecture September 27 th, 2007 By: Corbin Johnson CS 146.
What is a program? A sequence of steps
Computer Organization Instructions Language of The Computer (MIPS) 2.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
Electrical and Computer Engineering University of Cyprus
Displacement (Indexed) Stack
Overview of Instruction Set Architectures
Computer Architecture Instruction Set Architecture
Control Unit Lecture 6.
Interesting Points of the SPARC Processor
A Closer Look at Instruction Set Architectures
William Stallings Computer Organization and Architecture 8th Edition
Introduction to 8086 Microprocessor
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
A Closer Look at Instruction Set Architectures
Morgan Kaufmann Publishers The Processor
Microcomputer Programming
William Stallings Computer Organization and Architecture 8th Edition
COMP4211 : Advance Computer Architecture
Processor Organization and Architecture
Instructions - Type and Format
Systems Architecture Lecture 5: MIPS Instruction Set
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
The University of Adelaide, School of Computer Science
Chapter 8 Central Processing Unit
Rocky K. C. Chang 6 November 2017
by Richard P. Paul, 2nd edition, 2000.
Architecture Overview
ECEG-3202 Computer Architecture and Organization
Introduction to Micro Controllers & Embedded System Design
Computer Instructions
Computer Architecture
ECEG-3202 Computer Architecture and Organization
CPU Structure CPU must:
CPU Structure and Function
Chapter 11 Processor Structure and function
COMPUTER ORGANIZATION AND ARCHITECTURE
COMPUTER ORGANIZATION AND ARCHITECTURE
Presentation transcript:

SPARC’s INTEGER uNIT By Teddy Mopewou

Introduction SPARC : a scalable processor architecture consists of a 32 bit integer unit, an IEEE-standard floating point unit and a user defined co-processor unit Each unit has its own set of registers enabling maximum concurrency between units Architecture assumes a linear, 32-bit virtual address space for user application programs

Design goals Define a very simple yet efficient architecture that could be implemented cost effectively in various technologies, where some of them could be faster and possibly less dense Support for high level languages and keeping compilers relatively simple

2. Integer UNIT SPARC defines 55 basic integers instructions and their variations Instructions include a comprehensive set of logical, arithmetic, control transfer, memory reference and multiprocessor instructions Support for AI languages is provided through tagged arithmetic instructions

2.1 registers SPARC is a register intensive architecture where a large bank of registers is divided into two sets of overlapping registers known as windows Architecture defines up to 32 windows. The number may vary across implementations The IU may contain from 40 to 520 registers Each window consists of 32 registers further divided into 8 global registers (same for all windows), 8 ins, 8 locals (unique to each window), and 8 outs. Adjacent windows share 8 registers (out-ins)

2.2 instructions All the spare instructions are 32 bits wide and are defined by one of the three formats namely The call instruction with a 30 bit word displacement SETHI and branch instructions which defines a 22-bit immediate field A “format 3” that encodes the remaining instructions including floating point and co-processor instructions.

2.2.1 Memory reference instructions Memory can be accessed only through load/store instructions, including floating point and co-processor load/stores, the IU generates the memory address and the IU, FPU or co- processor sources or sinks the data

2.2.2 Multiprocessor instructions SWAP and load-store instructions provide support for tightly coupled multiprocessors SWAP exchanges the contents of an IU register with a word from memory. It can be used in conjunction with a memory- mapped co-processor to implement synchronizing instructions such as the non-blocking “fetch and add” instructions LDSTUB reads a byte from memory into an IU register and then rewrites the same byte in memory to all ones. It can be used for blocking synchronization schemes, such as semaphores

2.2.3 Arithmetic/logical instructions These format 3 integer instructions perform either a logical or an arithmetic operation on two operands and optionally write the result into a destination register Arithmetic instructions have two types: Ones that update the integer condition codes and ones that do not. There are four condition codes, negative(N), zero (Z), overflow(V) and carry (C). They are stored in the processor state register

2.2.4 Tagged instructions These instructions provide support for languages that can benefit from operand tags, such as LISP and Smalltalk. They assume 30-bit left justified signed integers and use least significant two bits of a word as a tag. The tag add/substract instructions set the overflow condition code bit if either of the operand has a non zero tag. Two variants, TADDccTv and TSUBccTv, trap if the overflow bit has been set and can be used to detect operand type errors

2.2.5 Special instructions These instructions are used to read and write architecturally defined registers. Some of them are privileged and can be executed only in the supervisor mode SAVE and RESTORE instructions are used to decrement or increment the current window pointer They also operate like an ordinary ADD instruction and thus can also be used to automatically adjust a program stack pointer

2.2.6 Control transfer instructions These instructions consist of call, branch, jump and link and trap condition code instructions. SPARC uses the concept of delayed branches. For most of these instructions the instruction that follows the control transfer instruction is executed before program control is transferred to the target instruction

References R.B.K.DewarandM.Smosna[1990].Microprocessors:AProgrammer’s View, McGraw-Hill, Inc. R. B. Garner [1988]. “SPARC: The Scalable Processor Architecture”, SunTech- nology, vol. 1, no. 3, Summer, 1988, and M. Hall and J. Barry (eds.), The Sun Technology Papers, Springer-Verlag, 1990, pp. 75-99. R. B. Garner, A. Agrawal, F. Briggs, E. W. Brown, D. Hough, W. N. Joy, S. Kleiman, S. Muchnick, M. Namjoo, D. Patterson, J. Pendleton, K. G. Tan, and R. Tuck [1988]. “The Scalable Processor Architecture (SPARC)”, 33rd Annual IEEE Computer Conference (COMPCON), Feb., 1988, San Francisco, CA. J. Hennessy and D. Patterson [1990]. Computer Architecture: A Quantitative Approach, Morgan Kaufman Publishers, Inc, San Mateo, CA. IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std 754-1985, IEEE, New York, NY, 1985. M. Katevenis [1983]. Reduced Instruction Set Computer Architectures for VLSI, Ph.D. dissertation, Computer Science Div., Univ. of California, Berkeley, 1983. Also published by M.I.T. Press, Cambridge, MA, 1985. S. Kleiman and D. Williams [1988]. “SunOS on SPARC”, 33rd Annual IEEE Comp. Conf. (COMPCON), Feb., 1988, San Francisco, CA, also appeared in M. Hall and J. Barry (eds.), The Sun Technology Papers, Springer-Verlag, 1990, pp. 13-27. S. Muchnick [1988]. “Optimizing Compilers for SPARC”, Sun Technology, sum- mer 1988, pp. 64-71; also appeared in W. Stallings (ed.), Reduced Instruc- tion Set Computers (2nd edition), IEEE Computer Society Press, 1990, pp. 160-173, and M. Hall and J. Barry (eds.), The Sun Technology Papers, Springer- Verlag, 1990, pp. 41-68. D. Patterson [1985]. “Reduced Instruction Set Computers”, Communications of the ACM, vol. 28, no. 1, Jan. 1985.