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...
Gespeichert in:
Hauptverfasser: | , , , , , , |
---|---|
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_US7356674B2</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>US7356674B2</sourcerecordid><originalsourceid>FETCH-epo_espacenet_US7356674B23</originalsourceid><addsrcrecordid>eNqNjDFuQjEQRH9DgQJ32AvQQIAeBKJJRVKjxcznW8Jea3ctwhm4NI6UA1CMppg3b9w9v-CDXIhzSyms7NWoF6UeHoaYrxSzudbgUXJbVBL5AEpIog-yeraHORJJT0wp_qKJtD0dwauCikqAWTPG7NKYgfVy57Yg1Rv_aQn5GjMm3ajnm2H63x8d7Xff28MMRU6wwgEZfvo5rhfL1Wr9uZkv3kBe0a1OMw</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><language>eng</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; INFORMATION STORAGE ; PHYSICS ; STATIC STORES</subject><creationdate>2008</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&date=20080408&DB=EPODOC&CC=US&NR=7356674B2$$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&date=20080408&DB=EPODOC&CC=US&NR=7356674B2$$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>2008</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNqNjDFuQjEQRH9DgQJ32AvQQIAeBKJJRVKjxcznW8Jea3ctwhm4NI6UA1CMppg3b9w9v-CDXIhzSyms7NWoF6UeHoaYrxSzudbgUXJbVBL5AEpIog-yeraHORJJT0wp_qKJtD0dwauCikqAWTPG7NKYgfVy57Yg1Rv_aQn5GjMm3ajnm2H63x8d7Xff28MMRU6wwgEZfvo5rhfL1Wr9uZkv3kBe0a1OMw</recordid><startdate>20080408</startdate><enddate>20080408</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>20080408</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_US7356674B23</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2008</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>2008-04-08</date><risdate>2008</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><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | |
ispartof | |
issn | |
language | eng |
recordid | cdi_epo_espacenet_US7356674B2 |
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%3A17%3A34IST&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=2008-04-08&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EUS7356674B2%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 |