Specifications
Intel
®
Quark Core—Bus Operation
Intel
®
Quark SoC X1000 Core
Developer’s Manual October 2013
186 Order Number: 329679-001US
Figure 78. Physical Memory and I/O Space Organization
16-bit memories are organized as arrays of two bytes each. Each two bytes begins at
addresses divisible by two. The byte enables BE[3:0]#, must be decoded to A1, BLE#
and BHE# to address 16-bit memories.
To address 8-bit memories, the two low order address bits A0 and A1 must be decoded
from BE[3:0]#. The same logic can be used for 8- and 16-bit memories, because the
decoding logic for BLE# and A0 are the same. (See Section 10.1.3)
10.1.2 Dynamic Data Bus Sizing
Note: The implementation of Intel
®
Quark Core on Intel
®
Quark SoC X1000 does not support
dynamic data bus sizing. Bus width is fixed at 32 bits.
Dynamic data bus sizing is a feature that allows processor connection to 32-, 16- or 8-
bit buses for memory or I/O. The Intel
®
Quark SoC X1000 Core can access all three
bus sizes. Transfers to or from 32-, 16- or 8-bit devices are supported by dynamically
determining the bus width during each bus cycle. Address decoding circuitry may
assert BS16# for 16-bit devices or BS8# for 8-bit devices during each bus cycle. BS8#
and BS16# must be deasserted when addressing 32-bit devices. An 8-bit bus width is
selected if both BS16# and BS8# are asserted.
BS16# and BS8# force the Intel
®
Quark SoC X1000 Core to run additional bus cycles
to complete requests larger than 16 or 8 bits. A 32-bit transfer is converted into two
16-bit transfers (or 3 transfers if the data is misaligned) when BS16# is asserted.
Asserting BS8# converts a 32-bit transfer into four 8-bit transfers.
Extra cycles forced by BS16# or BS8# should be viewed as independent bus cycles.
BS16# or BS8# must be asserted during each of the extra cycles unless the addressed
device has the ability to change the number of bytes it can return between cycles.
The Intel
®
Quark SoC X1000 Core drives the byte enables appropriately during extra
cycles forced by BS8# and BS16#. A[31:2] does not change if accesses are to a 32-bit
aligned area. Table 62 shows the set of byte enables that is generated on the next cycle
for each of the valid possibilities of the byte enables on the current cycle.
The Intel
®
Quark SoC X1000 Core requires that data bytes be driven on the addressed
data pins. The simplest example of this function is a 32-bit aligned, BS16# read. When
the Intel
®
Quark SoC X1000 Core reads the two high order bytes, they must be driven
on the data bus pins D[31:16]. The Intel
®
Quark SoC X1000 Core expects the two low
order bytes on D[15:0].
32-Bit Wide Organization
FFFFFFFFH FFFFFFFCH
16-Bit Wide Organization
FFFFFFFFH
FFFFFFFEH
00000001H
00000000H
{
{
{
{
BE3#
BE2# BE1# BE0#
{
{
BHE# BLE#
00000003H
00000000H










