From WikiChip
Editing uc davis/kilocore

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 1: Line 1:
 
{{ucdavis title|KiloCore}}
 
{{ucdavis title|KiloCore}}
{{chip
+
{{mpu
 
| name                = KiloCore
 
| name                = KiloCore
 
| no image            =  
 
| no image            =  
Line 19: Line 19:
 
| series              =  
 
| series              =  
 
| locked              =  
 
| locked              =  
| frequency          = 1.78 GHz
+
| frequency          = 1,782 MHz
 
| bus type            =  
 
| bus type            =  
 
| bus speed          =  
 
| bus speed          =  
Line 44: Line 44:
  
  
| power              = 0.61 W - 39.6 W, worst case 1000 cores 100% active
+
| power              = 39.6 W
| v core              = 0.56 V - 1.1 V
+
| v core              = 1.1 V
 
| v core tolerance    =  
 
| v core tolerance    =  
 
| sdp                =  
 
| sdp                =  
Line 74: Line 74:
 
}}
 
}}
 
[[File:ucd kilocore.jpg|right|thumb]]
 
[[File:ucd kilocore.jpg|right|thumb]]
'''KiloCore''' is a research {{arch|16}} [[massively parallel processor array|MPPA]] chip containing 1,000 cores developed by the [http://vcl.ece.ucdavis.edu/ VLSI Computation Laboratory (VCL)] at UC Davis. The chip, which was manufactured on [[IBM]]'s [[32 nm process]] PD-SOI technology, has a maximum computation rate of 1.78 trillion fully-independent MIMD instructions per second. None of the 72 supported instruction types are algorithm-specific.
+
'''KiloCore''' is a prototype {{arch|16}} [[massively parallel processor array|MPPA]] chip containing 1,000 cores developed by the VLSI Computation Laboratory (VCL) at UC Davis. The chip, which was manufactured on [[IBM]]'s [[32 nm process]] PD-SOI technology, is said to have a maximum computation rate of 1.78 trillion instructions per second. This chip was presented at the 2016 Symposia on VLSI Technology and Circuits on June 17, 2016.
  
KiloCore’s 1000 processors, 1000 packet routers, and 12 independent memories are clocked by local and completely-unconstrained (below the maximum operating frequency) clock oscillators that do not use PLLs and may change frequency, halt within 1-5 clock periods, and restart in less than one clock period to reduce power dissipation. Processors, routers, and memory modules with no work to do dissipate exactly zero active power (leakage only).
+
Contrary to many online reports, the KiloCore is not the world's first microprocessor to achieve 1,000 or more cores. A number of other processors, including the {{pezy|PEZY-SC}}, reached the milestone first.
 
 
This chip was first presented at the ''2016 IEEE Symposium on VLSI Circuits'' on June 17, 2016. It has also been published in the ''IEEE Journal of Solid-State Circuits (JSSC), IEEE HotChips, IEEE Micro,'' and ''ACM/IEEE DAC''.
 
  
 
== Architecture ==
 
== Architecture ==
The chip is designed as a [[massively parallel processor array]], with 992 cores arranged as a grid 32 by 31. Eight additional cores are found along with 12 memory modules of 64 KB SRAM each (for a total of 768 KB). Communication between cores is done via a dual-layer source-synchronous [[circuit-switched network]] and a very-small-area packet router (see [[wormhole routing]]). The circuit-switched network supports communication  between  adjacent and distant processors, as resources allow, with each link supporting a maximum rate of 28.5 Gbps. Maximum throughput is 45.5 Gbps per router. Both network types contribute to an array bisection bandwidth of '''4.2 Tbps'''.
+
The chip is designed as a [[massively parallel processor array]], with 992 cores arranged as a grid 32 by 31. 8 Additional cores are found along with 12 memory modules of 64 KB SRAM ea (for a total of 768 KB). Communication between cores is done via a [[circuit-switched network]] and a very-small-area packet router (see [[wormhole routing]]).
  
 
=== Cores ===
 
=== Cores ===
 
Each core is an independent processing unit capable of issuing one instruction [[in-order]] per cycle. Instructions may come from the local instruction memory or they may be fetched from one of the independent memory module. Likewise data may come from the data memory or from the independent memory module.
 
Each core is an independent processing unit capable of issuing one instruction [[in-order]] per cycle. Instructions may come from the local instruction memory or they may be fetched from one of the independent memory module. Likewise data may come from the data memory or from the independent memory module.
  
Each core contains 128x40-bit local instruction memory. Data memory is also stored in each as 2 banks of 128x16-bit each (for a total of 256x16-bit). The core also has three data address generators, two 32x16 input FIFO buffers, a 16-bit fixed-point data path.
+
Each core contains 128x40-bit local instruction memory. Data memory is also stored in each as 2 banks of 128x16-bit each (for a total of 256x16-bit). The core also has three data address generators, two 32x16 input FIFO buffers, a 16-bit fixed-poit data path.
  
 
=== Memory Module ===
 
=== Memory Module ===
Line 95: Line 93:
  
 
Each core has an area of 0.055 mm² (232 µm x 239 µm) and contains 575,000 transistors. The SRAM memory module has an area of 0.164 mm² (367 µm x 446 µm).
 
Each core has an area of 0.055 mm² (232 µm x 239 µm) and contains 575,000 transistors. The SRAM memory module has an area of 0.164 mm² (367 µm x 446 µm).
 
== Energy Efficiency ==
 
At a supply voltage of 0.84 V, 1000 cores process a maximum of 1.0 trillion instructions/s while  dissipating '''13.1 W'''. At a supply voltage of 0.56 V, processors dissipate 5.3 pJ per instruction at 115 MHz, which enables  a chip to process 115 billion instructions/s while dissipating only '''0.61 W'''; or multiple chips could execute 1.0 trillion instructions/s while dissipating only '''5.3 W'''.
 
  
 
== ISA ==
 
== ISA ==
Each core supports 72 general instructions supporting [[signed]] and [[unsigned]] operations. The processor operates on {{arch|16}} data [[word size]] with the exception of the multiply-accumulator which has a 40-bit output. Larger word size operations such as {{arch|32}}, {{arch|64}}, or larger may be implemented via software.
+
Each core supports 72 general instructions supporting [[signed]] and [[unsigned]] operations. The processor operates on {{arch|16}} data [[word size]] with the exception of the multiply-accumulator which has a 40-bit output. Larger word size operations such as {{arch|32}} may be emulated via software.
  
== Per-Processor Memory ==
+
== Cache ==
In recognition of the fact that data contained in caches is purely redundant and in keeping with the philosophy of imitating ASIC design, the KiloCore's processors do not contain traditional caches.
 
 
* Per core
 
* Per core
 
** 640 bytes (128x40-bit) local instruction memory
 
** 640 bytes (128x40-bit) local instruction memory
Line 110: Line 104:
 
** 12 shared SRAM memory modules, 64 KB each
 
** 12 shared SRAM memory modules, 64 KB each
  
== Achievements ==
+
== Documents ==
* KiloCore is the first university microprocessor to integrate 1,000 or more cores and the second in the semiconductor industry, after [[PEZY]]'s {{pezy|PEZY-SC}}
 
* KiloCore is believed to be the highest clocked microprocessor developed by a university
 
 
 
== Designers ==
 
The lead designers for the KiloCore chip are:
 
* [[designer::Brent Bohnenstiehl]]
 
* [[designer::Aaron Stillmaker]]
 
* [[designer::Bevan Baas]]
 
 
 
== Bibliography ==
 
* Brent Bohnenstiehl, Aaron Stillmaker, Jon Pimentel, Timothy Andreas, Bin Liu, Anh Tran, Emmanuel Adeagbo and Bevan Baas, [http://vcl.ece.ucdavis.edu/pubs/2017.04.JSSC.kilocore/ ''"KiloCore: A 32-nm 1000-Processor Computational Array,"''] IEEE Journal of Solid-State Circuits (JSSC), vol. 52, no. 4, pp. 891–902, April 2017.
 
* Aaron Stillmaker, Brent Bohnenstiehl, and Bevan Baas, [http://vcl.ece.ucdavis.edu/pubs/2017.07.DAC/ ''"The Design of the KiloCore Chip,"''] ACM/IEEE Design Automation Conference, (DAC), Austin, TX, June 2017.
 
* Brent Bohnenstiehl, Aaron Stillmaker, Jon Pimentel, Timothy Andreas, Bin Liu, Anh Tran, Emmanuel Adeagbo and Bevan Baas, [http://vcl.ece.ucdavis.edu/pubs/2017.03.Micro.kilocore/ ''"KiloCore: A Fine-Grained 1,000-Processor Array for Task-Parallel Applications,"''] IEEE Micro, vol. 37, no. 2, pp. 63–69, March-April 2017.
 
* Brent Bohnenstiehl, Aaron Stillmaker, Jon Pimentel, Timothy Andreas, Bin Liu, Anh Tran, Emmanuel Adeagbo and Bevan Baas, [http://vcl.ece.ucdavis.edu/pubs/2016.08.hotchips/ ''"KiloCore: A 32 nm 1000-Processor Array,"''] IEEE HotChips Symposium on High-Performance Chips, (HotChips 2016), Cupertino, CA, August 2016.
 
* Brent Bohnenstiehl, Aaron Stillmaker, Jon Pimentel, Timothy Andreas, Bin Liu, Anh Tran, Emmanuel Adeagbo, Bevan Baas, [http://vcl.ece.ucdavis.edu/pubs/2016.06.vlsi.symp.kiloCore/2016.vlsi.symp.kiloCore.pdf ''"A 5.8 pJ/Op 115 Billion Ops/sec, to 1.78 Trillion Ops/sec 32nm 1000-Processor Array"''], VLSI Computation Laboratory, ECE Department, University of California, Davis, 2016.
 
 
* Aaron Stillmaker, [http://vcl.ece.ucdavis.edu/pubs/theses/2015-1/ ''"Design of Energy-Efficient Many-Core MIMD GALS Processor Arrays in the 1000-Processor Era,"''] Ph.D Dissertation, Technical Report ECE-VCL-2015-1, VLSI Computation Laboratory, ECE Department, University of California, Davis, 2015.
 
* Aaron Stillmaker, [http://vcl.ece.ucdavis.edu/pubs/theses/2015-1/ ''"Design of Energy-Efficient Many-Core MIMD GALS Processor Arrays in the 1000-Processor Era,"''] Ph.D Dissertation, Technical Report ECE-VCL-2015-1, VLSI Computation Laboratory, ECE Department, University of California, Davis, 2015.
 +
* Brent Bohnenstiehl, Aaron Stillmaker, Jon Pimentel, Timothy Andreas, Bin Liu, Anh Tran, Emmanuel Adeagbo, Bevan Baas, [http://vcl.ece.ucdavis.edu/pubs/2016.06.vlsi.symp.kiloCore/2016.vlsi.symp.kiloCore.pdf ''"A 5.8 pJ/Op 115 Billion Ops/sec, to 1.78 Trillion Ops/sec 32nm 1000-Processor Array"], VLSI Computation Laboratory, ECE Department, University of California, Davis, 2016.
  
 
{{DEFAULTSORT: Kilocore}}
 
{{DEFAULTSORT: Kilocore}}

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)
Facts about "KiloCore - UC Davis"
base frequency1,780 MHz (1.78 GHz, 1,780,000 kHz) +
core count1,000 +
designerUC Davis +, Brent Bohnenstiehl +, Aaron Stillmaker + and Bevan Baas +
die area64 mm² (0.0992 in², 0.64 cm², 64,000,000 µm²) +
first announcedJune 17, 2016 +
full page nameuc davis/kilocore +
instance ofmicroprocessor +
ldateJune 17, 2016 +
main imageFile:ucd kilocore 2.png +
main image captionKiloCore on a daughterboard +
manufacturerIBM +
nameKiloCore +
process32 nm (0.032 μm, 3.2e-5 mm) +
technologyCMOS +
transistor count621,000,000 +
word size16 bit (2 octets, 4 nibbles) +