Alpha chip. addq Register1, Register2, Register3

Similar documents
Computer Organization. and Instruction Execution. August 22

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Instruction Set Architecture (ISA)

CHAPTER 7: The CPU and Memory

Let s put together a Manual Processor

CPU Organization and Assembly Language

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

Central Processing Unit (CPU)

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Central Processing Unit

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

(Refer Slide Time: 00:01:16 min)

Computer organization

Microprocessor & Assembly Language

CHAPTER 4 MARIE: An Introduction to a Simple Computer

MICROPROCESSOR AND MICROCOMPUTER BASICS

Intel 8086 architecture

EC 362 Problem Set #2

PART B QUESTIONS AND ANSWERS UNIT I

An Overview of Stack Architecture and the PSC 1000 Microprocessor

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Basic Computer Organization

Chapter 2 Logic Gates and Introduction to Computer Architecture

EE361: Digital Computer Organization Course Syllabus

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

LSN 2 Computer Processors

Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s)

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Computer Organization and Architecture

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

CPU Organisation and Operation

MACHINE ARCHITECTURE & LANGUAGE

Chapter 5 Instructor's Manual

What to do when I have a load/store instruction?

1 Classical Universal Computer 3

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Chapter 1 Computer System Overview

İSTANBUL AYDIN UNIVERSITY

A s we saw in Chapter 4, a CPU contains three main sections: the register section,

Summary of the MARIE Assembly Language

Instruction Set Design

The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway

OC By Arsene Fansi T. POLIMI

Putting it all together: Intel Nehalem.

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

a storage location directly on the CPU, used for temporary storage of small amounts of data during processing.

COMP 303 MIPS Processor Design Project 4: MIPS Processor Due Date: 11 December :59

Administrative Issues

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Computer Systems Structure Main Memory Organization

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

1 Computer hardware. Peripheral Bus device "B" Peripheral device. controller. Memory. Central Processing Unit (CPU)

TIMING DIAGRAM O 8085

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Introduction to RISC Processor. ni logic Pvt. Ltd., Pune

ARM Microprocessor and ARM-Based Microcontrollers

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Instruction Set Architecture

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

How It All Works. Other M68000 Updates. Basic Control Signals. Basic Control Signals

A SystemC Transaction Level Model for the MIPS R3000 Processor

Computer Architecture TDTS10

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

A3 Computer Architecture

on an system with an infinite number of processors. Calculate the speedup of

picojava TM : A Hardware Implementation of the Java Virtual Machine

PROBLEMS #20,R0,R1 #$3A,R2,R4

Chapter 4 Lecture 5 The Microarchitecture Level Integer JAVA Virtual Machine

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?


Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes:

Instruction Set Architecture (ISA) Design. Classification Categories

Levels of Programming Languages. Gerald Penn CSC 324

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Computer Architecture Basics

Chapter 2 Heterogeneous Multicore Architecture

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

In the Beginning The first ISA appears on the IBM System 360 In the good old days

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

PROBLEMS. which was discussed in Section

Quiz for Chapter 1 Computer Abstractions and Technology 3.10

l C-Programming l A real computer language l Data Representation l Everything goes down to bits and bytes l Machine representation Language

Processor Architectures

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Chapter 7D The Java Virtual Machine

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

CHAPTER 6: Computer System Organisation 1. The Computer System's Primary Functions

1 The Java Virtual Machine

Intel StrongARM SA-110 Microprocessor

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

VLIW Processors. VLIW Processors

PROBLEMS (Cap. 4 - Istruzioni macchina)

An Introduction to the ARM 7 Architecture

MACHINE INSTRUCTIONS AND PROGRAMS

Q. Consider a dynamic instruction execution (an execution trace, in other words) that consists of repeats of code in this pattern:

EE282 Computer Architecture and Organization Midterm Exam February 13, (Total Time = 120 minutes, Total Points = 100)

Transcription:

11 Alpha chip. Alpha was designed by Digital as a 64-bit (load and store) architecture. All registers are 64 bits in length. All operations (data manipulation) are performed between registers. External access are only memory operations such as loads or stores Instructions are coded as 32 bits (longword / 4 bytes) sequences. Is it confusing? Example: addq Register1, Register2, Register3 Stands for the addition between what is in register1 and register2 with the results being contained by register3. Addq stands for addition between quadwords (e.g 64 bits long number). Therefore each register contains a quadword usually displayed in its hexadecimal form: Register1 contents=0x123456789abcdef0 just an example The instruction has to be coded to be interpreted and executed by the processor. It is coded as 32-bit long value which will contain identification code (usually called opcode) of the operation performed and information on which registers are involved. The above instruction is coded as 0x40220403

12 Functionnal diagram of an alpha EV-7 processor Features: Two duplicate integer register units. Four integer Add/Logical units (exchange values in one cycle if required). Two load/store units draw on a 64 KB instruction and a 64 KB data cache. 80 integer and 72 floating-point registers. 4 dual channels (North, East, South, West) from the chip to interconnect it with neighbouring chips at a bandwidth of 1.6 GB/s per single channel. direct I/O dual link from the chip has a bandwidth of 1.6 GB/s The chip is expected to ship first at a clock frequency of 1-1.2 GHz.

13 Simplified Functional block diagram of the 21164 Alpha chip integer registers instruction cache integer unit floating point unit floating point registers instruction fetch/decode unit load/store unit data cache Features of the 21164 Alpha chip 64 bit RISC architecture 32 integer registers 32 entry, 64 bit floating-point register file 8 KB, direct-mapped, L1 instruction cache (onchip) 8 KB, direct-mapped, write through L1 data cache (onchip) 96 KB, L2 data and instruction cache (onchip) Memory hierarchy

14 ALU Units: Arithmetic/Logic Unit where arithmetic and logical operations of the CPU are performed. Different units are in charge of integer, floating points and address operations. Integer unit: This unit carries out arithmetic (addition, subtraction) and logic (shift left or right) operations on integers. Integer registers: Integer registers store the integers used during operations Instruction cache: The instruction cache stores the instructions to be executed by the CPU. Data cache: Data cache holds the values of the variables in the programs. Local memory, which may be addressed several times faster than the primary memory. Used to speed up time-consuming tasks such as loading/unloading instructions/data from memory. The bigger, the better (16 KB -> 112 KB so far) Load/store unit: This unit is responsible for controlling the data transfer between the data cache and the register. Instruction fetch/decode unit (control unit): This unit fetches the instructions from the instruction cache. The instructions are interpreted; and, according to the instructions, the unit issues signals to the other components in the CPU to control their operations. Program counter (PC) in this unit. The PC stores the address of the next instruction to be executed. The unit fetches the next instruction according to this address. After an instruction is fetched, the value of the PC is updated to point to the next instruction in the memory.

15 Class-like definition of the Alpha Architecture Alpha was designed by Digital as a 64-bit (load and store) architecture. All registers are 64 bits in length. 32 integer registers and 32 floating point registers. All instructions are 32 bits in length (longword / 4 bytes). All operations are performed between 64-bit registers. Memory operations are either loads or stores. There is a program counter (PC) register, which contains the memory address of the next instruction, 32 integer registers to contain integer data, and 32 floating point registers, to contain floating point data. CPU is roughly corresponding to the following data structure: class CPU { Quadword pc; Quadword[] intreg = new Quadword[ 32 ]; Quadword[] floatreg = new Quadword[ 32 ]; // and some special registers } intreg[ 31 ] and floatreg[ 31 ] always return zero if read, and writing to them has no effect. A way to store 0 somewhere (will see later) Memory corresponds to an array of bytes. byte[] memory = new byte[... ];

16 A computer executes instructions. The instructions are stored in computer memory. The program counter register contains the address of the next instruction. The CPU loops, obtaining an instruction, incrementing the program counter, decoding and executing the instruction. while ( true ) { Longword instruction = getlongwordat( pc ); pc = pc + 4; decode the instruction; obtain the operands of the instruction; perform the operation of the instruction; save the result; } On the Alpha, each instruction is stored in a longword (32 bits or 4 bytes). Instructions must be aligned (stored at an address divisible by 4). Normally, instructions at successive addresses are executed in sequence. The program counter is incremented by the size of an instruction after loading the instruction into the CPU Some instructions (branch instructions) can modify the PC. The way to deviate from a straight line path of execution to create loops, if statements, etc. The Program Counter (PC) is a special register that addresses the instruction stream. As each instruction is decoded, the PC is advanced to the next sequential instruction. This is referred to as the updated PC. Any instruction that uses the value of the PC will use the updated PC. This quantity is a longword-aligned byte address. The PC is an implied operand on conditional branch and subroutine jump instructions. The PC is not accessible as an integer register.