(MIPS) Architecture

Total Page:16

File Type:pdf, Size:1020Kb

(MIPS) Architecture ISSN 2322-0929 Vol.02,Issue.01, January-2014, Pages:0018-0025 ww.semargroup.org www.ijvdcs.org Speed Optimized Implementation of 32 Bit RISC (MIPS) Architecture 1 2 KURAMANA HARIKA , SOLOMON J V GOTHAM 1PG Scholar, Dept of ECE, Kaushik College of Engineering, Vishakapatnam, Andhrapradesh, India, E-mail: [email protected]. 2Asst Prof, Dept of ECE, Kaushik College of Engineering, Vishakapatnam, Andhrapradesh, India, E-mail: [email protected]. Abstract: The Implementation of 32 bit RISC processor with microprocessor without interlocked pipeline stages (MIPS) is presented. It was implemented in VHDL so as to reduce the instruction set present in the programmable memory. As the result the processor will contain the necessary logics for the implementation that requires fewer gates to be synthesized in the programmable matrix and has the capability to increase the speed of the target processor with reduced memory. In this paper we propose a novel technique of run-time loading of machine code for MIPS-32 soft-core processor. As we know, implementing fewer instructions on silicon reduces the complexity of the instruction decoder, the addressing logic, and the execution unit. This allows the machine to be clocked at a faster speed, since less work needs to be done each clock period. In this paper we used Xilinx-ISE tool for logical verification, and further synthesizing it on Xilinx-ISE tool using target technology and performing placing & routing operation for system verification. Keywords: RISC Processor, MIPS-23, VHDL, Xilinx-ISE. I. INTRODUCTION (almost) completed before the next can be issued for MIPS (originally an acronym for Microprocessor without execution; in a pipelined architecture, successive Interlocked Pipeline Stages) is a reduced instruction set instructions can instead overlap in execution. For instance, computing (RISC) instruction set architecture (ISA) at the same time a math instruction is fed into the floating developed by MIPS Computer Systems (now MIPS point unit, the load/store unit can fetch the next instruction. Technologies). MIPS RISC microprocessor architecture One major barrier to pipelining was that some instructions, characteristics include: like division, take longer to complete and the CPU Fix-length straightforward decoded instruction therefore has to wait before passing the next instruction format into the pipeline. One solution to this problem is to use a Memory accesses limited to load and store series of interlocks that allows stages to indicate that they instructions are busy, pausing the other stages upstream. A major Hardwired control unit aspect of the MIPS design was to fit every sub-phase, A large general purpose register file including cache-access, of all instructions into one cycle, and All operations are done within the registers of thereby removing any needs for interlocking, and the microprocessor. permitting a single cycle throughput. II. MIPS versus RISC Although this design eliminated a number of useful In 1981, a team led by John L. Hennessy at Stanford instructions such as multiply and divide. It was felt that the University started work on what would become the first overall performance of the system would be dramatically MIPS processor. The basic concept was to increase improved because the chips could run at much higher clock performance through the use of deep instruction pipelines. rates. This ramping of the speed would be difficult with Pipelining as a basic technique was well known before interlocking involved, as the time needed to set up locks is (IBM 801 for instance), but not developed into its full as much a function of die size as clock rate. The potential. CPUs are built up from a number of dedicated elimination of these instructions became a contentious sub-units such as instruction decoders, ALUs (integer point. The other difference between the MIPS design and arithmetic and logic), load/store units (handling memory), the competing Berkeley RISC involved the handling of and so on. In a traditional non-optimized design, a subroutine calls. RISC used a technique called register particular instruction in a program sequence must be windows to improve performance of these very common Copyright @ 2013 SEMAR GROUPS TECHNICAL SOCIETY. All rights reserved. KURAMANA HARIKA, SOLOMON J V GOTHAM tasks, but this limited the maximum depth of multi-level opcode; the rest may contain a single 26-bit jump address calls. or it may have up to four 5-bit fields specifying up to three registers plus a shift value combined with another 6-bits of In other ways the MIPS design was very much a typical opcode; another format, among several, specifies two RISC design. To save bits in the instruction word, RISC registers combined with a 16-bit immediate value, etc. This designs reduce the number of instructions to encode. The was one of the major performance improvements that MIPS design uses 6 bits of the 32-bit word for the basic RISC offered. Figure1. Pipelined Datapath III. THE MIPS INSTRUCTION SET instructions or R-type include: ALU Immediate (e.g. addi), ARCHITECTURE three-operand (e.g. add, and, slt), and shift instructions MIPS is a RISC microprocessor architecture. The MIPS (e.g. sll, srl). The J-type instructions are used for jump Architecture defines thirty-two; 32-bit general purpose instructions (e.g. j). Branch instructions (e.g. beq, bne) are registers (GPRs). Register $r0 is hard-wired and always I-type instructions which use the addition of an offset value contains the value zero. The CPU uses byte addressing for from the current address in the address/immediate field word accesses and must be aligned on a byte boundary along with the program counter (PC) to compute the divisible by four (0, 4, 8, …). MIPS only has three branch target address; this is considered PC-relative instruction types: I-type is used for the Load and Stores addressing. instructions, R-type is used for Arithmetic instructions, and Immediate (I-Type) CPU Instruction Format J-type is used for the Jump instructions. Table 1.3.1 provides a description of each of the fields used in the three different instruction types. Jump (J-Type) CPU Instruction Format MIPS is a load/store architecture, meaning that all operations are performed on operands held in the processor registers and the main memory can only be accessed Register (R-Type) CPU Instruction Format through the load and store instructions (e.g lw, sw). A load instruction loads a value from memory into a register. A store instruction stores a value from a register to memory. The load and store instructions use the sum of the offset value in the address/immediate field and the base register Figure2. Shows a summary of the MIPS Instruction in the $rs field to address the memory. Arithmetic Types. International Journal of VLSI System Design and Communication Systems Volume.02, IssueNo.01, January-2014, Pages:0018-0025 Speed Optimized Implementation of 32 Bit RISC (MIPS) Architecture Table1. MIPS Instruction Fields Blocked RAM is a rich resource in modern FPGA chips. It is much easier to design new CPU functions such as adding application specific instruction set and custom data path. The complexity of the sequencing circuits does not increase with the complexity of sequencing logic. By turning sequencing logic into software (micro program), it’s much easier to do a kernel context- switch or update sequencing logic at both design time and run-time. Micro program storage unit is implemented as a Blocked RAM primitive in ECOMIPS. If the microinstruction width is 18bits, a single blocked RAM is able to accommodate 256 micro-instructions on a Xilinx Spartan 3 chip. In most cases, one blocked RAM will be far sufficient for storing the entire micro program. So the sacrifice of one blocked RAM can replace all the sequencing logic which would otherwise use up a large amount of gate resources in FPGA. The microcode in ECOMIPS maps directly to control signals in the data path. Therefore, no translation circuit is needed. However, the speed of reading one word from a blocked RAM is not as fast as that from a combinatorial circuit and the maximum system clock rate of the ECOMIPS is almost linearly dependent on the speed of blocked RAM in the FPGA. Fortunately the speed of RAM access has been made very fast in modern FPGA chips, currently in less than 15 nanoseconds. If the clocking scheme is properly A. Ecomips Architecture designed, the maximum CPU clock rate can still be as high ECOMIPS is a compact 32-bit MIPs CPU module to as 64MHZ. Every MIPS instruction is 32 bits, i.e. one be embedded in a FPGA chip. By taking advantages of word, in length, and every instruction which does not modern FPGA chip, the system itself consumes very little access memory executes in one cycle. Those that do access chip resources and leaves abundant room for implementing memory are assumed to “usually” take two cycles, other specialized control and processing modules. Some of meaning that this will be the case if the desired memory these resources are general purpose ones and used by access results in a cache hit; otherwise, the CPU enters a almost all modules in the chip. However, some resources stall mode until the memory access is satisfied. like multipliers, wide multiplexers, blocked RAM and DCM (with high resolution phase shifting) is not B. Design Implementable Architecture extensively used by most computational modules. When a A 32-bit MIPs CPU module to be embedded in a FPGA specialized FPGA chip is at work, many of its dedicated chip is shown in figure 3.1. By taking advantages of resources are left unused. ECOMIPS takes advantages of modern FPGA chip, the system itself consumes very little those often unused resources and relieves resource racing chip resources and leaves abundant room for implementing on other logic cells on the chip.
Recommended publications
  • A Developer's Guide to the POWER Architecture
    http://www.ibm.com/developerworks/linux/library/l-powarch/ 7/26/2011 10:53 AM English Sign in (or register) Technical topics Evaluation software Community Events A developer's guide to the POWER architecture POWER programming by the book Brett Olsson , Processor architect, IBM Anthony Marsala , Software engineer, IBM Summary: POWER® processors are found in everything from supercomputers to game consoles and from servers to cell phones -- and they all share a common architecture. This introduction to the PowerPC application-level programming model will give you an overview of the instruction set, important registers, and other details necessary for developing reliable, high performing POWER applications and maintaining code compatibility among processors. Date: 30 Mar 2004 Level: Intermediate Also available in: Japanese Activity: 22383 views Comments: The POWER architecture and the application-level programming model are common across all branches of the POWER architecture family tree. For detailed information, see the product user's manuals available in the IBM® POWER Web site technical library (see Resources for a link). The POWER architecture is a Reduced Instruction Set Computer (RISC) architecture, with over two hundred defined instructions. POWER is RISC in that most instructions execute in a single cycle and typically perform a single operation (such as loading storage to a register, or storing a register to memory). The POWER architecture is broken up into three levels, or "books." By segmenting the architecture in this way, code compatibility can be maintained across implementations while leaving room for implementations to choose levels of complexity for price/performances trade-offs. The levels are: Book I.
    [Show full text]
  • I.T.S.O. Powerpc an Inside View
    SG24-4299-00 PowerPC An Inside View IBM SG24-4299-00 PowerPC An Inside View Take Note! Before using this information and the product it supports, be sure to read the general information under “Special Notices” on page xiii. First Edition (September 1995) This edition applies to the IBM PC PowerPC hardware and software products currently announced at the date of publication. Order publications through your IBM representative or the IBM branch office serving your locality. Publications are not stocked at the address given below. An ITSO Technical Bulletin Evaluation Form for reader′s feedback appears facing Chapter 1. If the form has been removed, comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. JLPC Building 014 Internal Zip 5220 1000 NW 51st Street Boca Raton, Florida 33431-1328 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1995. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. Abstract This document provides technical details on the PowerPC technology. It focuses on the features and advantages of the PowerPC Architecture and includes an historical overview of the development of the reduced instruction set computer (RISC) technology. It also describes in detail the IBM Power Series product family based on PowerPC technology, including IBM Personal Computer Power Series 830 and 850 and IBM ThinkPad Power Series 820 and 850.
    [Show full text]
  • RISC Computers
    Reduced Instruction Set Computers Prof. Vojin G. Oklobdzija University of California Keywords: IBM 801; RISC; computer architecture; Load/Store architecture; instruction sets; pipelining; super-scalar machines; super-pipeline machines; optimizing compiler; Branch and Execute; Delayed Branch; Definitions Main features of RISC architecture Analysis of RISC and what makes RISC What brings performance to RISC Going beyond one instruction per cycle Issues in super-scalar machines 1. Architecture The term Computer Architecture was first defined in the paper by Amdahl, Blaauw and Brooks of IBM Corporation announcing IBM System/360 computer family on April 7, 1964 [1]. On that day IBM Corporation introduced, in the words of IBM spokesman, "the most important product announcement that this corporation has made in its history". Computer architecture was defined as the attributes of a computer seen by the machine language programmer as described in the Principles of Operation. IBM referred to the Principles of Operation as a definition of the machine which enables machine language programmer to write functionally correct, time independent programs that would run across a number of implementations of that particular architecture. The architecture specification covers: all functions of the machine that are observable by the program [2]. On the other hand Principles of Operation. are used to define the functions that the implementation should provide. In order to be functionally correct it is necessary that the implementation conforms to the Principles of Operation. Principles of Operation document defines computer architecture which includes: • Instruction set • Instruction format • Operation codes • Addressing modes • All registers and memory locations that may be directly manipulated or tested by a machine language program • Formats for data representation Machine Implementation was defined as the actual system organization and hardware structure encompassing the major functional units, data paths, and control.
    [Show full text]
  • Computer Architectures an Overview
    Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements.
    [Show full text]
  • Dynamicsilicon Gilder Publishing, LLC
    Written by Published by Nick Tredennick DynamicSilicon Gilder Publishing, LLC Vol. 2, No. 9 The Investor's Guide to Breakthrough Micro Devices September 2002 Lessons From the PC he worldwide market for personal computers has grown to 135 million units annually. Personal com- puters represent half of the worldwide revenue for semiconductors. In July of this year, PC makers Tshipped their billionth PC. I trace the story of the personal computer (PC) from its beginning. The lessons from the PC apply to contemporary products such as switches, routers, network processors, microprocessors, and cell phones. The story doesn’t repeat exactly because semiconductor-process advances change the rules. PC beginnings Intel introduced the first commercial microprocessor in 1971. The first microprocessors were designed solely as cost-effective substitutes for numerous chips in bills of material. But it wasn’t long before micro- processors became central processing units in small computer systems. The first advertisement for a micro- processor-based computer appeared in March 1974. Soon, companies, such as Scelbi Computer Consulting, MITS, and IMSAI, offered kit computers. Apple Computer incorporated in January 1977 and introduced the Apple II computer in April. The Apple II came fully assembled, which, together with the invention of the spreadsheet, changed the personal computer from a kit hobby to a personal business machine. In 1981, IBM legitimized personal computers by introducing the IBM Personal Computer. Once endorsed by IBM, many businesses bought personal computers. Even though it came out in August, IBM sold 15,000 units that year. Apple had a four-year head start. When IBM debuted its personal computer, the Apple II dom- inated the market.
    [Show full text]
  • Oral History of David (Dave) Ditzel
    Oral History of David (Dave) Ditzel Interviewed by: Kevin Krewell Recorded: July 31, 2015 Mountain View, California CHM Reference number: X7554.2016 © 2015 Computer History Museum Oral History of David (Dave) Ditzel Kevin Krewell: Hi, I'd like to introduce myself. I'm Kevin Krewell. I'm a member of the Semiconductor SIG at the Computer History Museum. Today is July 31st, 2015. We are at the Computer History Museum, and we're about to interview Dave Ditzel, who's probably best known as the founder of Transmeta. But, also an early researcher in RISC processor design at UC Berkeley. He's also worked at ATT Bell Labs, and at Sun Microsystems. Those are probably his most well-known attributes, or his well-known jobs. Dave Ditzel: And even at Intel. That was a surprise to people. Krewell: And Intel, but that's probably less well known. Most people were surprised when-- Ditzel: I wasn't allowed to talk about what I was doing there. Krewell: --I don't know if you still can. Ditzel: A little bit. Krewell: So, let's start off with a little background on Dave, and then we'll work into his history, fascinating history actually. But we're going to start off just a little bit about family background. Why don't just give us a little growing up, and where you born and raised, and how you started life. Ditzel: Generally, I grew up in the Midwest, Missouri and Iowa. My father was a chemical engineer, well trained, university-educated parents, encouraged me to read.
    [Show full text]
  • ISA Supplement
    Lecture 04: ISA Principles Supplements CSE 564 Computer Architecture Summer 2017 Department of Computer Science and Engineering Yonghong Yan [email protected] www.secs.oakland.edu/~yan 1 Contents 1. Introduc@on 2. ClAssifying Instruc@on Set Architectures 3. Memory Addressing 4. Type and Size of Operands 5. Operaons in the Instrucon Set 6. Instruc@ons for Control Flow 7. Encoding an Instruc@on Set 8. CrosscuMng Issues: The Role of Compilers 9. RISC-V ISA • Supplements 2 Lecture 03 Supplements • MIPS ISA • RISC vs CISC • Compiler compilaon stages • ISA Historical – Appendix L • Comparison of ISA – Appendix K 3 PuMng it All together: the MIPS Architecture(A simple 64-bit load-store architecture) • Use general-purpose registers with a load-store architecture • Support these addressing modes:displacement(with address offset of 12-16bits), immediate (size 8-16bits), and register indirect. • Support these data sizes and types: 8-, 16-, and 64- integers and 64-bit IEEE 754 floang-point numbers. 4 PuMng it all together:the MIPS Architecture(A simple 64-bit load-store architecture) • Support these simple instrucGons:load, store, add, subtract, move register-register, and shi\. • Compare equal, compare not equal, compare less, branch, jump, call, and return. • Use fixed instrucGon encoding if interested in performance, and use variable instrucGon encoding if interested in code size. 5 MIPS emphAsized • A simple load-store instrucGon set • Design for pipelining efficiency • Efficiency as a compiler target. 6 Instruc@on lAyout for MIPS 7 The loAd And store
    [Show full text]
  • RISC Architecture
    REDUCED INSTRUCTION SET COMPUTERS Prof. Vojin G. Oklobdzija Integration Berkeley, CA 94708 Keywords: IBM 801; RISC; computer architecture; Load/Store Architecture; instruction sets; pipelining; super-scalar machines; super-pipeline machines; optimizing compiler; Branch and Execute; Delayed Branch; Cache; Harvard Architecture; Delayed Load; Super-Scalar; Super-Pipelined. Fall 1999 1. ARCHITECTURE The term Computer Architecture was first defined in the paper by Amdahl, Blaauw and Brooks of International Business Machines (IBM) Corporation announcing IBM System/360 computer family on April 7, 1964 [1,17]. On that day IBM Corporation introduced, in the words of IBM spokesman, "the most important product announcement that this corporation has made in its history". Computer architecture was defined as the attributes of a computer seen by the machine language programmer as described in the Principles of Operation. IBM referred to the Principles of Operation as a definition of the machine which enables machine language programmer to write functionally correct, time independent programs that would run across a number of implementations of that particular architecture. The architecture specification covers: all functions of the machine that are observable by the program [2]. On the other hand Principles of Operation. are used to define the functions that the implementation should provide. In order to be functionally correct it is necessary that the implementation conforms to the Principles of Operation. Principles of Operation document defines computer architecture which includes: • Instruction set • Instruction format • Operation codes • Addressing modes • All registers and memory locations that may be directly manipulated or tested by a machine language program • Formats for data representation Machine Implementation was defined as the actual system organization and hardware structure encompassing the major functional units, data paths, and control.
    [Show full text]
  • Brief History of Microprogramming
    Microprogramming History -- Mark Smotherman A Brief History of Microprogramming Mark Smotherman Last updated: October 2012 Summary: Microprogramming is a technique to implement the control logic necessary to execute instructions within a processor. It relies on fetching low-level microinstructions from a control store and deriving the appropriate control signals as well as microprogram sequencing information from each microinstruction. Definitions and Example Although loose usage has sometimes equated the term "microprogramming" with the idea of "programming a microcomputer", this is not the standard definition. Rather, microprogramming is a systematic technique for implementing the control logic of a computer's central processing unit. It is a form of stored-program logic that substitutes for hardwired control circuitry. The central processing unit in a computer system is composed of a data path and a control unit. The data path includes registers, function units such as shifters and ALUs (arithmetic and logic units), internal processor busses and paths, and interface units for main memory and I/O busses. The control unit governs the series of steps taken by the data path during the execution of a user- visible instruction, or macroinstruction (e.g., load, add, store). Each action of the datapath is called a register transfer and involves the transfer of information within the data path, possibly including the transformation of data, address, or instruction bits by the function units. A register transfer is accomplished by gating out (sending) register contents onto internal processor busses, selecting the operation of ALUs, shifters, etc., through which that information might pass, and gating in (receiving) new values for one or more registers.
    [Show full text]
  • Reduced Instruction Set Computers
    ARTICLES REDUCED INSTRUCTION SET COMPUTERS Reduced instruction set computers aim for both simplicity in hardware and synergy between architectures and compilers. Optimizing compilers are used to compile programming languages down to instructions that are as unencumbered as microinstructions in a large virtual address space, and to make the instruction cycle time as fast as possible. DAVID A. PATTERSON As circuit technologies reduce the relative cost of proc- called a microinstruction, and the contents are essen- essing and memory, instruction sets that are too com- tially an interpreter, programmed in microinstructions. plex become a distinct liability to performance. The The main memories of these computers were magnetic designers of reduced instruction set computers (RISCs) core memories, the small control memories of which strive for both simplicity in hardware and synergy be- were usually 10 times faster than core. tween architecture and compilers, in order to stream- Minicomputer manufacturers tend to follow the lead line processing as much as possible. Early experience of mainframe manufacturers, especially when the indicates that RISCs can in fact run much faster than mainframe manufacturer is IBM, and so microprogram- more conventionally designed machines. ming caught on quickly. The rapid growth of semicon- ductor memories also speeded this trend. In the early BACKGROUND 1970s. for example, 8192 bits of read-only memory The IBM System/360, first introduced in 1964, was the (ROM) took up no more space than 8 bits of register. real beginning of modern computer architecture. Al- Eventually, minicomputers using core main memory though computers in the System/360 “family” provided and semiconductor control memory became standard in a different level of performance for a different price, all the minicomputer industry.
    [Show full text]
  • The International Journal of Science & Technoledge
    The International Journal Of Science & Technoledge(ISSN 2321 – 919X) www.theijst.com THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE A 64-Bit RISC Processor Design and Implementation Using VHDL Andrew Obida Yoila Teacher, Government Senior Secondary School, Minjibir Kano State, Nigeria Abstract: In this paper design and implementation of 64-bit RISC processor using VHDL is presented. The main idea is its history; architecture design, its data part, and how the instruction set are introduced. The structure of the design control using VHDL which means Vhsic Hardware Descriptive Language an industry standard language used to describe hardware from the abstract to concrete level and it’s verified on the XILINX ISE simulator. This processor is design for a specific application anywhere automation and control is necessary such as in bottle industries and control robotic program, Automatic teller machines (ATM) machines etc. also the 64 bit can also link vast amount of memory almost up to 16 Exabyte. 1. Introduction In today technology digital hardware plays a very important role in field of electronic and computer engineering products today. Due to fast growing and competition in the technological world and rapid rise of transistor demand and speediness of joined circuits and steeps declines of the price cause by the improvement in micro-electronics application Machineries. The introduction of computer to the society has affected so many things in the society in which almost all problems can be solve using computers. Many industries today are requesting for system developers that have the skills and technical knowhow of designing the program logics. VHDL is one of the most popular design applications used by designer to implement such task.
    [Show full text]
  • RISC, CISC, and ISA Variations
    RISC, CISC, and ISA Variations CS 3410 Computer System Organization & Programming These slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. iClicker Question (first alone, then pairs) Which is not considered part of the ISA? A. There is a control delay slot. B. The number of inputs each instruction can have. C. Load-use stalls will not be detected by the processor. D. The number of cycles it takes to execute a multiply. E. Each instruction is encoded in 32 bits. 2 Big Picture: Where are we now? compute jump/branch targets A memory register alu D D file B +4 addr PC B control din dout M inst memory extend new imm forward pc unit detect hazard Write Fetch Decode ctrl Execute ctrl Memory ctrl Back IF/ID ID/EX EX/MEM MEM/WB 3 Big Picture: Where are we going? C int x = 10; compiler x = x + 15; MIPS addi r5, r0, 10 r0 = 0 assembly addi r5, r5, 15 r5 = r0 + 10 assembler r5 = r15 + 15 addi r0 r5 10 machine 00100000000001010000000000001010 code 00100000101001010000000000001111 loader CPU Circuits 32 RF 32 Gates A B Transistors Silicon 4 Big Picture: Where are we going? C int x = 10; x = 2 * x + 15; compiler High Level MIPS addi r5, r0, 10 Languages muli r5, r5, 2 assembly addi r5, r5, 15 assembler 00100000000001010000000000001010 machine 00000000000001010010100001000000 code 00100000101001010000000000001111 loader Instruction Set CPU Architecture (ISA) Circuits Gates Transistors Silicon 5 Goals for Today Instruction Set Architectures • ISA Variations, and CISC vs RISC • Peek inside some
    [Show full text]