IEEE Solid-State Circuits Magazine - Spring 2016 - 62

DAC

V1
G1

DAC

l1 = V1.G1

DAC

V2

Word Line

Memristor Cell

DAC

G2

Bit Line

l2 = V2.G2

Driver Circuits in Silicon Substrate
(a)

ADC

l = 11+ l2
V1.G1 + V2.G2

(b)

(c)

Figure 3: A memristive crossbar unit for analog dot product operations.

levels; but these buses (on multiple
DIMMs) are eventually multiplexed on
to a single shared DRAM channel that
carries data into the processor socket.
Thus, the high aggregate intra-DIMM
bandwidth isn't entirely available to a
conventional processor. Moving computational logic to the DIMM allows
the system to leverage the high intraDIMM bandwidth and linearly scale
available bandwidth as more DIMMs
are added to the system. In other
words, 3D-stacked TSVs are not the
only source of high bandwidth; onDIMM buses are a great (and cheaper)
alternative source. The NDC-module
design of Pugsley et al. [27] is optimized for high-bandwidth memory
access for a parallel workload, such
as in-memory MapReduce. It is not a
good fit for applications that cannot
be easily parallelized.
Computation can be placed near
DRAM memory [27], near NVM (PCM
and memristors [36]), or near flashbased solid-state drives [7]. Note
that the benefits of NDP are determined more by the ratio of intraand interpackage data bandwidths,
which can be high in most memory
technologies.

What Programming Models
Are Required?
This remains a key challenge in the
widespread adoption of NDP. Not only
does NDP require the programmer
to grapple with the usual challenges

62

S P R I N G 2 0 16

of parallel/distributed programming
(e.g., how is data partitioned across
the compute units, what are the
semantics/synchronization for dealing with shared data or serialized
critical sections), but the programmer
has to also identify the best location
(i.e., host processor or near-data processor or near-data accelerator) for
any computation. Consider the following example approaches to this
challenge. The NDC proposal of Pugsley et al. [28] does not introduce a
new programming model-it tries to
leverage an existing infrastructure
and developer base. That architecture
is targeted at a class of workloads
that can be handled by the intuitive
MapReduce programming model.
The PEI proposal of Ahn et al. [2]
requires the application developer
or compiler to identify individual
instructions that can be mapped
to functional units on the memory
device. The burden on the developer or compiler is low because the
PEI hardware automatically decides
where that instruction is best executed. The larger community realizes that we are moving in a direction
where specific computations will be
off-loaded to accelerators, whether
they are near memory or not. The evolution of these programming models
and standards will likely play out over
the next five years. NDP introduces a
significant wrinkle to this evolution
because of how caches/memory are

IEEE SOLID-STATE CIRCUITS MAGAZINE

asymmetrically exposed to the various processors.

In-Situ Computing
I will end this section with a discussion of a unique in-memory accelerator, a design that leverages emerging
memristive technology and a memory array organization that not only
stores data but also performs operations on that data.
Figure 3(a) shows a memristive
crossbar array, where cells are implemented as metal-oxide materials between overlapping word lines
and bit lines on different metal layers. The array has no access transistors, and it can be represented
logically as a grid of resistances, as
shown in Figure 3(b). Each cell can
be individually programmed by applying the appropriate combination
of voltage pulses at the word lines
and bit lines [45]. During a read operation, as depicted in Figure 3(c), a
set of voltages V1-VN are applied to
the N word lines. If the cell conductances of the first column are G1-
GN, the current emerging from the
first bit line can be represented as
V1 # G1 + V2 # G2 + ... + VN # GN,
based on Kirchoff's law. In other
words, the current in the first bit
line is the dot product of the vector
of input voltages and the vector of
cell conductances in the first column. In parallel, each of the bit lines
is now performing a dot product of



Table of Contents for the Digital Edition of IEEE Solid-State Circuits Magazine - Spring 2016

IEEE Solid-State Circuits Magazine - Spring 2016 - Cover1
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover2
IEEE Solid-State Circuits Magazine - Spring 2016 - 1
IEEE Solid-State Circuits Magazine - Spring 2016 - 2
IEEE Solid-State Circuits Magazine - Spring 2016 - 3
IEEE Solid-State Circuits Magazine - Spring 2016 - 4
IEEE Solid-State Circuits Magazine - Spring 2016 - 5
IEEE Solid-State Circuits Magazine - Spring 2016 - 6
IEEE Solid-State Circuits Magazine - Spring 2016 - 7
IEEE Solid-State Circuits Magazine - Spring 2016 - 8
IEEE Solid-State Circuits Magazine - Spring 2016 - 9
IEEE Solid-State Circuits Magazine - Spring 2016 - 10
IEEE Solid-State Circuits Magazine - Spring 2016 - 11
IEEE Solid-State Circuits Magazine - Spring 2016 - 12
IEEE Solid-State Circuits Magazine - Spring 2016 - 13
IEEE Solid-State Circuits Magazine - Spring 2016 - 14
IEEE Solid-State Circuits Magazine - Spring 2016 - 15
IEEE Solid-State Circuits Magazine - Spring 2016 - 16
IEEE Solid-State Circuits Magazine - Spring 2016 - 17
IEEE Solid-State Circuits Magazine - Spring 2016 - 18
IEEE Solid-State Circuits Magazine - Spring 2016 - 19
IEEE Solid-State Circuits Magazine - Spring 2016 - 20
IEEE Solid-State Circuits Magazine - Spring 2016 - 21
IEEE Solid-State Circuits Magazine - Spring 2016 - 22
IEEE Solid-State Circuits Magazine - Spring 2016 - 23
IEEE Solid-State Circuits Magazine - Spring 2016 - 24
IEEE Solid-State Circuits Magazine - Spring 2016 - 25
IEEE Solid-State Circuits Magazine - Spring 2016 - 26
IEEE Solid-State Circuits Magazine - Spring 2016 - 27
IEEE Solid-State Circuits Magazine - Spring 2016 - 28
IEEE Solid-State Circuits Magazine - Spring 2016 - 29
IEEE Solid-State Circuits Magazine - Spring 2016 - 30
IEEE Solid-State Circuits Magazine - Spring 2016 - 31
IEEE Solid-State Circuits Magazine - Spring 2016 - 32
IEEE Solid-State Circuits Magazine - Spring 2016 - 33
IEEE Solid-State Circuits Magazine - Spring 2016 - 34
IEEE Solid-State Circuits Magazine - Spring 2016 - 35
IEEE Solid-State Circuits Magazine - Spring 2016 - 36
IEEE Solid-State Circuits Magazine - Spring 2016 - 37
IEEE Solid-State Circuits Magazine - Spring 2016 - 38
IEEE Solid-State Circuits Magazine - Spring 2016 - 39
IEEE Solid-State Circuits Magazine - Spring 2016 - 40
IEEE Solid-State Circuits Magazine - Spring 2016 - 41
IEEE Solid-State Circuits Magazine - Spring 2016 - 42
IEEE Solid-State Circuits Magazine - Spring 2016 - 43
IEEE Solid-State Circuits Magazine - Spring 2016 - 44
IEEE Solid-State Circuits Magazine - Spring 2016 - 45
IEEE Solid-State Circuits Magazine - Spring 2016 - 46
IEEE Solid-State Circuits Magazine - Spring 2016 - 47
IEEE Solid-State Circuits Magazine - Spring 2016 - 48
IEEE Solid-State Circuits Magazine - Spring 2016 - 49
IEEE Solid-State Circuits Magazine - Spring 2016 - 50
IEEE Solid-State Circuits Magazine - Spring 2016 - 51
IEEE Solid-State Circuits Magazine - Spring 2016 - 52
IEEE Solid-State Circuits Magazine - Spring 2016 - 53
IEEE Solid-State Circuits Magazine - Spring 2016 - 54
IEEE Solid-State Circuits Magazine - Spring 2016 - 55
IEEE Solid-State Circuits Magazine - Spring 2016 - 56
IEEE Solid-State Circuits Magazine - Spring 2016 - 57
IEEE Solid-State Circuits Magazine - Spring 2016 - 58
IEEE Solid-State Circuits Magazine - Spring 2016 - 59
IEEE Solid-State Circuits Magazine - Spring 2016 - 60
IEEE Solid-State Circuits Magazine - Spring 2016 - 61
IEEE Solid-State Circuits Magazine - Spring 2016 - 62
IEEE Solid-State Circuits Magazine - Spring 2016 - 63
IEEE Solid-State Circuits Magazine - Spring 2016 - 64
IEEE Solid-State Circuits Magazine - Spring 2016 - 65
IEEE Solid-State Circuits Magazine - Spring 2016 - 66
IEEE Solid-State Circuits Magazine - Spring 2016 - 67
IEEE Solid-State Circuits Magazine - Spring 2016 - 68
IEEE Solid-State Circuits Magazine - Spring 2016 - 69
IEEE Solid-State Circuits Magazine - Spring 2016 - 70
IEEE Solid-State Circuits Magazine - Spring 2016 - 71
IEEE Solid-State Circuits Magazine - Spring 2016 - 72
IEEE Solid-State Circuits Magazine - Spring 2016 - 73
IEEE Solid-State Circuits Magazine - Spring 2016 - 74
IEEE Solid-State Circuits Magazine - Spring 2016 - 75
IEEE Solid-State Circuits Magazine - Spring 2016 - 76
IEEE Solid-State Circuits Magazine - Spring 2016 - 77
IEEE Solid-State Circuits Magazine - Spring 2016 - 78
IEEE Solid-State Circuits Magazine - Spring 2016 - 79
IEEE Solid-State Circuits Magazine - Spring 2016 - 80
IEEE Solid-State Circuits Magazine - Spring 2016 - 81
IEEE Solid-State Circuits Magazine - Spring 2016 - 82
IEEE Solid-State Circuits Magazine - Spring 2016 - 83
IEEE Solid-State Circuits Magazine - Spring 2016 - 84
IEEE Solid-State Circuits Magazine - Spring 2016 - 85
IEEE Solid-State Circuits Magazine - Spring 2016 - 86
IEEE Solid-State Circuits Magazine - Spring 2016 - 87
IEEE Solid-State Circuits Magazine - Spring 2016 - 88
IEEE Solid-State Circuits Magazine - Spring 2016 - 89
IEEE Solid-State Circuits Magazine - Spring 2016 - 90
IEEE Solid-State Circuits Magazine - Spring 2016 - 91
IEEE Solid-State Circuits Magazine - Spring 2016 - 92
IEEE Solid-State Circuits Magazine - Spring 2016 - 93
IEEE Solid-State Circuits Magazine - Spring 2016 - 94
IEEE Solid-State Circuits Magazine - Spring 2016 - 95
IEEE Solid-State Circuits Magazine - Spring 2016 - 96
IEEE Solid-State Circuits Magazine - Spring 2016 - 97
IEEE Solid-State Circuits Magazine - Spring 2016 - 98
IEEE Solid-State Circuits Magazine - Spring 2016 - 99
IEEE Solid-State Circuits Magazine - Spring 2016 - 100
IEEE Solid-State Circuits Magazine - Spring 2016 - 101
IEEE Solid-State Circuits Magazine - Spring 2016 - 102
IEEE Solid-State Circuits Magazine - Spring 2016 - 103
IEEE Solid-State Circuits Magazine - Spring 2016 - 104
IEEE Solid-State Circuits Magazine - Spring 2016 - 105
IEEE Solid-State Circuits Magazine - Spring 2016 - 106
IEEE Solid-State Circuits Magazine - Spring 2016 - 107
IEEE Solid-State Circuits Magazine - Spring 2016 - 108
IEEE Solid-State Circuits Magazine - Spring 2016 - 109
IEEE Solid-State Circuits Magazine - Spring 2016 - 110
IEEE Solid-State Circuits Magazine - Spring 2016 - 111
IEEE Solid-State Circuits Magazine - Spring 2016 - 112
IEEE Solid-State Circuits Magazine - Spring 2016 - 113
IEEE Solid-State Circuits Magazine - Spring 2016 - 114
IEEE Solid-State Circuits Magazine - Spring 2016 - 115
IEEE Solid-State Circuits Magazine - Spring 2016 - 116
IEEE Solid-State Circuits Magazine - Spring 2016 - 117
IEEE Solid-State Circuits Magazine - Spring 2016 - 118
IEEE Solid-State Circuits Magazine - Spring 2016 - 119
IEEE Solid-State Circuits Magazine - Spring 2016 - 120
IEEE Solid-State Circuits Magazine - Spring 2016 - 121
IEEE Solid-State Circuits Magazine - Spring 2016 - 122
IEEE Solid-State Circuits Magazine - Spring 2016 - 123
IEEE Solid-State Circuits Magazine - Spring 2016 - 124
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover3
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2019
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2019
https://www.nxtbook.com/nxtbooks/ieee/mssc_2019summer
https://www.nxtbook.com/nxtbooks/ieee/mssc_2019winter
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018fall
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018summer
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018spring
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018winter
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2014
https://www.nxtbookmedia.com