Knowledge

Computing with Memory

Source 📝

219:
reconfigurable computing platform for implementing digital circuits. They follow a purely spatial computing model. Since their inception in 1985, the basic structure of the FPGAs has continued to consist of two-dimensional array of Configurable Logic blocks (CLBs) and a programmable interconnect matrix. FPGA performance and power dissipation is largely dominated by the elaborate programmable interconnect (PI) architecture. An effective way of reducing the impact of the PI architecture in FPGA is to place small LUTs in close proximity (referred as clusters) and to allow intra-cluster communication using local interconnects. Due to the benefits of a clustered FPGA architecture, major FPGA vendors have incorporated it in their commercial products. Investigations have also been made to reduce the overhead due to PI in fine-grained FPGAs by mapping larger multi-input multi-output LUTs to embedded memory blocks. Although it follows a similar spatial computing model, part of the logic functions are implemented using embedded memory blocks while the remaining part is realized using smaller LUTs. Such a heterogeneous mapping can improve the area and performance by reducing the contribution of programmable interconnects.
235:
generates the address for LUT access. Multiple such computing elements can be spatially connected using FPGA-like programmable interconnect architecture to enable mapping of large functions. The local time-multiplexed execution inside the computing elements can drastically reduce the requirement of programmable interconnects leading to large improvement in energy-delay product and better scalability of performance across technology generations. The memory array inside each computing element can be realized by
202:(FPGA), or a temporal computing model, where a function is evaluated across multiple clock cycles. The latter approach aims at reducing the overhead of programmable interconnect in FPGA by folding interconnect resources inside a computing element. It uses dense two-dimensional memory arrays to store large multiple-input multiple-output LUTs. Computing with Memory differs from Computing in Memory or 22: 121: 63: 234:
Each computing element incorporates a two-dimensional memory array for storing LUTs, a small controller for sequencing evaluation of sub-functions and a set of temporary registers to hold the intermediate outputs from individual partitions. A fast, local routing framework inside each computing block
222:
Contrary to the purely spatial computing model of FPGA, a reconfigurable computing platform that employs a temporal computing model (or a combination of both temporal and spatial) has also been investigated in the context of improving performance and energy over conventional FPGA. These platforms,
218:
Computing with memory platforms are typically used to provide the benefit of hardware reconfigurability. Reconfigurable computing platforms offer advantages in terms of reduced design cost, early time-to-market, rapid prototyping and easily customizable hardware systems. FPGAs present a popular
206:(PIM) concepts, widely investigated in the context of integrating a processor and memory on the same chip to reduce memory latency and increase bandwidth. These architectures seek to reduce the distance the data travels between the processor and the memory. The 367:
S. Paul, S. Chatterjee, S. Mukhopadhyay and S. Bhunia, "Nanoscale Reconfigurable Computing Using Non-Volatile 2-D STTRAM Array", International Conference on Nanotechnology, 2009.
139: 355:
S. Paul and S. Bhunia, "Reconfigurable Computing Using Content Addressable Memory for Improved Performance and Resource Usage", Design Automation Conference, 2008.
198:(LUTs) and functions are evaluated by retrieving the values from the LUTs. These computing platforms can follow either a purely spatial computing model, as in 223:
referred as Memory Based Computing (MBC), use dense two-dimensional memory array to store the LUTs. Such frameworks rely on breaking a complex function (
308:
A. Rahman, S. Das, A. P. Chandrakasan, R. Reif, "Wiring Requirement and Three-Dimensional Integration Technology for Field Programmable Gate Arrays",
84: 71: 35: 227:) into small sub-functions; representing the sub-functions as multi-input, multi-output LUTs in the memory array; and evaluating the function 175: 157: 102: 49: 343:
J. Cong and S. Xu, "Technology Mapping for FPGAs with Embedded Memory Blocks", Symposium on Field Programmable Gate Array, 1998.
194:
refers to computing platforms where function response is stored in memory array, either one or two-dimensional, in the form of
387: 231:
over multiple cycles. MBC can leverage on the high density, low power and high performance advantages of nanoscale memory.
382: 253: 199: 236: 41: 264: 207: 203: 248: 376: 195: 259: 239:(CAM) to drastically reduce the memory requirement for certain applications. 282:
K.Compton and S. Hauck, "Computing: A Survey of systems and software",
210:
is one notable contribution in the area of PIM architectures.
114: 56: 15: 332: 321: 135: 80: 310:
IEEE Trans. on Very Large Scale Integration Systems
130:
may be too technical for most readers to understand
8: 50:Learn how and when to remove these messages 176:Learn how and when to remove this message 158:Learn how and when to remove this message 142:, without removing the technical details. 103:Learn how and when to remove this message 297:Field Programmable Gate Array Technology 363: 361: 351: 349: 275: 140:make it understandable to non-experts 7: 14: 312:, Vol. 11, No. 1, February, 2003. 31:This article has multiple issues. 119: 61: 20: 39:or discuss these issues on the 1: 286:, Vol. 34, No. 2, June, 2002. 254:Field-programmable gate array 200:field-programmable gate array 299:, Norwell, MA: Kluwer, 1994. 404: 237:content-addressable memory 188:Type of computing platform 265:Reconfigurable Computing 75:may need to be rewritten 388:Models of computation 208:Berkeley IRAM project 192:Computing with Memory 383:Computer engineering 204:processor-in-memory 333:Altera Corporation 322:Xilinx Corporation 295:S. M. Trimberger, 249:Computational RAM 186: 185: 178: 168: 167: 160: 113: 112: 105: 85:lead layout guide 54: 395: 368: 365: 356: 353: 344: 341: 335: 330: 324: 319: 313: 306: 300: 293: 287: 280: 181: 174: 163: 156: 152: 149: 143: 123: 122: 115: 108: 101: 97: 94: 88: 81:improve the lead 65: 64: 57: 46: 24: 23: 16: 403: 402: 398: 397: 396: 394: 393: 392: 373: 372: 371: 366: 359: 354: 347: 342: 338: 331: 327: 320: 316: 307: 303: 294: 290: 281: 277: 273: 245: 216: 189: 182: 171: 170: 169: 164: 153: 147: 144: 136:help improve it 133: 124: 120: 109: 98: 92: 89: 78: 66: 62: 25: 21: 12: 11: 5: 401: 399: 391: 390: 385: 375: 374: 370: 369: 357: 345: 336: 325: 314: 301: 288: 274: 272: 269: 268: 267: 262: 257: 251: 244: 241: 215: 212: 187: 184: 183: 166: 165: 127: 125: 118: 111: 110: 70:The article's 69: 67: 60: 55: 29: 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 400: 389: 386: 384: 381: 380: 378: 364: 362: 358: 352: 350: 346: 340: 337: 334: 329: 326: 323: 318: 315: 311: 305: 302: 298: 292: 289: 285: 279: 276: 270: 266: 263: 261: 258: 255: 252: 250: 247: 246: 242: 240: 238: 232: 230: 226: 220: 213: 211: 209: 205: 201: 197: 196:lookup tables 193: 180: 177: 162: 159: 151: 141: 137: 131: 128:This article 126: 117: 116: 107: 104: 96: 86: 83:and read the 82: 76: 73: 68: 59: 58: 53: 51: 44: 43: 38: 37: 32: 27: 18: 17: 339: 328: 317: 309: 304: 296: 291: 283: 278: 233: 228: 224: 221: 217: 191: 190: 172: 154: 145: 129: 99: 90: 79:Please help 74: 72:lead section 47: 40: 34: 33:Please help 30: 284:ACM Surveys 260:Memoization 148:August 2012 93:August 2012 377:Categories 271:References 36:improve it 42:talk page 243:See also 214:Details 134:Please 256:(FPGA) 138:to 379:: 360:^ 348:^ 45:. 229:f 225:f 179:) 173:( 161:) 155:( 150:) 146:( 132:. 106:) 100:( 95:) 91:( 87:. 77:. 52:) 48:(

Index

improve it
talk page
Learn how and when to remove these messages
lead section
improve the lead
lead layout guide
Learn how and when to remove this message
help improve it
make it understandable to non-experts
Learn how and when to remove this message
Learn how and when to remove this message
lookup tables
field-programmable gate array
processor-in-memory
Berkeley IRAM project
content-addressable memory
Computational RAM
Field-programmable gate array
Memoization
Reconfigurable Computing
Xilinx Corporation
Altera Corporation




Categories
Computer engineering
Models of computation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.