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...
Saved in:
Published in: | Proceedings of the IEEE 1995-12, Vol.83 (12), p.1609-1624 |
---|---|
Main Authors: | , |
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 & 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 |