Architectural Tradeoffs in the Design of MIPS-X,

Abstract

The design of a RISC processor requires a careful analysis of the tradeoffs that can be made between hardware complexity and software. As new generations of processors are built to take advantage of more advanced technologies, new and different tradeoffs must be considered. We examine the design of a second generation VLSI RISC processor, MIPS-X. MIPS-X is a single-chip 32-bit VLSI processor that uses a simplified instruction set, pipelining and a software code reorganizer. In the quest for higher performance, MIPS-X uses a deeper pipeline, a much simpler instruction set and achieves the goal of single cycle execution using a 2-phase, 20 MHz clock. This necessitated the inclusion of an on-chip instruction cache and careful consideration of the control of the machine. Many tradeoffs were made during the design of MIPS-X and this paper examines several key areas. They are: the organization of the on-chip instruction cache, the coprocessor interface, branches and the resulting branch delay, and exception handling. For each issue we present the most promising alternatives considered for MIPS-X and the approach finally selected. Working parts have been received and this gives us a firm basis upon which to evaluate the success of our design.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1987
Accession Number
ADA182299

Entities

People

  • Mark Horowitz
  • Paul Chow

Organizations

  • Stanford University

Tags

Communities of Interest

  • Advanced Electronics
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Aspect Ratio
  • Bandwidth
  • Coding
  • Computer Architecture
  • Computer Programming
  • Computer Science
  • Computers
  • Computing System Architectures
  • Decoding
  • Demographic Cohorts
  • Instruction Set Architecture
  • Instructions
  • Operating Systems
  • Pipelines
  • Programming Languages
  • Simulators
  • Statistics

Fields of Study

  • Computer science

Readers

  • Computer Programming and Software Development.
  • Computer Science.
  • Software Engineering.