← Back to Patent Explorer
US5574923A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor

Assignee: Intel Corp
•
Filing: 1993-05-10
•
Granted: 1996-11-12
•
Expires: 2013-05-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for performing bi-endian byte and short accesses in a single endian microprocessor. The present invention is used in a microprocessor or in a microprocessor in a computer system. The present invention provides a single endian microprocessor that promotes sub-word accesses to word accesses with a means for manipulating the two least significant bits of the access address to point to the correct sub-word data returned during an access to bi-endian external memory. The method for manipulating the address bits is also used to allow a single endian data cache to operate with the bi-endian external memory. The two LSBs of the address are manipulated such that the pointer values are A1# and A0# for word promoted byte accesses or cacheable accesses. For word promoted short accesses or cacheable accesses, the pointer values are A1# and A0. The present invention offers increased flexibility in interfacing a single-endian microprocessor with bi-endian systems. The present invention provides easy interfacing without undue or overly complex modifications to existing circuits.

Inventors

  • 👤 Jay Heeb
  • 👤 Sunil Shenoy
  • 👤 Scott Huck

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 23:41
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/76; G06F7/768; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4009; G06F13/4013; G06F9/00; G06F9/06; G06F9/30; G06F9/34

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 134 words
A microprocessor for accessing an external memory containing first endian ordered data and second endian ordered data, said microprocessor comprising: a local bus; a bus controller coupled to said local bus and having an interface for coupling to said external memory, said bus controller comprising: loading means for loading sub-word data and word data from said external memory onto said local bus, said loading means promoting loads of sub-word data to loads of word data, the word data including the sub-word data; converting means coupled to said loading means, said converting means for converting first endian ordered data loaded from said external memory to second endian ordered data; and pointer means coupled to said local bus, said pointer means for pointing to the sub-word data within the word data placed on said local bus.
Claim 2
Dependent Claim 134 words
A microprocessor for accessing an external memory containing first endian ordered data and second endian ordered data, said microprocessor comprising: a local bus; a bus controller coupled to said local bus and having an interface for coupling to said external memory, said bus controller comprising: loading means for loading sub-word data and word data from said external memory onto said local bus, said loading means promoting loads of sub-word data to loads of word data, the word data including the sub-word data; converting means coupled to said loading means, said converting means for converting first endian ordered data loaded from said external memory to second endian ordered data; and pointer means coupled to said local bus, said pointer means for pointing to the sub-word data within the word data placed on said local bus.
Claim 3
Dependent Claim 15 words
The microprocessor of claim 1 wherein the sub-word data is either byte or short data.
Claim 4
Dependent Claim 27 words
The microprocessor of claim 1 wherein the first endian ordered data is big endian ordered data and the second endian ordered data is little endian ordered data.
Claim 5
Dependent Claim 60 words
The microprocessor of claim 1 wherein said pointer means drives first and second pointer signals that point to the first sub-word data within the word data placed on said local bus, the first and second pointer signals being based on the least significant and next least significant bits, respectively, of an address of the sub-word data in said external memory.
Claim 6
Dependent Claim 95 words
The microprocessor of claim 4 wherein, if the sub-word data is first endian ordered short data, the first and second pointer signals are based on the least significant and complement of the next least significant bits of the address of the short data in said external memory, and wherein, if the sub-word data is byte data and the word data is first endian ordered, the first and second pointer signals are based on the complement of the least significant and next least significant bits of the address of the byte data in said external memory.
Claim 7
Dependent Claim 123 words
A microprocessor for accessing an external memory containing first endian ordered data and second endian ordered data, said microprocessor comprising: a local bus; a bus controller coupled to said local bus and including an interface for coupling to said external memory, said bus controller being configured to load sub-word data and word data from said external memory controller being further configured to promote loads of sub-word data to loads of word data, the word data including the sub-word data; said bus controller further including: a converter unit configured to convert first endian ordered data loaded from said external memory to second endian ordered data; and pointer unit configured to point to the sub-word data within the word data placed on said local bus.
Claim 8
Dependent Claim 123 words
A microprocessor for accessing an external memory containing first endian ordered data and second endian ordered data, said microprocessor comprising: a local bus; a bus controller coupled to said local bus and including an interface for coupling to said external memory, said bus controller being configured to load sub-word data and word data from said external memory controller being further configured to promote loads of sub-word data to loads of word data, the word data including the sub-word data; said bus controller further including: a converter unit configured to convert first endian ordered data loaded from said external memory to second endian ordered data; and pointer unit configured to point to the sub-word data within the word data placed on said local bus.
Claim 9
Dependent Claim 15 words
The microprocessor of claim 6 wherein the sub-word data is either byte or short data.
Claim 10
Dependent Claim 27 words
The microprocessor of claim 6 wherein the first endian ordered data is big endian ordered data and the second endian ordered data is little endian ordered data.
Claim 11
Dependent Claim 60 words
The microprocessor of claim 6 wherein said pointer unit drives first and second pointer signals that point to the first sub-word data within the word data placed on said local bus, the first and second pointer signals being based on the least significant and next least significant bits, respectively, of an address of the sub-word data in said external memory.
Claim 12
Dependent Claim 26 words
The microprocessor of claim 9 wherein, if the word data is first endian ordered, at least one of the first and second pointer signals is complemented.
Claim 13
Dependent Claim 154 words
A computer system comprising: a system bus; an external memory coupled to said system bus; and a microprocessor coupled to said system bus, said microprocessor comprising: a local bus; a core coupled to said local bus; and a bus controller coupled to said local bus and to said system bus, said bus controller being configured to: receive via said local bus an instruction from said core to perform a load of a sub-word datum from said external memory; promote the load of the sub-word datum to a load of a word datum, the word datum including the sub-word datum: convert the word datum from a first endian ordering to a second endian ordering; place the word datum on said local bus; and set the state of one or more pointer signals in said local bus, the one or more pointer signals pointing to the sub-word datum within the word-datum placed on said local bus.
Claim 14
Dependent Claim 154 words
A computer system comprising: a system bus; an external memory coupled to said system bus; and a microprocessor coupled to said system bus, said microprocessor comprising: a local bus; a core coupled to said local bus; and a bus controller coupled to said local bus and to said system bus, said bus controller being configured to: receive via said local bus an instruction from said core to perform a load of a sub-word datum from said external memory; promote the load of the sub-word datum to a load of a word datum, the word datum including the sub-word datum: convert the word datum from a first endian ordering to a second endian ordering; place the word datum on said local bus; and set the state of one or more pointer signals in said local bus, the one or more pointer signals pointing to the sub-word datum within the word-datum placed on said local bus.
Claim 15
Dependent Claim 16 words
The computer system of claim 11 wherein the sub-word data is either byte or short data.
Claim 16
Dependent Claim 64 words
The computer system of claim 11 wherein said external memory includes a first region containing data of the first endian ordering and a second region containing data of the second endian ordering and wherein said bus controller is further configured to convert the word datum to a second endian ordering only if the word datum is obtained from first region of said external memory.
Claim 17
Dependent Claim 26 words
The computer system of claim 12 wherein the one or more pointer signals represent least significant address bits of the sub-word data in said external memory.
Claim 18
Dependent Claim 29 words
The computer system of claim 14 wherein at least one of said one or more pointer signals is complemented if the word datum is of a first endian ordering.
Claim 19
Dependent Claim 117 words
A bus controller comprising: a first bus interface and a second bus interface; loading logic configured to load sub-word data from the first bus interface onto the second bus interface, said loading logic further configured to promote a load of a sub-word data to a load of a word data, the word data loaded including the sub-word data; a converting unit configured to convert data loaded from the first bus interface from a first endian ordering to a second endian ordering before said loading logic loads the data onto the second bus interface; a pointer unit configured to point to the sub-word data within the word data placed onto the second bus interface by said loading logic.
Claim 20
Dependent Claim 117 words
A bus controller comprising: a first bus interface and a second bus interface; loading logic configured to load sub-word data from the first bus interface onto the second bus interface, said loading logic further configured to promote a load of a sub-word data to a load of a word data, the word data loaded including the sub-word data; a converting unit configured to convert data loaded from the first bus interface from a first endian ordering to a second endian ordering before said loading logic loads the data onto the second bus interface; a pointer unit configured to point to the sub-word data within the word data placed onto the second bus interface by said loading logic.
Claim 21
Dependent Claim 143 words
A microprocessor for accessing an external memory, said microprocessor comprising: a local bus; a core coupled to said local bus; and a bus controller coupled to said local bus and having an interface for coupling to said external memory; said bus controller being configured to: receive via said local bus an instruction from said core to perform a load of a sub-word datum from said external memory; promote the load of the sub-word datum to a load of a word datum, the word datum including the sub-word datum; convert the word datum from a first endian ordering to a second endian ordering; place the word datum on said local bus; and set the state of one or more pointer signals in said local bus, the one or more pointer signals pointing to the sub-word datum within the word-datum placed on said local bus.
Claim 22
Dependent Claim 143 words
A microprocessor for accessing an external memory, said microprocessor comprising: a local bus; a core coupled to said local bus; and a bus controller coupled to said local bus and having an interface for coupling to said external memory; said bus controller being configured to: receive via said local bus an instruction from said core to perform a load of a sub-word datum from said external memory; promote the load of the sub-word datum to a load of a word datum, the word datum including the sub-word datum; convert the word datum from a first endian ordering to a second endian ordering; place the word datum on said local bus; and set the state of one or more pointer signals in said local bus, the one or more pointer signals pointing to the sub-word datum within the word-datum placed on said local bus.
Claim 23
Dependent Claim 15 words
The microprocessor of claim 17 wherein the sub-word data is either byte or short data.
Claim 24
Dependent Claim 64 words
The microprocessor of claim 17 wherein said external memory includes a first region containing data of the first endian ordering and a second region containing data of the second endian ordering and wherein said bus controller is further configured to convert the word datum to a second endian ordering only if the word datum is obtained from the first region of said external memory.
Claim 25
Dependent Claim 50 words
The microprocessor of claim 19 wherein said bus controller includes a memory region table indicating endian ordering of the first and second regions of said external memory and wherein said bus controller is further configured to determine the endian ordering of the word datum based on the memory region table.
Claim 26
Dependent Claim 41 words
The microprocessor of claim 17 wherein said bus controller is further configured to promote the load of the sub-word datum to a load of a word datum upon determining that the sub-word datum sought was not read from a cache memory.
Claim 27
Dependent Claim 45 words
The microprocessor of claim 17 wherein said bus controller is further configured to promote the load of the sub-word datum to a load of a word datum by zeroing the two least significant bits of the address of the sub-word datum in said external memory.
Claim 28
Dependent Claim 25 words
The microprocessor of claim 17 wherein the one or more pointer signals represent least significant address bits of the sub-word data in said external memory.
Claim 29
Dependent Claim 28 words
The microprocessor of claim 23 wherein at least one of said one or more pointer signals is complemented if the word datum is of a first endian ordering.

References Cited (Backward Citations)

US4792897A Cited
US4959779A Cited
US5113506A Cited
US4956809A Cited
US4931925A Cited
US4977497A Cited
US5107415A Cited
US5265237A Cited
US5446865A Cited
US5408664A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-11-12 2000-05-13 2000-11-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-11-12 2004-05-13 2004-11-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-11-12 2008-05-13 2008-11-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag