VAX. Agenda VAX and its History VAX ISA VAX Virtual Address Microcode.

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
CS1104: Computer Organisation School of Computing National University of Singapore.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
1 Procedure Calls, Linking & Launching Applications Lecture 15 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
10/9: Lecture Topics Starting a Program Exercise 3.2 from H+P Review of Assembly Language RISC vs. CISC.
ELEN 468 Advanced Logic Design
Systems Architecture Lecture 5: MIPS Instruction Set
INTRODUCTION TO THE ARM PROCESSOR – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Tuan Tran. What is CISC? CISC stands for Complex Instruction Set Computer. CISC are chips that are easy to program and which make efficient use of memory.
VAX Computer Architecture Michael Collins CS350 – Computer Organization Section 1 – Spring 2002.
CSE378 ISA evolution1 Evolution of ISA’s ISA’s have changed over computer “generations”. A traditional way to look at ISA complexity encompasses: –Number.
CIS429/529 ISA - 1 Instruction Set Architectures Classification Addressing Modes Types of Instructions Encoding Instructions MIPS64 Instruction Set.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
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,
VAX-11/780 – A Virtual Address Extension to the DEC PDP-11 Family ( Author : W.D.Strecker ) By Padmaja chowti.
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix A Authors: John Hennessy & David Patterson.
1 © 2004 Hill, from Falsafi, Hill, Hoe, Lipasti, Shen, Smith, Sohi, Vijaykumar, & Wood  Chapter 2: Instruction Sets CS/ECE/752 Vax & Emer/Clark Instructor:
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
April 23, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Assemblers, Linkers, and Loaders * Jeremy R. Johnson Mon. April 23,
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
VAX-11/780 A VIRTUAL ADDRESS EXTENSION TO THE DEC PDP-11 FAMILY VAX-11/780 A VIRTUAL ADDRESS EXTENSION TO THE DEC PDP-11 FAMILY W.D.STRECKER W.D.STRECKER.
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
MIPS Processor Chapter 12 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
ECE 15B Computer Organization Spring 2011 Dmitri Strukov Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy,
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 5: MIPS Instructions I
Instruction Sets: Addressing modes and Formats Group #4  Eloy Reyes  Rafael Arevalo  Julio Hernandez  Humood Aljassar Computer Design EEL 4709c Prof:
1  1998 Morgan Kaufmann Publishers Value of control signals is dependent upon: –what instruction is being executed –which step is being performed Use.
Addressing Modes and Formats
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 7, 8 Instruction Set Architecture.
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
Computer Architecture & Operations I
Computer Architecture & Operations I
A Closer Look at Instruction Set Architectures
15-740/ Computer Architecture Lecture 4: ISA Tradeoffs
ELEN 468 Advanced Logic Design
Computer Organization & Design Microcode for Control Sec. 5
Overview Introduction General Register Organization Stack Organization
William Stallings Computer Organization and Architecture 8th Edition
Overview Control Memory Comparison of Implementations
The University of Adelaide, School of Computer Science
THE sic mACHINE CSCI/CMPE 3334 David Egle.
Instructions - Type and Format
Lecture 4: MIPS Instruction Set
The Multicycle Implementation
Computer Organization and Design
Chapter 8 Central Processing Unit
The Multicycle Implementation
Evolution of ISA’s ISA’s have changed over computer “generations”.
Evolution of ISA’s ISA’s have changed over computer “generations”.
Chapter 7 Microarchitecture
Chapter 7 Microarchitecture
Evolution of ISA’s ISA’s have changed over computer “generations”.
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
Interrupts and exceptions
Evolution of ISA’s ISA’s have changed over computer “generations”.
Presentation transcript:

VAX

Agenda VAX and its History VAX ISA VAX Virtual Address Microcode

What is VAX? Developed by Digital Equipment Corporation (DEC) in the mid-1970s A 32-bit CISC orthogonal instruction set A commercial pioneer in using virtual address Replace 16-bit PDP-11 ISA 15 – 20 year architecture life span Compatible with PDP-11 software Virtual Address eXtension

VAX History A single ISA with diversified and evolved hardware implementations 1977 – VAX 11/780 TTL 1980 – VAX 11/750 TTL 1980 – VAX 11/730 TTL 1984 – VAX 8600 ECL 1985 – MicroVAX II MicroVAX chip 1986 – VAX 8800 ECL 1987 – MicroVAX 3600 CVAX chip VAX station – VAX6600 NVAX chip 1989 – VAX9000 ECL First VAX 11/780, installed in CMUVAX 8800MicroVAX IIVAX station 2000

VAX ISA Summary 32-bit CISC Architecture bit registers (r0, r1,.., r15)  r12, r13, r14, r15 reserved for AP, FP, SP, PC 300+ variable length instructions 22 addressing modes ISA Designed for Compiler Simplicity and Reduced Code Size

Note that the VAX concept of a word differs from the word we refer to in MIPS or class. A VAX Longword is equivalent to one of our 4 byte words. Though VAX is a 32-bit Architecture, the instructions can operate on multiple other data formats. Most familiarly: Integers/Floats of varying sizes Character String Data Types Rich hardware data types to simplify compiler

Sample Instructions (1/3)

Sample Instructions (2/3)

Sample Instructions (3/3)

Instruction Variants  Operation + Data type + # of Operands Operation – add, sub … Data type – byte, word, dword, # of operands – 1 ~ 3 register and 1~3 memory (depends on operations) One Sample ── ADD The total combination of instructions is 304+, not including address mode variances!

Addressing Modes General Register Addressing  Literal (3 types)  Register  Register deferred  Autodecrement and Autoincrement  Autoincrement deferred  Byte, Word, Longword displacement  Byte, Longword displacement deferred  Indexed Program Counter Addressing  Immediate  Absolute  Byte relative  Byte relative deferred  Word relative  Word relative deferred  Longword relative  Longword relative deferred Register – RegisterRegister–MemoryMemory – Memory Total 22 Addressing Modes

Address mode syntax examples Figure E.2 From Appendix E

Instruction Encoding A one to two byte OPCODE specifies the operation, number of operands, and data type After the OPCODE has indicated the number of operands, each operand is represented by an Operand Specifier. The Operand Specifier indicates the addressing mode for the operand and the first parameter. Any further parameters must then be read in following their designated Operand Specifier.

Instruction Encoding 1 or 2 byte OPCODE determines the number of Operand Specifiers. - VAX’s 300+ instructions require 9 bits - The most popular instructions use only OPCODE of 1 byte length Each Operand Specifier is also a variable length field with an Address Mode Specifier followed by any of the mode specific required information. Mode Parameter M Address Mode Specifier Mode Parameter OPCODE Operand Specifier Operand Specifier 3 VAXInstructionVAXInstruction Byte N VAX is variable length encoding

Instruction Encoding - LOAD MIPS: lw r5, 6(r1) LW OPCODE MOVL OPCODE(r1)6r5 1 byte 1 byte 1 byte 1 byte = 32 bits r5r16 6 bits 5 bits 5 bits 16 bits = 32 bits VAX: movl 6(r1), r5

Call/Ret Instructions “calls” VAX Instruction  Multi-cycle instruction  Intended to automate and regulate the methods for preserving state before a call  Uses user-defined bitmask to determine which registers to save  Updates AP and FP to point to current frame’s parameters  Updates PC to exec new procedure “ret” VAX Instruction  Multi-cycle instruction  Intended to automate and regulate the restoration of saved state after the return of a call  Does the opposite of the “calls” VAX Instruction These instructions can be highly inefficient.

Total Code Size: MIPS = 15*4 = 60 bytes VAX = = 27 bytes Code Density Heavy code density due to CALL/RET inst and Addressing mode MIPS: int v[] = $4 int k = $5 VAX: int v[] = 4(ap) int k = 8(ap) Procedure Body Memory Access: MIPS = 4 VAX = 7

Virtual Address Layout 4GB Virtual Address Space (2GB Shared), 512Bytes Page Size

Virtual Address Extension Space Using mem. management with page tables, protection, and page faults VAX maps physical memory to a 32-bit (4GB) address space It is divided as shown in the figure to the right: System Space P1 P2 P3 0 7FFFFFFF FFFFFFFF heap stack heap stack heap Application Space Recreated using Figure 6-1 from VAX Architecture Handbook

Virtual Address Translation Each Region (S, P0, P1) has One-Level Page Table. System Page Table (S) is stored in physical memory directly. User Page Tables (P0, P1) are stored in S Region virtual address space. PTE PTE Address

Microcode - How to Control Circuit? Find a generic & simple way to control circuit? Each instruction will be translated to a sequence of control signals. Combination Logic An Accumulator Example

Microcode - Concept Transform control signals sequence to data

Horizontal & Vertical Microcode Horizontal Microcode Control field for each control point in the machine Vertical Microcode (two-level) Compact & simple microinstructions Local decoded to generate all control points µseq µaddr A-mux B-mux bus enables register enables … Load Operand 1 … Load Operand n Opcode Operation ISA Instruction Local Control Signals Same ISA can have different microcode designs

Microcode - Programming Sample microcode for MicroVAX: Use microcode routines to implement ISA instructions

Microprogrammed Pipeline Microcode optimization, no hardware cost, horizontal microcode only.

Micropipeline Translate every CISC instruction to RISC-like microinstructions. Pipeline microinstructions like MIPS ADDL2 byte-disp(R1), R2 FIRST OPERAND: VA ← R1+disp, READ to MD0, New Decode SECOND OPERAND: Rptr ← 2, MD1 ← R[Rptr], New Decode ADDL2: R[Rptr] ← MD0 + MD1, New Decode Start of next Instruction: …

Macropipeline First, pipeline at VAX instruction level Second, pipeline at microcode instruction level in some macro stages. Instruction Flow Execution Macro Stages Microcode & Micropipeline Stage

Summary VAX and its history Virtual Address eXtension, classic VAX VAX ISA 32-bit Variable length CISC ISA VAX Virtual Address 4GB VA, 1GB PA, 512bytes page size Microcode A generic way to control circuit Microcode Pipeline Microprogrammed pipeline, Micropipeline, Macropipeline

Thank you.

Project References Hennessy, John L., and David A. Patterson. Computer Architecture A Quantitative Approach. 3. San Francisco: Morgan Kaufmann Publishers, VAX Architecture Handbook. Digital Equipment Corporation, 1981.