Loading…

The microarchitecture of superscalar processors

Superscalar processing is the latest in along series of innovations aimed at producing ever-faster microprocessors. By exploiting instruction-level parallelism, superscalar processors are capable of executing more than one instruction in a clock cycle. This paper discusses the microarchitecture of s...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of the IEEE 1995-12, Vol.83 (12), p.1609-1624
Main Authors: Smith, J.E., Sohi, G.S.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943
cites cdi_FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943
container_end_page 1624
container_issue 12
container_start_page 1609
container_title Proceedings of the IEEE
container_volume 83
creator Smith, J.E.
Sohi, G.S.
description Superscalar processing is the latest in along series of innovations aimed at producing ever-faster microprocessors. By exploiting instruction-level parallelism, superscalar processors are capable of executing more than one instruction in a clock cycle. This paper discusses the microarchitecture of superscalar processors. We begin with a discussion of the general problem solved by superscalar processors: converting an ostensibly sequential program into a more parallel one. The principles underlying this process, and the constraints that must be met, are discussed. The paper then provides a description of the specific implementation techniques used in the important phases of superscalar processing. The major phases include: (1) instruction fetching and conditional branch processing, (2) the determination of data dependences involving register values, (3) the initiation, or issuing, of instructions for parallel execution, (4) the communication of data values through memory via loads and stores, and (5) committing the process state in correct order so that precise interrupts can be supported. Examples of recent superscalar microprocessors, the MIPS R10000, the DEC 21164, and the AMD K5 are used to illustrate a variety of superscalar methods.
doi_str_mv 10.1109/5.476078
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_27421066</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>476078</ieee_id><sourcerecordid>27421066</sourcerecordid><originalsourceid>FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943</originalsourceid><addsrcrecordid>eNo90DFPwzAQBWAPIFEKEjNTJsSS9i6xY3tEFRSkSixlthznogYlJPiSgX9PUCqmG-7TO90T4g5hgwh2qzZSF6DNhVgBoElthvZKXDN_AkCuinwltscTJV0TYu9jODUjhXGKlPR1wtNAkYNvfUyG2Adi7iPfiMvat0y357kWHy_Px91renjfv-2eDmnItRpTbfK8LiUpqay33pQeKuWxygLUFaHXGEiDRUmoJGhVlBoITI0GTCGtzNfiYcmdT39PxKPrGg7Utv6L-oldpmWGUBQzfFzg_AJzpNoNsel8_HEI7q8Fp9zSwkzvF9oQ0T87L38B7XdYdA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>27421066</pqid></control><display><type>article</type><title>The microarchitecture of superscalar processors</title><source>IEEE Electronic Library (IEL) Journals</source><creator>Smith, J.E. ; Sohi, G.S.</creator><creatorcontrib>Smith, J.E. ; Sohi, G.S.</creatorcontrib><description>Superscalar processing is the latest in along series of innovations aimed at producing ever-faster microprocessors. By exploiting instruction-level parallelism, superscalar processors are capable of executing more than one instruction in a clock cycle. This paper discusses the microarchitecture of superscalar processors. We begin with a discussion of the general problem solved by superscalar processors: converting an ostensibly sequential program into a more parallel one. The principles underlying this process, and the constraints that must be met, are discussed. The paper then provides a description of the specific implementation techniques used in the important phases of superscalar processing. The major phases include: (1) instruction fetching and conditional branch processing, (2) the determination of data dependences involving register values, (3) the initiation, or issuing, of instructions for parallel execution, (4) the communication of data values through memory via loads and stores, and (5) committing the process state in correct order so that precise interrupts can be supported. Examples of recent superscalar microprocessors, the MIPS R10000, the DEC 21164, and the AMD K5 are used to illustrate a variety of superscalar methods.</description><identifier>ISSN: 0018-9219</identifier><identifier>DOI: 10.1109/5.476078</identifier><identifier>CODEN: IEEPAD</identifier><language>eng</language><publisher>IEEE</publisher><subject>Clocks ; Dynamic scheduling ; Microarchitecture ; Microprocessors ; Parallel processing ; Pipeline processing ; Processor scheduling ; Reduced instruction set computing ; Registers ; Technological innovation</subject><ispartof>Proceedings of the IEEE, 1995-12, Vol.83 (12), p.1609-1624</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943</citedby><cites>FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/476078$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,27923,27924,54795</link.rule.ids></links><search><creatorcontrib>Smith, J.E.</creatorcontrib><creatorcontrib>Sohi, G.S.</creatorcontrib><title>The microarchitecture of superscalar processors</title><title>Proceedings of the IEEE</title><addtitle>JPROC</addtitle><description>Superscalar processing is the latest in along series of innovations aimed at producing ever-faster microprocessors. By exploiting instruction-level parallelism, superscalar processors are capable of executing more than one instruction in a clock cycle. This paper discusses the microarchitecture of superscalar processors. We begin with a discussion of the general problem solved by superscalar processors: converting an ostensibly sequential program into a more parallel one. The principles underlying this process, and the constraints that must be met, are discussed. The paper then provides a description of the specific implementation techniques used in the important phases of superscalar processing. The major phases include: (1) instruction fetching and conditional branch processing, (2) the determination of data dependences involving register values, (3) the initiation, or issuing, of instructions for parallel execution, (4) the communication of data values through memory via loads and stores, and (5) committing the process state in correct order so that precise interrupts can be supported. Examples of recent superscalar microprocessors, the MIPS R10000, the DEC 21164, and the AMD K5 are used to illustrate a variety of superscalar methods.</description><subject>Clocks</subject><subject>Dynamic scheduling</subject><subject>Microarchitecture</subject><subject>Microprocessors</subject><subject>Parallel processing</subject><subject>Pipeline processing</subject><subject>Processor scheduling</subject><subject>Reduced instruction set computing</subject><subject>Registers</subject><subject>Technological innovation</subject><issn>0018-9219</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1995</creationdate><recordtype>article</recordtype><recordid>eNo90DFPwzAQBWAPIFEKEjNTJsSS9i6xY3tEFRSkSixlthznogYlJPiSgX9PUCqmG-7TO90T4g5hgwh2qzZSF6DNhVgBoElthvZKXDN_AkCuinwltscTJV0TYu9jODUjhXGKlPR1wtNAkYNvfUyG2Adi7iPfiMvat0y357kWHy_Px91renjfv-2eDmnItRpTbfK8LiUpqay33pQeKuWxygLUFaHXGEiDRUmoJGhVlBoITI0GTCGtzNfiYcmdT39PxKPrGg7Utv6L-oldpmWGUBQzfFzg_AJzpNoNsel8_HEI7q8Fp9zSwkzvF9oQ0T87L38B7XdYdA</recordid><startdate>19951201</startdate><enddate>19951201</enddate><creator>Smith, J.E.</creator><creator>Sohi, G.S.</creator><general>IEEE</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19951201</creationdate><title>The microarchitecture of superscalar processors</title><author>Smith, J.E. ; Sohi, G.S.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1995</creationdate><topic>Clocks</topic><topic>Dynamic scheduling</topic><topic>Microarchitecture</topic><topic>Microprocessors</topic><topic>Parallel processing</topic><topic>Pipeline processing</topic><topic>Processor scheduling</topic><topic>Reduced instruction set computing</topic><topic>Registers</topic><topic>Technological innovation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Smith, J.E.</creatorcontrib><creatorcontrib>Sohi, G.S.</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Proceedings of the IEEE</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Smith, J.E.</au><au>Sohi, G.S.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>The microarchitecture of superscalar processors</atitle><jtitle>Proceedings of the IEEE</jtitle><stitle>JPROC</stitle><date>1995-12-01</date><risdate>1995</risdate><volume>83</volume><issue>12</issue><spage>1609</spage><epage>1624</epage><pages>1609-1624</pages><issn>0018-9219</issn><coden>IEEPAD</coden><abstract>Superscalar processing is the latest in along series of innovations aimed at producing ever-faster microprocessors. By exploiting instruction-level parallelism, superscalar processors are capable of executing more than one instruction in a clock cycle. This paper discusses the microarchitecture of superscalar processors. We begin with a discussion of the general problem solved by superscalar processors: converting an ostensibly sequential program into a more parallel one. The principles underlying this process, and the constraints that must be met, are discussed. The paper then provides a description of the specific implementation techniques used in the important phases of superscalar processing. The major phases include: (1) instruction fetching and conditional branch processing, (2) the determination of data dependences involving register values, (3) the initiation, or issuing, of instructions for parallel execution, (4) the communication of data values through memory via loads and stores, and (5) committing the process state in correct order so that precise interrupts can be supported. Examples of recent superscalar microprocessors, the MIPS R10000, the DEC 21164, and the AMD K5 are used to illustrate a variety of superscalar methods.</abstract><pub>IEEE</pub><doi>10.1109/5.476078</doi><tpages>16</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0018-9219
ispartof Proceedings of the IEEE, 1995-12, Vol.83 (12), p.1609-1624
issn 0018-9219
language eng
recordid cdi_proquest_miscellaneous_27421066
source IEEE Electronic Library (IEL) Journals
subjects Clocks
Dynamic scheduling
Microarchitecture
Microprocessors
Parallel processing
Pipeline processing
Processor scheduling
Reduced instruction set computing
Registers
Technological innovation
title The microarchitecture of superscalar processors
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-08T20%3A34%3A10IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=The%20microarchitecture%20of%20superscalar%20processors&rft.jtitle=Proceedings%20of%20the%20IEEE&rft.au=Smith,%20J.E.&rft.date=1995-12-01&rft.volume=83&rft.issue=12&rft.spage=1609&rft.epage=1624&rft.pages=1609-1624&rft.issn=0018-9219&rft.coden=IEEPAD&rft_id=info:doi/10.1109/5.476078&rft_dat=%3Cproquest_cross%3E27421066%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c375t-7833fb4e5459a9a8ba0d5a1d2c0fde1a71ce70914e1540756b70e08f180864943%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=27421066&rft_id=info:pmid/&rft_ieee_id=476078&rfr_iscdi=true