Hoofdstuk 5 Het belang van geheugens Prof. dr. ir. Dirk Stroobandt Academiejaar
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Inhoud (deel 2) Het belang van interconnecties Het belang van ingebed geheugen Het voorspellen van prestaties Architecturen voor complexe systemen –Processorarchitecturen –Herconfigureerbare hardware –Hergebruik van IP-kernen Interfaces en interface-ontwerp
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Geheugengrootte Data, programmas en FPGA-configuraties moeten opgeslagen worden Efficientie in –Looptijd –Codegrootte –Energie
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Geheugengrootte Snelheidsverschil geheugens en processoren groeit: caches nodig
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Geheugengrootte Verminder overhead van adresberekening door scratchpadgeheugen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Geheugentypes SRAM –Zeer snel, laag vermogenverbruik, caches in PCs, telecom, multimedia-computers, netwerkingtoepassingen, GSM, supercomputers, ingebedde systeemgeheugens DRAM –Middelmatige tot hoge snelheid, grote computersystemen, lage kost, grote volumes, PC, hard disk, grafische borden, printers, PDAs, camcorders, ingebedde systeemgeheugens, ingebedde logica
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Geheugentypes FRAM –Laag vermogen, niet-volatiel, smart cards, RF- identificatie, vervanging van niet-volatiele RAM en hoogdensiteits SRAM ROM –Grote volumes, videospelletjes, karaktergeneratoren, laser printer fonts, ingebedde geheugens EPROM –CD-rom, modems, ingebedde systemen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Geheugentypes EEPROM –Militair, vliegtuigcontrole, gebruiksvoorwerpen, draagbare apparaten, modems, draadlowe telefoons, disk drives, printers, air bags, abs, autoradio’s, smart card, set-top boxes, ingebedde geheugens FLASH –Draagbare systemen, communicatiesystemen, code- opslag, geheugenkaarten, BIOS, digitale camera’s, flash-kaarten, palm tops, batterijgevoede apparaten, ingebedde geheugens, MP3-spelers NVRAM, BRAM –Als vermogendips niet mogen, medisch, ruimteschip
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Caches and CPUs CPU cache controller cache main memory data address data address
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Cache operation Many main memory locations are mapped onto one cache entry. May have caches for: –instructions; –data; –data + instructions (unified). Memory access time is no longer deterministic.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Terms Cache hit: required location is in cache. Cache miss: required location is not in cache. Working set: set of locations used by program in a time interval.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Types of misses Compulsory (cold): location has never been accessed. Capacity: working set is too large. Conflict: multiple locations in working set map to same cache entry.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Memory system performance h = cache hit rate. t cache = cache access time, t main = main memory access time. Average memory access time: –t av = ht cache + (1-h)t main
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Multiple levels of cache CPU L1 cache L2 cache
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Multi-level cache access time h 1 = cache hit rate. h 2 = rate for miss on L1, hit on L2. Average memory access time: –t av = h 1 t L1 + (h 2 -h 1 )t L2 + (1- h 2 -h 1 )t main
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Replacement policies Replacement policy: strategy for choosing which cache entry to throw out to make room for a new memory location. Two popular strategies: –Random. –Least-recently used (LRU).
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Cache organizations Fully-associative: any memory location can be stored anywhere in the cache (almost never implemented). Direct-mapped: each memory location maps onto exactly one cache entry. N-way set-associative: each memory location can go into one of n sets.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Cache performance benefits Keep frequently-accessed locations in fast cache. Cache retrieves more than one word at a time. –Sequential accesses are faster after first access.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Ingebedde geheugens In SoC: logica + geheugen op 1 chip –Hogere bandbreedte –Kleiner aantal pinnen –Kleiner systeem –Betrouwbaarder systeem –Lager vermogenverbruik Kan gebruik maken van ongebruikte transistoren door de ontwerpskloof Door samenbouw op chip: dikwijls geen caches maar onmiddellijk (klein) hoofdgeheugen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Ingebedde geheugens Drie manieren om ingebedde geheugens te integreren –Geheugens in technologie voor logica SRAM, DRAM en zelfs EEPROM Voor SRAM geen bijkomende ontwerpstappen nodig –Logica in technologie voor geheugens (meestal DRAM) Hoogste densiteit voor geheugens Gebruiken minder interconnectielagen –Gemengde technologie Meer interconnectielagen voor de logica
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Ingebedde geheugens Vooral aandacht voor –Op tijd opvullen van het geheugen op chip met de nodige data (streaming-toepassingen) Is mogelijk doordat de toepassing gekend is –Goede datalayout om efficiënt geheugengebruik te bevorderen –Gepaste lustransformaties e.d.