CISC Attributes. E.g. Pentium is considered a modern CISC processor

Similar documents
Introduction. 3 major parts of CPU : Fig Design Examples of simple CPU. In this chapter : Chap. 8. Chap. 8 Central Processing Unit

Computer System Architecture

Chapter 13 Reduced Instruction Set Computers

Evolution of ISAs. Instruction set architectures have changed over computer generations with changes in the

CISC / RISC. Complex / Reduced Instruction Set Computers

Reduced Instruction Set Computer

William Stallings Computer Organization and Architecture. Chapter 12 Reduced Instruction Set Computers

Chapter 2 Logic Gates and Introduction to Computer Architecture

Typical Processor Execution Cycle

New Advances in Micro-Processors and computer architectures

instruction set computer or RISC.

Chapter 5:: Target Machine Architecture (cont.)

Hakim Weatherspoon CS 3410 Computer Science Cornell University

Lecture 4: Instruction Set Design/Pipelining

RISC, CISC, and ISA Variations

Reduced Instruction Set Computers

Review of instruction set architectures

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

RISC Principles. Introduction

RISC Processors and Parallel Processing. Section and 3.3.6

EC 413 Computer Organization

Overview. EE 4504 Computer Organization. This section. Items to be discussed. Section 9 RISC Architectures. Reading: Text, Chapter 12

Microprocessor Architecture Dr. Charles Kim Howard University

Computer Organization CS 206 T Lec# 2: Instruction Sets

RISC & Superscalar. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 12. Instruction Pipeline no hazard.

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD 17 April 2018

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Lecture 4: RISC Computers

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

Computer Systems Laboratory Sungkyunkwan University

Digital System Design Using Verilog. - Processing Unit Design

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements

55:132/22C:160, HPCA Spring 2011

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions

The Single Cycle Processor

Outline. What Makes a Good ISA? Programmability. Implementability

Chapter 2A Instructions: Language of the Computer

EKT 303 WEEK Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)

Computer Architectures

Instruction Set Architectures. Part 1

CSCI 402: Computer Architectures. Instructions: Language of the Computer (4) Fengguang Song Department of Computer & Information Science IUPUI

Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University. See P&H Appendix , and 2.21

Instruction Set Architecture

Lecture 4: Instruction Set Architecture

Lecture 4: RISC Computers

Instruction Set Principles. (Appendix B)

General Purpose Processors

Chapter 2: Instructions How we talk to the computer

Chapter 04: Instruction Sets and the Processor organizations. Lesson 20: RISC and converged Architecture

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

ELC4438: Embedded System Design Embedded Processor

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

Topics in computer architecture

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

Previously. Principles for Modern Processor. History 1. Fetch execute cycle Pipelining and others forms of parallelism Basic architecture

COMPUTER ORGANIZATION & ARCHITECTURE

ECE 486/586. Computer Architecture. Lecture # 7

MICROPROCESSOR TECHNOLOGY

Instruction Set Architecture

Computer Architecture

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen

Instruction Set Architecture (ISA)

ECE232: Hardware Organization and Design

Outline. What Makes a Good ISA? Programmability. Implementability. Programmability Easy to express programs efficiently?

Complex Instruction Sets

CHAPTER 5 A Closer Look at Instruction Set Architectures

CHAPTER 5 A Closer Look at Instruction Set Architectures

Supplement for MIPS (Section 4.14 of the textbook)

Instruction Set Architectures. CS301 Prof. Szajda

Instruction Set Architecture. "Speaking with the computer"

CSEE 3827: Fundamentals of Computer Systems

CS222: Dr. A. Sahu. Indian Institute of Technology Guwahati

MARIE: An Introduction to a Simple Computer

Modern Design Principles RISC and CISC, Multicore. Edward L. Bosworth, Ph.D. Computer Science Department Columbus State University

EC-801 Advanced Computer Architecture

Computer Architecture, RISC vs. CISC, and MIPS Processor

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

ECE 486/586. Computer Architecture. Lecture # 8

Chapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes

Architecture I. Computer Systems Laboratory Sungkyunkwan University

Cycles Per Instruction For This Microprocessor

Real instruction set architectures. Part 2: a representative sample

Figure 1-1. A multilevel machine.

PHBREAK: RISC ISP architecture the MIPS ISP. you read: text Chapter 3 CS 350

Central Processing Unit

Lecture Topics. Branch Condition Options. Branch Conditions ECE 486/586. Computer Architecture. Lecture # 8. Instruction Set Principles.

Chapter 4. MARIE: An Introduction to a Simple Computer

More advanced CPUs. August 4, Howard Huang 1

COE608: Computer Organization and Architecture

3.1 Description of Microprocessor. 3.2 History of Microprocessor

An Overview of ISA (Instruction Set Architecture)

Lecture 3. Pipelining. Dr. Soner Onder CS 4431 Michigan Technological University 9/23/2009 1

Computer Organization and Design THE HARDWARE/SOFTWARE INTERFACE

Transcription:

What is CISC? CISC means Complex Instruction Set Computer chips that are easy to program and which make efficient use of memory. Since the earliest machines were programmed in assembly language and memory was slow and expensive, the CISC philosophy was commonly implemented in large computers as the PDP-11 and the DECsystem 10 and 20 machines. Most common microprocessor designs such as the Intel 80x86 and Motorola 68K series followed the CISC philosophy. CISC was developed to make compiler development simpler. It shifts most of the burden of generating machine instructions to the processor. For example, instead of having to make a compiler write long machine instructions to calculate a square-root, a CISC processor would have a built-in ability to do this.

CISC Attributes CISC instructions sets have some common characteristics: A 2-operand format, where instructions have a source and a destination. Register to register, register to memory, and memory to register commands. Variable length instructions where the length often varies according to the addressing mode Instructions which require multiple clock cycles to execute. E.g. Pentium is considered a modern CISC processor

Most CISC hardware architectures have several characteristics in common: Complex instruction-decoding logic, driven by the need for a single instruction to support multiple addressing modes. A small number of general purpose registers. This is the direct result of having instructions which can operate directly on memory and the limited amount of chip space not dedicated to instruction decoding, execution, and microcode storage. Several special purpose registers. Many CISC designs set special registers for the stack pointer, interrupt handling, and so on. A 'Condition code" register which is set as a side-effect of most instructions. This register reflects whether the result of the last operation is less than, equal to, or greater than zero and records if certain error conditions occur.

At the time of their initial development, CISC machines used available technologies to optimize computer performance. Microprogramniing is as easy as assembly language to implement, and much less expensive than hardwiring a control unit. The ease of microcoding new instructions allowed designers to make CISC machines upwardly compatible: a new computer could run the same programs as earlier computers because the new computer would contain a superset of the instructions of the earlier computers. As each instruction became more capable, fewer instructions could be used to implement a given task. This made more efficient use of the relatively slow main memory. Because microprogram instruction sets can be written to match the constructs of high-level languages, the compiler does not have to be as complicated.

Complex Instruction Set Computer (CISC) Characteristics Major characteristics of a CISC architecture»1) A large number of instructions - typically from 100 to 250 instruction»2) Some instructions that perform specialized tasks and are used infrequently»3) A large variety of addressing modes - typically from 5 to 20 different modes»4) Variable-length instruction formats»5) Instructions that manipulate operands in memory (RISC in register)

What is RISC? RISC? RISC, or Reduced Instruction Set Computer. is a type of microprocessor architecture that utilizes a small, highly-optimized set of instructions, rather than a more specialized set of instructions often found in other types of architectures. History The first RISC projects came from IBM, Stanford, and UC-Berkeley in the late 70s and early 80s. The IBM 801, Stanford MIPS, and Berkeley RISC 1 and 2 were all designed with a similar philosophy which has become known as RISC. Certain design features have been characteristic of most RISC processors: one cycle execution time: RISC processors have a CPI (clock per instruction) of one cycle. This is due to the optimization of each instruction on the CPU and a technique called PIPELINING pipelining: a techique that allows for simultaneous execution of parts, or stages, of instructions to more efficiently process instructions; large number of registers: the RISC design philosophy generally incorporates a larger number of registers to prevent in large amounts of interactions with memory

Reduced Instruction Set Computer (RISC) Major characteristics of a RISC architecture»1) Relatively few instructions»2) Relatively few addressing modes»3) Memory access limited to load and store instruction»4) All operations done within the registers of the CPU»5) Fixed-length, easily decoded instruction format»6) Single-cycle instruction execution»7) Hardwired rather than microprogrammed control

RISC Instruction Only use LOAD and STORE instruction when communicating between memory and CPU All other instructions are executed within the registers of the CPU without referring to memory Program to evaluate X = ( A + B ) * ( C + D ) LOAD R1, A R1 M [ A] LOAD R2, B R2 M [ B] LOAD R3, C R3 M [ C] LOAD R4, D R4 M [ D] ADD R1, R1, R2 R1 R1 R2 ADD R3, R3, R4 R3 R3 R4 MUL R1, R1, R3 R1 R1 R3 STORE X, R1 M [ X ] R1 Load instruction transfers the operand from memory to CPU Register. Add and Multiply operations are executed with data in the registers without accessing the memory. Result is then stored in the memory with store information.

Other characteristics of a RISC architecture 1) A relatively large number of registers in the processor unit 2) Use of overlapped register windows to speed-up procedure call and return 3) Efficient instruction pipeline 4) Compiler support for efficient translation of high-level language programs into machine language programs

OVERLAPPED REGISTER WINDOWS There are three classes of registers: Global Registers Available to all functions Window local registers Variables local to the function Window shared registers Permit data to be shared without actually needing to copy it Only one register window is active at a time The active register window is indicated by a pointer When a function is called, a new register window is activated This is done by incrementing the pointer When a function calls a new function, the high numbered registers of the calling function window are shared with the called function as the low numbered registers in its register window This way the caller s high and the called function s low registers overlap and can be used to pass parameters and results

OVERLAPPED REGISTER WINDOWS In addition to the overlapped register windows, the processor has some number of registers, G, that are global registers This is, all functions can access the global registers. The advantage of overlapped register windows is that the processor does not have to push registers on a stack to save values and to pass parameters when there is a function call Conversely, pop the stack on a function return This saves Accesses to memory to access the stack. The cost of copying the register contents at all And, since function calls and returns are so common, this results in a significant savings relative to a stack-based approach

R 1 5 C o m m o n t o D a n d A Circular Window Total 74 registers : R0 - R73 R0 - R9 : Global registers R10 - R63 : 4 windows»window A R 1 0 R 7 3 R 6 4 P r o c D L o c a l t o D R 6 3 R 5 8 R 5 7 R 4 8 C o m m o n t o C a n d D L o c a l t o C R 4 7 C o m m o n t o B a n d C»Window B»Window C»Window D P r o c C R 4 2 R 4 1 R 3 2 L o c a l t o B R 3 1 C o m m o n t o A a n d B P r o c B R 2 6 R 2 5 L o c a l t o A 10 Local registers + 2 sets of 6 registers (common to adjacent windows) R 9 R 0 G l o b a l r e g i s t e r s C o m m o n t o a l l P r o c e d u r e s R 1 6 R 1 5 R 1 0 P r o c A C o m m o n t o A a n d D

Example) Procedure A calls procedure B R26 - R31» Store parameters for procedure B» Store results of procedure B R16 - R25 : Local to procedure A R32 - R41 : Local to procedure B Window Size = L + 2C + G = 10 + ( 2 X 6 ) + 10 = 32 registers Register File (total register) = (L + C) X W + G = (10 + 6 ) X 4 + 10 = 74 registers Berkeley RISC I 여기서, G : Global registers = 10 L : Local registers = 10 C : Common registers = 6 W : Number of windows = 4 RISC Architecture 의기원 : 1980 년대초 Berkeley RISC project : first project = Berkeley RISC I Stanford MIPS project Berkeley RISC I 32 bit CPU, 32 bit instruction format, 31 instruction 3 addressing modes : register, immediate, relative to PC

Instruction Set : Tab. 8-12 Instruction Format : Fig. 8-10 Register Mode : bit 13 = 0» S2 = register» Example) ADD R22, R21, R23 ADD Rs, S2, Rd : Rd = Rs + S2 Register Immediate Mode : bit 13 = 1» S2 = sign extended 13 bit constant» Example) LDL (R22)#150, R5 LDL (Rs)S2, Rd : Rd = M[R22] + 150 PC Relative Mode» Y = 19 bit relative address» Example) JMPR COND, Y Jump to PC = PC + Y» CWP (Current Window Pointer) CALL, RET?stack pointer?? RISC Architecture Originator 3 1 2 4 2 3 1 9 1 8 1 4 1 3 1 2 5 4 0 O p c o d e R d R s 0 N o t u s e d S 2 8 5 5 1 8 5 ( a ) R e g i s t e r m o d e : ( S 2 s p e c i f i e s a r e g i s t e r ) 3 1 2 4 2 3 1 9 1 8 1 4 1 3 1 2 0 O p c o d e R d R s 1 S 2 8 5 5 1 1 3 ( b ) R e g is t e r - im m e d ia te m o d e : ( S 2 s p e c if ie s a n o p e r a n d ) 3 1 2 4 2 3 1 9 1 8 0 O p c o d e C O N D Y 8 5 1 9 ( c ) P C r e l a t i v e m o d e : Architecture Originator Licensees Alpha DEC Mitsubishi, Samsung MIPS MIPS Technologies NEC, Toshiba PA-RISC Hewlett Packard Hitachi, Samsung PowerPC Apple, IBM, Motorola Bul Sparc Sun Fujitsu, Hyundai i960 Intel Intel only (Embedded Controller)

CISC versus RISC CISC Emphasis on hardware Includes multi-clock complex instructions Memory-to-memory: "LOAD" and "STORE" incorporated in instructions Small code sizes, high cycles per second Transistors used for storing complex instructions RISC Emphasis on software Single-clock, reduced instruction only Register to register: "LOAD" and "STORE" are independent instructions Low cycles per second, large code sizes Spends more transistors on memory registers