Reduced power addressing
An intermediate component can be provided between initiator components (from which access requests are originated) and target components (that are to be accessed via the access requests). The intermediate component can encode, decode, and/or bypass the encoding process of address bits to ensure that address bits of the access requests are in a format that is compatible with access of the respective target component.
1 . A method, comprising:
selectively transferring, from a first selection component and responsive to receiving a first access request and a second access request respectively to access a first target component, a number of address bits of the first access request or the second access request to a first address encoder;
converting, at the first address encoder, a format of the number of address bits from a first format to a second format, wherein the second format corresponds to a reduced Hamming distance binary code format that involves a reduced number of toggles in accessing the first target component than using the first format;
accessing the first target component using the number of address bits having the second format;
receiving a third access request with address bits having the first format to access a second target component, wherein the second target component is not compatible with access via address bits having the second format; and
transferring, to the second target component, the third access request with the address bits having the first format as is to cause the third access request to be executed at the target component with the address bits in the first format.
2 . The method of claim 1 , wherein accessing the first target component using the number of address bits having the second format further comprises:
accessing a first address of the target component using a first set of address bits having the second format; and
sequentially accessing a second address of the target component using a set of address bits having the second format by toggling an address signal associated with the first target component to indicate a flipped bit between the first and second sets of address bits.
3 . The method of claim 1 , wherein converting the format of the number of address bits at the first address encoder further comprises:
converting a first portion of the number of address bits from the first format to the second format, while a second portion of the number of address bits is not converted to the second format.
4 . The method of claim 1 , further comprising:
receiving a third access request with address bits having the first format to access a second target component, wherein the second target component is not compatible with access via address bits having the second format;
converting, at a second address encoder, a format of the address bits of the third access request from the first format to the second format;
converting, at a first address decoder, the format of the address bits of the third access request from the second format back to the first format prior to transferring the third access request to the second target component; and
transferring, to the second target component, the third access request with the address bits having the first format to cause the third access request to be executed at the target component with the address bits in the first format.
5 . The method of claim 1 , wherein the first target component is further coupled to a second selection component, wherein the method further comprises:
receiving, at the second selection component, a plurality of access requests that are encoded at different address encoders; and
selectively transferring, at the second selection component, a number of address bits of a respective one of the plurality of access requests to the first target component.
6 . An apparatus, comprising:
a first address encoder;
a first selection component coupled to the first address encoder, the first selection component configured to selectively transfer a first access request or a second access request to the first address encoder in response to receipt of the first and second access requests respectively to access a target component;
the first address encoder configured to convert, to encode a first number of address bits of the first access request or the second access request, the first number of address bits having a first format to a second format, wherein the second format corresponds to a reduced Hamming distance binary code format that involves a reduced number of toggles in accessing the target component than using the first format; and
a second selection component configured to:
receive a plurality of access requests including the first access request or the second access request with the first number of address bits having the converted format; and
selectively transfer one of the plurality of access requests to the target component to access the target component via execution of the one of the plurality of access requests; and
wherein the second selection component is further configured to convert, to decode a third number of address bits of a respective access request of the plurality of access requests, the third number of address bits from the second format back to the first format.
7 . The apparatus of claim 6 , wherein the first address encoder is configured to convert a first portion of the first number of address bits from the first format to the second format, while a second portion of the first number of address bits is not converted to the second format.
8 . The apparatus of claim 6 , further comprising a second address encoder configured to:
receive a third access request to access the target component;
convert, to encode a second number of address bits of the third access request, the second number of address bits having the first format to the second format; and
transfer the third access request having the converted format to the second selection component.
9 . The apparatus of claim 6 , wherein at least two access requests of the plurality of access requests are received at the second selection component from different address encoders.
10 . The apparatus of claim 6 , wherein address bits of at least two access requests of the plurality of access requests received at the second selection component have different formats.
11 . The apparatus of claim 6 , wherein the first number of address bits comprises a plurality of sets of address bits respectively corresponding to a plurality of addresses of the target component that are to be sequentially accessed via the first number of address bits.
12 . The apparatus of claim 11 , wherein respective binary values of two sets of address bits of the first number of address bits differ in a single bit position.
13 . The apparatus of claim 6 , wherein the reduced Hamming distance binary code format is a reflected binary code (RBC) format, a Johnson ring binary code format, or a unit-distance code format, or any combination thereof.
14 . A system, comprising:
a plurality of initiator components configured to issue respective access requests to access at least one of a plurality of target components;
an intermediate component coupled to the plurality of initiator components and the plurality of target components, the intermediate component configured to:
in response to receipt of a first access request to access the first target component from a first initiator component of the plurality of target components, wherein the first target component is compatible with access via address bits having a first format corresponding to a reduced Hamming distance binary code format:
convert a first number of address bits of the first access request and having a second format to the first format; and
transfer the first number of address bits having the converted format to the first target component to cause the first target component to be accessed using the first number of address bits having the converted format; and
in response to receipt of a second access request to access the second target component from a second initiator component of the plurality of target components, wherein the second target component is not compatible with access via address bits having the first format;
convert a second number of address bits of the second access request and having a second format to the first format;
convert the second number of address bits of the second access request and having the first format to the second format prior to the second access request being received at the second target component; and
transfer the second number of address bits having the converted format to the second target component to cause the second target component to be accessed using the second number of address bits having the second format.
15 . The system of claim 14 , wherein the intermediate component further comprises an address decoder directly coupled to at least one of the plurality of initiator components or the plurality of target components, the address decoder configured to convert a third number of address bits of a third access request generated at the one of the plurality of initiator components to the first format.
16 . The system of claim 14 , wherein the intermediate component is configured to:
receive a third access request to access the second target component and including a number of address bits having the second format; and
transfer the third access request having the second format to the second target component as is to cause the second target component to be accessed using the third access request having the second format.
17 . The system of claim 14 , wherein the intermediate component is configured to:
receive a third access request to access the first target component and including a third number of address bits having the second format; and
convert, at different address encoders of the intermediate component, respective formats of the first number of address bits and the third number of address bits to the first format.
18 . The system of claim 14 , wherein:
the system is a System-on-Chip (SoC); and
the plurality of target components comprises one or more initiator ports, loopback ports, input/output (I/O) ports of an initiator connector, or any combination thereof.
19 . A method, comprising:
selectively transferring, from a first selection component and responsive to receiving a first access request and a second access request respectively to access a first target component, a number of address bits of the first access request or the second access request to a first address encoder;
converting, at the first address encoder, a format of the number of address bits from a first format to a second format, wherein the second format corresponds to a reduced Hamming distance binary code format that involves a reduced number of toggles in accessing the first target component than using the first format; and
accessing the first target component using the number of address bits having the second format, wherein the method further comprises:
receiving a third access request with address bits having the first format to access a second target component, wherein the second target component is not compatible with access via address bits having the second format;
converting, at a second address encoder, a format of the address bits of the third access request from the first format to the second format;
converting, at a first address decoder, the format of the address bits of the third access request from the second format back to the first format prior to transferring the third access request to the second target component; and
transferring, to the second target component, the third access request with the address bits having the first format to cause the third access request to be executed at the target component with the address bits in the first format.
20 . An apparatus, comprising:
a first address encoder;
a first selection component coupled to the first address encoder, the first selection component configured to selectively transfer a first access request or a second access request to the first address encoder in response to receipt of the first and second access requests respectively to access a target component;
the first address encoder configured to convert, to encode a first number of address bits of the first access request or the second access request, convert a first portion of the first number of address bits from the first format to the second format, while a second portion of the first number of address bits is not converted to the second format, wherein the second format corresponds to a reduced Hamming distance binary code format that involves a reduced number of toggles in accessing the target component than using the first format; and
a second selection component configured to:
receive a plurality of access requests including the first access request or the second access request with the first number of address bits having the converted format; and
selectively transfer one of the plurality of access requests to the target component to access the target component via execution of the one of the plurality of access requests.
21 . An apparatus, comprising:
a first address encoder;
a second address encoder;
a first selection component coupled to the first address encoder, the first selection component configured to selectively transfer a first access request or a second access request to the first address encoder in response to receipt of the first and second access requests respectively to access a target component;
the first address encoder configured to convert, to encode a first number of address bits of the first access request or the second access request, the first number of address bits having a first format to a second format, wherein the second format corresponds to a reduced Hamming distance binary code format that involves a reduced number of toggles in accessing the target component than using the first format;
the second address encoder configured to:
receive a third access request to access the target component;
convert, to encode a second number of address bits of the third access request, the second number of address bits having the first format to the second format; and
transfer the third access request having the converted format to the second selection component; and
a second selection component configured to:
receive a plurality of access requests including the first access request or the second access request with the first number of address bits having the converted format; and
selectively transfer one of the plurality of access requests to the target component to access the target component via execution of the one of the plurality of access requests.
22 . An apparatus, comprising:
a first address encoder;
a first selection component coupled to the first address encoder, the first selection component configured to selectively transfer a first access request or a second access request to the first address encoder in response to receipt of the first and second access requests respectively to access a target component;
the first address encoder configured to convert, to encode a first number of address bits of the first access request or the second access request, the first number of address bits having a first format to a second format, wherein the second format corresponds to a reduced Hamming distance binary code format that involves a reduced number of toggles in accessing the target component than using the first format; and
a second selection component configured to:
receive a plurality of access requests including the first access request or the second access request with the first number of address bits having the converted format, wherein at least two access requests of the plurality of access requests received at the second selection component have different formats or are received from different address encoders; and
selectively transfer one of the plurality of access requests to the target component to access the target component via execution of the one of the plurality of access requests.