Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine

A method of, and apparatus for, interfacing the hardware of a processor capable of processing instructions from more than one type of instruction set. More particularly, an engine responsible for fetching native instructions from a memory subsystem (such as an EM fetch engine) is interfaced with an...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: ARNOLD BARRY J, BROCKMANN RUSSELL C, KUBICEK DAVID CARL, MCCORMICK, JR. JAMES E, STOUT JAMES CURTIS, DUA ANUJ, UNDY STEPHEN R
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator ARNOLD BARRY J
BROCKMANN RUSSELL C
KUBICEK DAVID CARL
MCCORMICK, JR. JAMES E
STOUT JAMES CURTIS
DUA ANUJ
UNDY STEPHEN R
description A method of, and apparatus for, interfacing the hardware of a processor capable of processing instructions from more than one type of instruction set. More particularly, an engine responsible for fetching native instructions from a memory subsystem (such as an EM fetch engine) is interfaced with an engine that processes emulated instructions (such as an x86 engine). This is achieved using a handshake protocol, whereby the x86 engine sends an explicit fetch request signal to the EM fetch engine along with a fetch address. The EM fetch engine then accesses the memory subsystem and retrieves a line of instructions for subsequent decode and execution. The EM fetch engine sends this line of instructions to the x86 engine along with an explicit fetch complete signal. The EM fetch engine also includes a fetch address queue capable of holding the fetch addresses before they are processed by the EM fetch engine. The fetch requests are processed such that more than one fetch request may be pending at the same time. If a pending fetch request is canceled due to a pipeline flush, then the fetch address queue is cleared and the pending fetch requests are canceled. The system also prevents macroinstruction (MIQ)-related stalls by using a speculative write pointer to control the issuance of fetch requests, thereby preventing the MIQ from becoming oversubscribed.
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_US6678817B1</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>US6678817B1</sourcerecordid><originalsourceid>FETCH-epo_espacenet_US6678817B13</originalsourceid><addsrcrecordid>eNqNjDFuAkEQBC9xYGH_YT5AcELiiG3ZIiEyjtF46btbid1ZzczK3Bv4tBeJBzhoddDV9dzdDvBZzsS5pRRW9mo0itIID3PME8VsrjV4lNwWlUQ-gxKS6EJWf2wxRyIZiSnFK5pI29MRvCqoqASYNWPMLo2ZWc-_3BakeuG7lpCnmPHSPY18Mbw-etXR58fxfb9GkROscECGn76_tttht-uHt37zD-QP0odOOw</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine</title><source>esp@cenet</source><creator>ARNOLD BARRY J ; BROCKMANN RUSSELL C ; KUBICEK DAVID CARL ; MCCORMICK, JR. JAMES E ; STOUT JAMES CURTIS ; DUA ANUJ ; UNDY STEPHEN R</creator><creatorcontrib>ARNOLD BARRY J ; BROCKMANN RUSSELL C ; KUBICEK DAVID CARL ; MCCORMICK, JR. JAMES E ; STOUT JAMES CURTIS ; DUA ANUJ ; UNDY STEPHEN R</creatorcontrib><description>A method of, and apparatus for, interfacing the hardware of a processor capable of processing instructions from more than one type of instruction set. More particularly, an engine responsible for fetching native instructions from a memory subsystem (such as an EM fetch engine) is interfaced with an engine that processes emulated instructions (such as an x86 engine). This is achieved using a handshake protocol, whereby the x86 engine sends an explicit fetch request signal to the EM fetch engine along with a fetch address. The EM fetch engine then accesses the memory subsystem and retrieves a line of instructions for subsequent decode and execution. The EM fetch engine sends this line of instructions to the x86 engine along with an explicit fetch complete signal. The EM fetch engine also includes a fetch address queue capable of holding the fetch addresses before they are processed by the EM fetch engine. The fetch requests are processed such that more than one fetch request may be pending at the same time. If a pending fetch request is canceled due to a pipeline flush, then the fetch address queue is cleared and the pending fetch requests are canceled. The system also prevents macroinstruction (MIQ)-related stalls by using a speculative write pointer to control the issuance of fetch requests, thereby preventing the MIQ from becoming oversubscribed.</description><edition>7</edition><language>eng</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; INFORMATION STORAGE ; PHYSICS ; STATIC STORES</subject><creationdate>2004</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20040113&amp;DB=EPODOC&amp;CC=US&amp;NR=6678817B1$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,776,881,25542,76289</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20040113&amp;DB=EPODOC&amp;CC=US&amp;NR=6678817B1$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>ARNOLD BARRY J</creatorcontrib><creatorcontrib>BROCKMANN RUSSELL C</creatorcontrib><creatorcontrib>KUBICEK DAVID CARL</creatorcontrib><creatorcontrib>MCCORMICK, JR. JAMES E</creatorcontrib><creatorcontrib>STOUT JAMES CURTIS</creatorcontrib><creatorcontrib>DUA ANUJ</creatorcontrib><creatorcontrib>UNDY STEPHEN R</creatorcontrib><title>Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine</title><description>A method of, and apparatus for, interfacing the hardware of a processor capable of processing instructions from more than one type of instruction set. More particularly, an engine responsible for fetching native instructions from a memory subsystem (such as an EM fetch engine) is interfaced with an engine that processes emulated instructions (such as an x86 engine). This is achieved using a handshake protocol, whereby the x86 engine sends an explicit fetch request signal to the EM fetch engine along with a fetch address. The EM fetch engine then accesses the memory subsystem and retrieves a line of instructions for subsequent decode and execution. The EM fetch engine sends this line of instructions to the x86 engine along with an explicit fetch complete signal. The EM fetch engine also includes a fetch address queue capable of holding the fetch addresses before they are processed by the EM fetch engine. The fetch requests are processed such that more than one fetch request may be pending at the same time. If a pending fetch request is canceled due to a pipeline flush, then the fetch address queue is cleared and the pending fetch requests are canceled. The system also prevents macroinstruction (MIQ)-related stalls by using a speculative write pointer to control the issuance of fetch requests, thereby preventing the MIQ from becoming oversubscribed.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>INFORMATION STORAGE</subject><subject>PHYSICS</subject><subject>STATIC STORES</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2004</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNqNjDFuAkEQBC9xYGH_YT5AcELiiG3ZIiEyjtF46btbid1ZzczK3Bv4tBeJBzhoddDV9dzdDvBZzsS5pRRW9mo0itIID3PME8VsrjV4lNwWlUQ-gxKS6EJWf2wxRyIZiSnFK5pI29MRvCqoqASYNWPMLo2ZWc-_3BakeuG7lpCnmPHSPY18Mbw-etXR58fxfb9GkROscECGn76_tttht-uHt37zD-QP0odOOw</recordid><startdate>20040113</startdate><enddate>20040113</enddate><creator>ARNOLD BARRY J</creator><creator>BROCKMANN RUSSELL C</creator><creator>KUBICEK DAVID CARL</creator><creator>MCCORMICK, JR. JAMES E</creator><creator>STOUT JAMES CURTIS</creator><creator>DUA ANUJ</creator><creator>UNDY STEPHEN R</creator><scope>EVB</scope></search><sort><creationdate>20040113</creationdate><title>Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine</title><author>ARNOLD BARRY J ; BROCKMANN RUSSELL C ; KUBICEK DAVID CARL ; MCCORMICK, JR. JAMES E ; STOUT JAMES CURTIS ; DUA ANUJ ; UNDY STEPHEN R</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_US6678817B13</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2004</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>INFORMATION STORAGE</topic><topic>PHYSICS</topic><topic>STATIC STORES</topic><toplevel>online_resources</toplevel><creatorcontrib>ARNOLD BARRY J</creatorcontrib><creatorcontrib>BROCKMANN RUSSELL C</creatorcontrib><creatorcontrib>KUBICEK DAVID CARL</creatorcontrib><creatorcontrib>MCCORMICK, JR. JAMES E</creatorcontrib><creatorcontrib>STOUT JAMES CURTIS</creatorcontrib><creatorcontrib>DUA ANUJ</creatorcontrib><creatorcontrib>UNDY STEPHEN R</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>ARNOLD BARRY J</au><au>BROCKMANN RUSSELL C</au><au>KUBICEK DAVID CARL</au><au>MCCORMICK, JR. JAMES E</au><au>STOUT JAMES CURTIS</au><au>DUA ANUJ</au><au>UNDY STEPHEN R</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine</title><date>2004-01-13</date><risdate>2004</risdate><abstract>A method of, and apparatus for, interfacing the hardware of a processor capable of processing instructions from more than one type of instruction set. More particularly, an engine responsible for fetching native instructions from a memory subsystem (such as an EM fetch engine) is interfaced with an engine that processes emulated instructions (such as an x86 engine). This is achieved using a handshake protocol, whereby the x86 engine sends an explicit fetch request signal to the EM fetch engine along with a fetch address. The EM fetch engine then accesses the memory subsystem and retrieves a line of instructions for subsequent decode and execution. The EM fetch engine sends this line of instructions to the x86 engine along with an explicit fetch complete signal. The EM fetch engine also includes a fetch address queue capable of holding the fetch addresses before they are processed by the EM fetch engine. The fetch requests are processed such that more than one fetch request may be pending at the same time. If a pending fetch request is canceled due to a pipeline flush, then the fetch address queue is cleared and the pending fetch requests are canceled. The system also prevents macroinstruction (MIQ)-related stalls by using a speculative write pointer to control the issuance of fetch requests, thereby preventing the MIQ from becoming oversubscribed.</abstract><edition>7</edition><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_epo_espacenet_US6678817B1
source esp@cenet
subjects CALCULATING
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
INFORMATION STORAGE
PHYSICS
STATIC STORES
title Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-09T11%3A22%3A49IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=ARNOLD%20BARRY%20J&rft.date=2004-01-13&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EUS6678817B1%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true