cyanic-selkie/wikianc huggingface dataset:
Lipovany
Klimatické pomery
Obec Lipovany patrí podľa Končekovej klasifikácie do teplej klimatickej oblasti s priemerne viac ako 50 letných dňami za rok (s denným maximom teploty vzduchu viac alebo rovným 25 °C). Na základe indexu zavlaženia je územie začlenené do teplého, mierne suchého okrsku s chladnou zimou s januárovými teplotami ≤ −3 °C a indexom zavlaženia  Iz = 0 až −20. Podľa klimatickogeografického členenia Slovenska, ktoré vypracoval Tarábek je obec zaradená do typu horskej klímy do mierneho subtypu v oblasti pohraničných vrchov a teplého subtypu v centrálnej časti katastra obce a smerom na sever.
Keďže v obci ani v jej blízkosti sa okrem zrážkomernej nenachádza žiadna meteorologická stanica, možno hodnoty pre obec odvodiť zo starších dlhodobých meraní zo stanice v Lučenci alebo z hodnôt za rok 2005, ktoré boli získané zo stanice Boľkovce. Keďže obe stanice patria do iného klimatického okrsku so suchšou a teplejšou klímou, údaje pre obec budú len približné.
Teplota vzduchu. Priemerná teplota vzduchu v Lučenci (merané v rokoch 1931 – 1960) je 9,3 °C a v Boľkovciach 8,7 °C (8,9 °C v roku 2005). Priemerná teplota vzduchu v mesiaci január dosahuje –3,4 °C (Lučenec), -3,5 °C v Boľkovciach a –1,5 °C (Boľkovce, 2005). V júli dosahujú priemerné teploty 18,6 °C (Lučenec), 19,0 °C v Boľkovciach a 20,4 °C (Boľkovce, 2005). Priemerný počet mrazových dní je 119, priemerný počet letných dní (max. teplota 25 °C a viac) je 69. Vykurovacie obdobie, určené poklesom priemernej dennej teploty vzduchu pod 13 °C vo dvoch dňoch po sebe nasledujúcich do vzostupu priemernej dennej teploty nad túto hodnotu, trvá v priemere 210 – 240 dní (Boľkovce).
Na stanici Boľkovce sa v roku 2005 vyskytlo 22 dní s minimálnou teplotou nižšou ako −10 °C, nevyskytla sa ani jediná tropická noc (min. t. > 20 °C) a 15 dní s maximálnou teplotou nad 30 °C.
Dlhodobými laickými pozorovaniami a skúsenosťami možno konštatovať, že rozdiel v teplotnom režime v katastrálnom území obce oproti meracím staniciam je najvýraznejší v jarných a jesenných obdobiach ale i v zimnom období najmä vplyvom teplotných inverzií so zatečeným bazénom studeného vzduchu. Letné teploty sa prakticky nelíšia.
Zrážky. Priemerný ročný úhrn zrážok (19311960) v Lipovanoch je, v januári  a v júli. Absolútne maximum mesačných úhrnov zrážok v roku 2005 však bolo (v auguste) a denných  (v septembri). Priemerný počet dní so snehovou pokrývkou je 40 až 60 a jej priemerná výška dosahuje. Priemerná ročná teplota aktívneho povrchu pôdy je v rozmedzí 10 až 11 °C. Priemerná ročná hodnota radiačného indexu sucha je väčšia ako 1,25. Priemerný ročný počet dní s hmlou je 50 až 70.
Vietor a slnečný svit. Priemerná ročná suma globálneho žiarenia je 1 2501 300 kWh.m-2. Prevládajúci smer vetra je severovýchodný resp. juhozápadný so silou zväčša v rozsahu 2 – .s-1. Až 32 % obdobia je bezvetrie. V roku 2005 bolo v obci viac ako 2 100 hod. slnečného svitu. Na meracej stanici Boľkovce bolo priemerne ročne nameraných 63 dní s dusným počasím a nízkou relatívnou vlhkosťou vzduchu (menšou ako 40 %).
Hydrogeologické pomery
Povrchové vody Výskyt vodných tokov v rámci katastra nie je veľký. Hlavným vodným tokom v obci je Mučínsky potok, ktorý v katastrálnom území obce pramení. Tento je súčasťou povodia rieky Ipeľ. V závere krátkych dolín pramenia málo výdatné potoky a potôčky, ktoré sa postupne vlievajú do Mučínskeho potoka. Celková dĺžka pravidelných vodných tokov v katastrálnom území je cca, čo predstavuje hustotu riečnej siete .m-2. Okrem toho v katastrálnom území obce možno v obdobiach s výdatnejšími zrážkami sledovať viacero občasných vodných tokov odvádzajúcich zrážkovú vodu. Koeficient odtoku je 0,19. Minimálny špecifický odtok je menší ako 0,1 l.s--2 a maximálny špecifický odtok (s pravdepodobnosťou opakovania sa raz za sto rokov) 0,4 – .s--2. Typ režimu odtoku je vrchovinovo – nížinný a dažďovo – snehový s akumuláciou v decembri a januári, vysokou vodnatosťou vo februári až apríli, najvyššími stavmi v marci a najnižšími v septembri. Možno pozorovať výrazné podružné zvýšenie vodnatosti koncom jesene a začiatkom zimy.
Podzemné vody Územie je vzhľadom na malú intenzitu zvodnenia hornín málo hydrologicky preskúmané. Vrty v terciérnych sedimentoch v obci s hĺbkou potvrdili  výdatnosť 1 – 2 l.s-1. Výsledky vrtných prác dokumentujú slabé zvodnenie pieskovcov. Kvartérne sedimenty na území regiónu tvoria najvýznamnejší horizont podzemnej vody. V katastrálnom území obce tvoria slabú akumuláciu. Prietočnosť a hydrogeologická produktivita je na väčšine územia nízka – 1.10-4 až 1.10-.s-1. V rámci členenia na hydrogeologické regióny územie spadá pod neogén západnej časti Cerovej vrchoviny.
Pôdne pomery
Pôdne typy sú na území obce zastúpené nasledovne:
Pôdne druhy na sledovanom území:
Priepustnosť a retenčná schopnosť pôd v sledovanom území korešponduje s výskytom pôdnych druhov v území. Na území s výskytom ťažkých ílovitých pôd je priepustnosť pôd malá a retenčná schopnosť stredná, prechod k ílovito-hlinitým pôdam sa prejavuje i na spomínaných ukazovateľoch – priepustnosť je stredná a retenčná schopnosť pôd veľká. Pôdna reakcia je na väčšine územia stredne až silno kyslá. Vlhkostný režim pôd je mierne suchý.
Z hľadiska skeletovitosti patria pôdy tejto oblasti k pôdam bez skeletu. Obsah skeletu do hĺbky tvorí 0 až 10 %. Výnimočne sa vyskytujú slabo skeletnaté pôdy (obsah skeletu v povrchovom a podpovrchovom horizonte je 10 až 25 %). Pôdy v katastrálnom území obce patria podľa hĺbky hornej hranice horizontu s obsahom skeletu väčším ako 50 % k hlbokým pôdam (viac ako ), výnimočne k stredne hlbokým  (30 – ).
Dejiny
Poznatky o osídlení územia dnešnej obce Lipovany možno datovať do neskorej kamennej doby (eneolit). V katastrálnom území obce sa vtedy nachádzalo nížinné sídlo kultúry z kostolackej skupiny. Zo strednej a mladšej doby bronzovej zasa neopevnenú osadu pilianskej kultúry, či z neskorej bronzovej doby osadu kyjatickej kultúry.
Mussig
Mussig je francúzska obec, ktorá sa nachádza v departemente Bas-Rhin, v regióne Alsasko.
Lipovany
Dejiny
V novovekých historických materiáloch možno nájsť z rokov 1236 – 37 registráciu sporov o majetok Romháň, ktorý viedli hradní ľudia Novohradského hradu majúci osobitné postavenie a strážnu funkciu (Pečenehovia a Plavci). V 13. storočí vlastnil túto oblasť šľachtickým rodom Pilišovcov. Odtiaľ pravdepodobne vznikol aj miestny názov obce Piliš = Pleš, ktorej súčasťou bola aj oblasť dnešných Lipovian (Romháň, Romháň pusta, Veľký Romháň, Malý Romháň). Prvá písomná zmienka o ňom je datovaná do roku 1238 a o obci Pleš do roku 1247. Možno predpokladať, že názov pustatiny pochádza z obdobia tatárskych vpádov, kedy bolo v tejto oblasti vyplienených mnoho sídiel (romháň = rumovisko). V 16. a 17. storočí patrilo územie obce do oblasti pustošenej tureckými vpádmi. Poddaní obce koncom 17. storočia odvádzali dane a naturálne dávky Siman Pašovi.
Mussig
Poloha
Obec má rozlohu. Najvyšší bod je položený a najnižší bod
Lipovany
Dejiny
Pri súpise v roku 1715 žilo v Pleši 10 poddanských domácností v roku 1720 ich bolo 15. V sedemdesiatych rokoch 18. storočia sa tejto oblasti dotklo vysťahovalectvo (najmä na dolnú zem) a urbárska regulácia. Pre život obce mala význam hradská cesta, ktorá viedla z Lučenca cez Šalgotarijan do Budapešti. Táto po výstavbe železničného prepojenia cez Fiľakovo stratila po roku 1870 svoj význam. V roku 1873 postihla obec epidémia cholery.
Mussig
Obyvateľstvo
Počet obyvateľov obce je.
Lipovany
Dejiny
Koncom 19. storočia vlastnili pozemky v obci dve rodiny. Sakálovská v časti Malý Romháň vlastnila 2000 jutár pôdy. Z nej ½ tvorili lúky. Pestovali dobytok, ovce a hydinu pre lučenský trh. Bane na uhlie dávali do prenájmu. Veľký Romháň s 1500 jutrami pôdy patril Zoltánovi Törökovi, ktorý tu pestoval tabak, hrozno, cukrovú repu a dobytok. Vlastnil aj parný mlyn a kameňolom. Výhradné práva kutby v hnedouhoľných baniach boli udelené po roku 1870 rodine Sakálovej a Siďártó. Najintenzívnejšia ťažba prebiehala v rokoch 1910 až 1913, kedy sa ročne vyťažilo 2500 až 5300 t uhlia Ešte pred prvou svetovou vojnou bola baňa vyťažená.
Mussig
Obyvateľstvo
Nasledujúci graf zobrazuje vývoj počtu obyvateľov v obci.
Lipovany
Dejiny
Viac informácii o obyvateľstve možno čerpať z uhorských štatistických materiálov. Podľa nich z obyvateľov obce Pleš až 45 % žilo v pustatine Romháň. V roku 1880 žilo 488 obyvateľov v 69 domoch. Na jeden dom pripadalo 7,07 obyvateľa. Prevažná časť domov bola postavená z nepálených tehál. V roku 1910 bolo v obci 30 vlastníkov pôdy. Z toho traja vlastnili pozemky s výmerou vyššou ako 100 jutár. Ekonomicky aktívne obyvateľstvo tvorilo 36,9 % a z poľnohospodárstvom sa živilo až 80,1 % obyvateľstva. Z priemyslu žilo 9,85 % obyvateľstva. Námezdne pracovalo 65,5 % ekonomicky aktívneho obyvateľstva. Obec bola v roku 1918 začlenená do novovzniknutej ČSR. Pozemková reforma nového štátu spôsobila, že niektorí majitelia pôdy sa vysťahovali do Maďarska, alebo ich pôda bola skonfiškovaná. Z pôvodného obyvateľstva zostala v obci len jedna statkárska rodina Patay a zopár námezdne pracujúcich robotníkov patriacich k veľkostatku. Ponúkanú pôdu si začiatkom dvadsiatych rokov 20. storočia kupovali obyvatelia pochádzajúci z hornatých oblastí stredného Slovenska (okolie Detvy, Kokavy nad Rimavicou a pod.). Usádzanie nového (často príbuzensky spriazneného) obyvateľstva, ktoré sa venovalo poľnohospodárstvu, trvalo až do konca desaťročia. Dosiaľ sú najčastejšími priezviskami v obci: Babic, Bariak, Danko, Gábera, Ľalík, Libiak, Kamenský, Krupa, Kulich, Magera, Matúška, Moravčík, Podhora, Poliak, Sameliak, Siheľský, Stieranka, Rovňan, Segeč, Sivok. V období Slovenského štátu sa obec stala súčasťou Maďarska.
Príroda
Flóra a fauna krajiny je do významnej miery formovaná a ovplyvnená spoločenstvami vytvárajúce Chránenú krajinnú oblast Cerová vrchovina. Najrozšírenejším lesným spoločenstvom na území oblasti sú bukové dúbravy. Najväčšie zastúpenie tu má Dub cerový (Quercus cerris). Pôvodný je aj buk lesný (Fagus sylvatica), ktorý sa v súčasnosti uplatňuje s hrabom (Carpinus betulus). V zmysle zoogeografického členenia patrí územie do panónskeho pásma stepí. Z viacerých vzácnych skupín stavovcov sa tu vyskytuje napríklad jašterica zelená. V juhovýchodnej časti katastra obce blízko hraníc s Maďarskom sa nachádza Prírodná pamiatka Lipovianske pieskovce bola vyhlásená 1. 5. 1990. Ide o významnú geologickú lokalitu medzinárodného významu. V pieskovni, v k. ú. Lipovany, sú odkryté dva členy fiľakovského súvrstvia: lipovianske a čakanovské pieskovce. Vek oboch je egenburg (spodný miocén). Zo stratigrafického hľadiska sa nachádzajú vo vyššej časti pieskovcového súboru fiľakovského súvrstvia (nad. tachtianskymi pieskovcami). Podľa ekologických nárokov zistenej fauny sa dá rekonštruovať, že lipovianske pieskovce sedimentovali v príbrežnej zóne mora, s veľkou pravdepodobnosťou pred pobrežnými piesočnými valmi.Táto lokalita, vzhľadom na jej nesporný vedecko – náučný význam, bola pomerne často v minulosti navštevovaná najmä študentmi so zameraním na geológiu. Okrem našich sem chodili (a chodia) aj naši maďarskí susedia.
3870 Mayre
3870 Mayre je planétka s priemerom 46 km, ktorú objavil Eric Walter Elst 13. februára 1988.
Životný cyklus
Životný cyklus je v biológii súhrn všetkých fáz vývoja organizmu od oplodneného vajíčka až po štádium dospelosti (t.j. štádium, v ktorom je organizmus schopný reprodukcie).
Môže mať mnoho podôb a rôzne stupne zložitosti.
Na základe rozdielov v ploidii sa rozoznávajú tri typy cyklov:
Varvara Lepchenková
Varvara Lepchenková (, ; * 21. máj 1986, Taškent, ZSSR, dnes Uzbekistan) je súčasná americká profesionálna tenistka.
Narodila sa v Uzbekistane ukrajinským rodičom. Do roku 2006 reprezentovala Uzbekistan. Občianstvo USA získala 24. septembra 2011.
Ján Štefáni
Ján Štefáni (Sstephani, Stephani, Stephany) (* Banská Bystrica? - † 20. september 1822, Slovensko) bol kníhtlačiar.
Jeho druhou manželkou bola Zuzana rod. Westerová.
Životopis
Roku 1796 kúpil tlačiareň Jána Jozefa Tumlera v Banskej Bystrici. Pod jeho vedením podnik prosperoval (do 1822), po úmrtí viedla podnik jeho manželka Zuzana Štefániová. Vytlačil protireformačnú polemiku M. Michnu, pre ktorú bol vyšetrovaný banskobystrickým magistrátom. Neskôr sa obmedzil iba na produkciu drobnejších kníh, tlačí a kalendárov, zväčša náboženského charakteru, od 1815 mu ich rozširoval najmä Gašpar Fejérpataky-Belopotocký.
L'Aigle-Ouest
L'Aigle-Ouest je francúzsky kantón v obvode Mortagne-au-Perche v departemente Manche v regióne Dolná Normandia. Tvorí ho 6 obcí.
Hrad Bouzov
thumb|Hrad Bouzov
Hrad Bouzov (pôvodne Búzov) stojí v rovnomennej obci juhozápadne od mesta Loštice na stredozápadnej Morave. Pôsobí dojmom dobre zachovanej stredovekej pamiatky, ale jeho súčasná podoba pochádza z romantickej prestavby z prelomu 19. a 20. storočia. Patrí medzi najnavštevovanejšie pamiatky v Česku a je vyhľadávaným miestom filmárov.
Historie
thumb|upright|left|Jadro hradu s palácom a vežou Hrad bol založený na prelome 13. a 14. storočia, jeho prvým známym majiteľom bol Búz z Búzova v rokoch 1317-1339. Od polovice 14. storočia ho vlastnili páni z Vildenberka, ktorí ho v roku 1382 predali markgrófovi Joštovi. Jošt ho roku 1396 prenechal Heraltovi z Kunštátu.
Tento rod hrad vlastnil asi 70 rokov, potom s v jeho vlastníctve vystriedalo viac majiteľov. Počas trdsaťročnejvojny slúžil Bouzov ako cisárska pevnosť a väzenie pre švédskych zajatcov. V roku 1649 hrad kúpila Eugenie Podstatská z Prusinovic, jej syn ho roku 1696 predal rádu nemeckých rytierov. Tomu hrad patril až do roku 1939, kedy ho zabavili nacisti, v priebehu druhej svetovej vojny bol odovzdaný do správy tzv. Hlavného hospodárskeho a správneho úradu SS so sídlom v Berlíne a slúžil ako sklad zabaveného majetku. Po druhej svetovej vojne bol hrad skonfiškovaný československým štátom. V štátnej správe je dodnes, snahy Nemeckého rádu o vrátenie hradu neboli úspešné.
Hrad bol postavený s typicky bergfritovou dispozíciou s jedným poschodovým palácom. Koncom 14. storočia bolo k hradu pristavané predhradie. V roku 1558 hrad Bouzov vyhorel, ale kvôli finančným problémom vtedajších majiteľov bol hrad úplne obnovený až v roku 1620.
Do dnešnej podoby bol hrad upravený prestavbou v rokoch 1895 až 1910 na popud Eugena Habsburského, vtedajšieho veľmajstra rádu, ktorý stavbu aj financoval. Návrh prestavby projektoval architekt Georg von Hauberrisser. Tato rekonštrukcia ovplyvnila vzhľad hradu, pretože do pôvodnej typickej českej architektúry bola zakomponovaná celá rada nemeckých prvkov. Vnútorné vybavenie hradu čiastočne pochádza zo súkromných zbierok arcivojvodu Eugena, čiastočne ide o predmety vyrobené špeciálne pre hrad.
V roku 1929 poctil tento hrad svojou návštevou prezident Tomáš Garrigue Masaryk spoločne s ministerským predsedom Františkom Udržalom a ministrom vnútra Janom Černým. Na hrade ich privítal aj veľmajster nemeckého rádu Panny Márie Jeruzalemskej a brniansky biskup Norbert Klein.
V roku 2004 bol na hrade natáčaný nemecký film Napola, ďalej napríklad rozprávka O princezně Jasněnce a létajícím ševci, Princezna Fantaghiro alebo pokračovanie seriálu Arabela.
Prameniště Hamerského potoka U velké jedle
Prameniště Hamerského potoka U velké jedle bola prírodná pamiatka ev. č. 1198 neďaleko obce Buková v okrese Prostějov. Oblasť spravovala Agentúra ochrany prírody a krajiny ČR.
Ochrana
Predmetom ochrany bol komplex lesných pramenísk s porastami jelše a vlhkomilného podrastu.
<blockquote class="toccolours" style="float:none; padding: 10px 15px 10px 15px; display:table;"> Ochrana bola zrušená ku dňu 20.6.2012
La Chapelle-Anthenaise
Poloha
Obec má rozlohu. Najvyšší bod je položený a najnižší bod
Obyvateľstvo
Počet obyvateľov obce je.
Nasledujúci graf zobrazuje vývoj počtu obyvateľov v obci.
Kerkyón
náhľad|300px|Théseus zdoláva ničomníkov, Kerkyón je hore, červenofigúrový [[Kylix (keramika)|kylix, cca 440 – 430 pred Kr.]] Kerkyón (starogr. Κερκύων – Kerkyón, ) je v gréckej mytológii ukrutný lupič z okolia atického mesta Eleusis.
Bol to silný chlap, zápasník a surovec. V kraji bol postrachom pocestných a žiadny z nich pokojne neprešiel. Kerkyón každého zastavil a nútil ho k zápasu, ktorý potom s ním viedol na život a na smrť.
Kerkyón bol vraj pôvodne kráľom a mal dcéru Alopu, ktorú dal za trest, že podľahla Poseidónovi zamurovať. Ako sa stal lupičom z mýtov nie je jasné. Je tiež možné, že tu ide o dve rozličné postavy.
Koniec jeho násilnostiam urobil až mladý Théseus, ktorý vo svojich šestnástich rokoch putoval od svojho deda, troizenského kráľa Pitthea k svojmu nevlastnému otcovi aténskemu kráľovi Aigeovi. Zdá sa, že si cestu krátil tým, že sa nevyhýbal nebezpečným situáciám, aby získal skúsenosti a slávu.
Kerkyón už bol štvrtým ničomníkom, ktorého Théseus cestou stretol. Ani jemu sa však zadržať Thésea nevyplatilo. Théseus sa totiž stal posledným, koho vo svojom živote vyzval k zápasu. Po prvýkrát bol premožený a nakoniec usmrtený.
Pred ním už boli Théseom ich vlastnými prostriedkami zdolaní zločinci Perifétes, Sinis a Skeirón, a na rade bol ešte posledný Prokrustes.
Závišov kríž
thumb|upright|Baroková rytina Závišovho kríža
Závišov kříž je dvojramenný relikviárový kríž byzantského pôvodu.
Dejiny
Po smrti Kunhuty Uhorskej sa stal jeho majiteľom jej druhý manžel, Záviš z Falkenštejna, ktorý ho pravdepodobne daroval cisterciánskemu vyšebrodskému kláštoru.
V roku 2010 bol vyhlásený za národnú kultúrnu pamiatku. Uvádza sa, že ide o tretiu najcennejšiu stredovekú zlatnícku pamiatku v Česku (po korunovačných klenotoch a relikviáti sväzého Maura). Kríž bude aj motívom známky Českej pošty.
Anglosasi
thumb|Zjednodušená schéma migrácie v Európe medzi druhým a piatym storočím Anglosasi je spoločné označenie pre germánske kmene a podľa Bedu Ctihodného to boli potomkovia troch mocných germánskych kmeňov - Anglov, Sasov a Jutov, ktoré osídľovali Britániu od polovice 5. storočia.
Anglovia pochádzali zo Šlezvicka-Holštajnska a usadili sa na východe Británie. Juti vtrhli do Británie pod velením legendárnych vodcov Horsa a Hengesta. Ich pôvod môžeme hľadať v súčasnom Dánsku. Pôvodne obsadili južné časti Británie. Sasi prenikli na Britské ostrovy z oblastí dolnej Labe. Všetky kmene tu vytvorili kráľovstvá, z ktorých Northumbria v priebehu 7. storočia ovládla všetkých Anglosasov. V tomto storočí je už doložený samostatný vývoj v Anglicku, nezávislý od európskeho kontinentu.
V priebehu 8. storočia prešlo vedúce postavenie na kráľovstvo Mercia a neskôr v 9. storočí na Wessex. Istý čas tu vládol aj dánsky kráľ Knut. Vláda Anglosasov sa skončila roku 1066 príchodom Normanov do Británie.
Anglosasi hovorili germánskymi nárečiami a podľa Bedu Ctihodného to boli potomkovia troch mocných germánskych kmeňov: Anglov a Sasov, pôvodom zo súčasného severného Nemecka a Jutov z dnešného Dánska.
Blaj
thumb|Blaj Blaj (🇭🇺 Balázsfalva; 🇩🇪 Blasendorf) je mesto v župe Alba (v rumunskom Sedmohradsku), stredisko rumunskej gréckokatolíckej cirkvi. Má 20 758 obyvateľov (2002).
Zloženie obyvateľstva
Podľa údajov z roku 2002:
Dejiny
Blaj sa spomína prvýkrát v roku 1271 ako Villa Herbordi. Od roku 1737 tu sídli metropolita rumunskej gréckokatolíckej cirkvi.
Čakanovský profil
Čakanovský profil je prírodná pamiatka v správe štátnej ochrany prírody Cerová vrchovina.
Nachádza sa v katastrálnom území obce Čakanovce v okrese Lučenec v Banskobystrickom kraji. Územie bolo vyhlásené v roku 1990 na rozlohe 0,6889 ha. Ochranné pásmo nebolo určené.
Predmetom ochrany je: ''Lokalita je súčasťou 1 270 m dlhého profilu, s takmer úplným sledom pribrežnomorského a kontinentálneho horninového súboru spodného miocénu. Za chránené sú vyhlásené len dva bývalé ťažobné priestory, na začiatku a na konci čakanovského geolog. profilu.''
Rýchla vyrovnávacia pamäť procesora
Rýchla vyrovnávacia pamäť procesora je rýchla vyrovnávacia pamäť (skratka: RVP; angl. cache) používaná procesorom počítača na zníženie priemernej doby prístupu do hlavnej pamäte. Vyrovnávacia pamäť je menšia a rýchlejšia pamäť, ktorá ukladá kópie najčastejšie používaných dát hlavnej pamäte. V prípade, že sa častejšie využívajú kópie dát z vyrovnávacej pamäte procesora ako z hlavnej pamäte, je priemerná latencia pamäťového prístupu bližšia latencii vyrovnávajúcej pamäte ako latencii hlavnej pamäte.
Diagram napravo zobrazuje dve pamäte – hlavnú pamäť a rýchlu vyrovnávaciu pamäť. V oboch má každé pamäťové miesto priradenú hodnotu (riadok rýchlej vyrovnávacej pamäte, angl. cache line), ktorej veľkosť sa pohybuje podľa rôznych konštrukčných návrhov od 8 do 512 bajtov. Veľkosť riadku RVP je zvyčajne väčšia ako veľkosť bežného prístupu, ktorý sa pohybuje od 1 do 16 bajtov. Každé pamäťové miesto v oboch pamätiach má index – jedinečné číslo určené na označenie tohto miesta. Index pamäťového miesta v hlavnej pamäti sa nazýva adresa. Každé miesto v rýchlej vyrovnávacej pamäti má navyše štítok, ktorý obsahuje index hodnoty hlavnej pamäte, ktorá bola uložená v RVP. V rýchlej vyrovnávacej pamäti procesora sú tieto záznamy nazývané riadkami alebo blokmi RVP.
Keď chce procesor čítať alebo zapisovať na pamäťové miesto v hlavnej pamäti, najprv skontroluje, či je dané pamäťové miesto v cache. To sa dosiahne porovnaním adresy pamäťového miesta so všetkými štítkami v cache, ktoré môžu danú adresu obsahovať. Ak procesor nájde dané pamäťové miesto v cache, hovoríme tomu cache hit, inak hovoríme o cache miss. Po zistení, že sa požadované dáta nachádzajú vo vyrovnávacej pamäti je ešte potrebné overiť ich platnosť, ktorú udáva tzv. valid bit. V prípade cache hitu procesor okamžite prečíta, alebo zapíše údaje do cache line. Pomer prístupov, ktorých výsledkom bol cache hit ku cache miss, nazývame hit rate a je meradlom efektívnosti cache.
V prípade cache miss, väčšina druhov cache alokuje nový záznam, ktorý obsahuje práve zmeškaný tag a kópiu dát z pamäte. Potom je možné sa odkázať na nový záznam ako v prípade cache hit. Cache miss je pomalý, pretože je potrebné preniesť dáta z hlavnej pamäte. Tento prenos spôsobuje zdržanie preto, že hlavná pamäť je omnoho pomalšia ako cache pamäť.
Niektoré detaily fungovania
Aby sa vytvorilo miesto pre nový záznam v prípade cache miss, cache musí vo všeobecnosti "vyhodiť" jeden z existujúcich záznamov. Heuristika, ktorú na to používa na toto vyhodenie, sa nazýva politika nahrádzania (angl. replacement policy). Fundamentálny problém každej politiky nahrádzania je predpovedať, ktorý existujúci záznam v cache bude v budúcnosti použitý s najmenšou pravdepodobnosťou. Predpovedanie budúcnosti je náročné, obzvlášť pre hardvérové cache, ktoré musia byť implementované obvodmi, takže existuje množstvo politík nahrádzania a žiaden dokonalý spôsob, ako medzi nimi vybrať. Jedna z populárnych politík nahrádzania, LRU (Least Recently Used), nahrádza najdlhšie nepoužitý záznam.
Keď sa dáta zapíšu do cache, je tiež potrebné ich niekedy zapísať do hlavnej pamäte. Časovanie tohto zápisu sa riadi tzv. politikou zapisovania (write policy). Vo write-through cache spôsobí každý zápis do cache zápis do hlavnej pamäte. Vo write-back cache sa zápisy nezrkadlia v pamäti okamžite. Namiesto toho sa cache sleduje, ktorých miesta sa prepísali (tieto miesta sa označia ako špinavé - príznak dirty bit). Dáta z týchto miest sa zapíšu do hlavnej pamäte, keď sa dáta vyhadzujú z cache. Z tohto dôvodu cache miss vo write-back cache často bude vyžadovať dva prístupy do pamäte.
Dáta v hlavnej pamäti, ktoré sú cacheované môžu byť časom nahradené inými entitami, čo znamená, že dáta v cache "vychladli" (angl. out-of-date alebo stale). A zasa keď CPU aktualizuje dáta v cache, kópie týchto dát v iných cache vychladnú. Komunikačné protokoly medzi správcami cache, ktoré slúžia na udržiavanie konzistencie dát sa nazývajú koherenčné protokoly.
Asociativita
Takže politika nahrádzania rozhoduje, kde do cache sa uloží kópia určitého záznamu z hlavnej pamäte. Ak necháme voľbu, do ktorého záznamu cache sa kópia uloží, na politike nahrádzania, nazývame takúto cache plne asociatívna (fully associative). Opačným extrémom je, keď každý záznam z hlavnej pamäte môže ísť iba na jediné miesto v cache—cache sa mapuje priamo (direct mapped). Mnohé cache implementujú kompromis a označujú sa ako množinovo asociatívne (set associative). Napríklad dátová cache prvej úrovne (L1) v AMD Athlon je dvojcestne množinovo asociatívna (2-way set associative), čo znamená, že každý záznam z hlavnej pamäte môže byť cacheovaný v ktoromkoľvek z dvoch miest v dátovej cache prvej úrovne.
Ak každá z adries v hlavnej pamäti môže byť cacheovaná na dvoch adresách v cache, logickou otázkou je na ktorých dvoch? Najjednoduchšia a najbežnejšia schéma, zobrazená na diagrame vpravo hore, je použiť najnižšie bity indexu adresy hlavnej pamäte ako index do cache pamäte a mať dvojcestné záznamy pre každý index. Dobrou vlastnosťou tejto schémy je, že štítky uložené v cache nemusia obsahovať časť adresy hlavnej pamäte, ktorá je špecifikovaná indexom cache. Keďže štítky cache majú menej bitov, zaberajú menej miesta a je možné ich rýchlejšie čítať a porovnávať.
Boli navrhnuté aj iné schémy ako skewed cache, kde je index pre cestu 0 priamy, ale index pre cestu 1 je daný hash funkciou. Dobrá hash funkcia má vlastnosť, že adresy, ktoré sú v konflikte s priamym mapovaním nie s v konflikte s hash funkciou, a tak je menej pravdepodobné, že program bude trpieť neočakávaným množstvom konfliktných cache misses z dôvodu patologického prístupového vzoru.
Michelsonov interferometer
Michelsonov interferometer je interferometer, ktorý navrhol Albert Abraham Michelson.
Svoj prvý interferometer navrhol a zostavil Albert Abraham Michelson v roku 1881. Zdokonalená verzia odlišujúca sa od pôvodnej viacnásobným odrazom lúčov medzi zrkadlami bola použitá v roku 1887 pri Michelsonovom-Morleyho pokuse.
thumb|Michelsonov interferometer
Michelsonov interferometer sa skladá zo zdroja svetelných lúčov P, polopriepustnej sklenenej doštičky d, kompenzačnej doštičky k 1, zrkadiel Z1, Z2 a ďalekohľadu D.
Lúč zo zdroja P dopadá pod uhlom 45° na polopriepustnú sklenenú doštičku d, kde sa v bode A štiepi na dva lúče.
Lúč č 1 sa odrazí od polopriepustnej doštičky a dopadá kolmo na zrkadlo Z 1, tu sa odrazí späť do bodu A, po prechode polopriepustnou doštičkou dopadá do ďalekohľadu D . Lúč č 2 prejde polopriepustnou doštičkou, dopadne kolmo na zrkadlo Z 2, tu sa odrazí späť do bodu A, v bode A sa odrazí do ďalekohľadu D.
Le Cateau-Cambrésis
Le Cateau-Cambrésis môže byť:
Rýchla vyrovnávacia pamäť procesora
Asociativita
Jednou z výhod priamo mapovanej cache je, že umožňuje jednoduché a rýchle špekulácie. Keď sa raz vypočíta adresa, cache index, ktorý mohol byť kópiou údaju je známy. Je možné tento záznam cache prečítať a procesor môže pokračovať v práci s údajom predtým, než sa skončí kontrola, či sa štítok v skutočnosti zhoduje s požadovanou adresou.
Princíp, že procesor môže používať cacheované dáta predtým ako sa skončí kontrola zhodnosti štítku, je možné aplikovať aj na asociatívne cache. Podmnožinu štítku zvanú pomôcka (hint), je možné použiť paralelne s kontrolou celého štítku. Technika pomôcky funguje najlepšie, keď sa používa v kontexte prekladu adresy tak, ako je vysvetlené nižšie.
Povinné, kapacitné a konfliktné cache misses
Bolo vykonané množstvo analýz správania cache za účelom nájdenia najlepšej veľkosti, asociativity, veľkosti bloku atď. Sekvencie pamäťových referencií produkovaných benchmarkovými programami sa ukladajú ako address traces. Následné analýzy simulujú množstvo rôznych možných návrhov cache na týchto dlhých address traces. Zisťovanie toho, do akej miery toto množstvo premenných ovplyvňuje hit rate môže byť veľmi mätúce. Jedným z významných prispievateľov tejto analýzy je Mark Hill, ktorý rozdelil cache misses do troch kategórií:
thumb|Miss rate verzus veľkosť cache na celočíselnej časti SPEC CPU2000
Graf vpravo sumarizuje výkon cache na celočíselnej časti benchmarkov SPEC CPU2000, ako ich namerali Hill a Cantin. Tieto benchmarky majú reprezentovať druh záťaže, ktorý môže mať pracovná stanica v danom dni. Na tomto grafe môžeme vidieť rozličné vplyvy troch druhov cache misses.
Ďalej napravo pri veľkosti cache označenej ako "Inf", máme povinné cache misses. Ak chceme zlepšiť výkon stroja pri SpecInt2000, zväčšenie veľkosti cache nad 1MB je zbytočné. Taký pohľad nám dávajú povinné cache misses.
Miss rate plne asociatívnej cache je tu takmer reprezentatívnym príkladom kapacitnej miss rate. Rozdiel je, že prezentované údaje sú zo simulácií používajúcich politiku nahrádzania LRU. Zobrazenie kapacitnej miss rate by vyžadovalo dokonalú politiku nahrádzania, t. j. predvídanie budúcnosti a nájdenie záznamu cache, ktorý nebude potrebný.
Všimnite si, že naša aproximácia kapacitnej miss rate strmo klesá medzi 32 KB a 64KB. To indikuje, že benchmark používa pracovnú vzorku s veľkosťou približne 64KB. Návrhár cache CPU skúmajúci tento benchmark bude mať silné nutkanie nastaviť veľkosť cache skôr nad 64KB ako pod túto veľkosť. Všimnite si, že pri tomto benchmarku nemôže žiadna zmena asociativity pomôcť 32KB cache k rovnako dobrým výsledkom ako má štvorcestná 64KB cache či priamo mapovaná 128KB cache.
Nakoniec si všimnite, že medzi 64KB a 1MB je veľký rozdiel medzi priamo mapovanými a plne asociatívnymi cache. Tento rozdiel je konfliktná miss rate. V roku 2004 sú sekundárne cache v rámci čipu v tomto rozsahu, pretože menšie cache sú dostatočne rýchle na to, aby boli primárnymi cache a väčšie cache sú príliš veľké na to, aby ich bolo možné ekonomicky produkovať na čipe (Itanium 2 má 9MB level-3 cache na čipe, najväčšiu aká sa predáva v roku 2004). Poučenie z pohľadu na konfliktné miss rates je, že sekundárnym cache veľmi prospieva asociativita.
Táto výhoda bola dobre známa na konci osemdesiatych rokov a začiatku devätdesiatych rokov, kedy návrhári CPU nemohli zmestiť veľké cache na čip a nemali dostatočnú šírku pásma na dátovú cache ani štítky cache aby mohli implementovať vysokú asociativitu na cache mimo čipu. Boli pokusy o zúfalé hacky: MIPS R8000 používal drahé rezervované SDRAM mimo čipu so štítkami, ktoré mali v sebe komparátory štítkov a large drivers on the match lines, aby tak implementovali 4MB štvorcestne asociatívnu cache. MIPS R10000 používali na štítky bežné SRAM čipy a pri každom prístupe hádali, ktorou cestou nastane cache hit.
Preklad adries
Väčšina CPU na všeobecné účely implementujú určitú formu virtuálnej pamäte. V skratke – každý program bežiaci na stroji vidí svoj vlastný zjednodušený adresný priestor, ktorý obsahuje iba jeho kód a dáta. Každý program si dáva veci do svojho adresného priestoru, bez ohľadu na činnosť iných programov v iných adresných priestoroch.
Virtuálna pamäť vyžaduje od procesora preklad virtuálnych adries generovaných programom na fyzické adresy v hlavnej pamäti. Časť procesora zodpovedná za tento preklad sa nazýva jednotka správy pamäte (memory management unit, MMU). Rýchla cesta cez MMU môže vykonávať tieto preklady uložená v zvláštne nazvanom Translation Lookaside Buffer (TLB), ktorý je cache mapovaní tabuľky stránok operačného systému.
Pre účely tohto rozboru rozlišujeme tri dôležité charakteristiky prekladu adries:
Historická poznámka: prvé systémy s virtuálnou pamäťou boli veľmi pomalé, pretože vyžadovali prístup k tabuľke stránok (ktorá bola v pamäti) pre každým programovým prístupom k hlavnej pamäti. Bez akýchkoľvek cache bolo výsledkom spomalenie konečnej rýchlosti stroja na polovicu. Prvé hardvérové cache použité v počítačovom systéme vlastne neboli dátové ani inštrukčné cache, ale TLB.
Existencia rozličných fyzických a virtuálnych adries vyvoláva otázku, či sa v štítku a cache indexe používajú virtuálne alebo fyzické adresy. Motivácia za použitím virtuálnych adries je rýchlosť: vituálne indexovaná, virtuálne štítkovaná dátová cache úplne odbremeňuje MMU od opakovanej záťaže. Latencia tohto opakovania (load latency) je kritickou premennou ovplyvňujúcou výkon CPU. Väčšina moderných cache prvej úrovne je virtuálne indexovaných, čo aspoň umožňuje paralelné vykonávanie vyhľadávanie MMU v TLB s prinesením dát z cacheovanej RAM.
Ale virtuálne indexovanie nie je vždy najlepšou voľbou. Zavádza problém virtuálnych aliasov—cache môže mať viaceré adresy, ktoré môžu uložiť hodnotu jedinej fyzickej adresy. Náklady použitia virtuálnych aliasov rastú s veľkosťou cache a výsledkom je, že väčšina cache druhej a vyššej úrovne sú fyzicky indexované.
Virtuálne štítkovanie nie je obvyklé. Ak je možné ukončiť vyhľadávanie v TLB pred vyhľadávaním v RAM cache, fyzická adresa je včas dostupná pre porovnanie štítkov a virtuálne štítkovanie nie je potrebné. Väčšie cache potom bývajú fyzicky štítkované a iba malé cache s veľmi nízkou latenciou sú štítkované virtuálne. V posledných CPU na všeobecné účely nahradilo virtuálne štítkovanie vhints, čo je popísané nižšie.
Virtuálne indexovanie a virtuálne aliasy
Obvyklým spôsobom, ako procesor zaručuje, že aliasované virtuálne adresy sa správajú ako jediná adresa je zabezpečenie, že sa v cache neustále nachádza iba jediná kópia daného virtuálneho aliasu.
Zakaždým, keď sa do virtuálne indexovanej cache pridá nový záznam, procesor hľadá, či už v cache neexistuje virtuálny alias a ak áno, najskôr ho vyhodí. Táto špeciálna obsluha nastáva iba v prípade cache miss. Počas cache hit nie je potrebná žiadna zvláštna činnosť, čo pomáha udržať rýchlu cestu rýchlou.
Najpriamejším spôsobom, ako nájsť aliasy je zabezpečiť, aby boli všetky mapované na rovnakú adresu v cache. To sa stáva napr. keď má TLB 4KB stránky a cache s veľkosťou 4KB alebo menšou je mapovaná priamo.
Moderné cache prvej úrovne sú oveľa väčšie ako 4KB, ale stránky virtuálnej pamäte zostali na rovnakej veľkosti. Ak má cache veľkosť napr. 16KB a je virtuálne indexovaná, pre každú virtuálnu adresu existujú štyri cache adresy, ktoré ju môžu obsahovať, ale sú aliasované na rozličné virtuálne adresy. V prípade cache miss je potrebné skontrolovať všetky štyri adresy, či sa ich zodpovedajúce fyzické adresy nezhodujú s prístupom, ktorý spôsobil cache miss.
Tieto kontroly sú tie isté, ako používajú množinovo asociatívne cache pri výbere jednotlivých zhôd. Takže ako je 16KB virtuálne indexovaná cache štvorcestne množinovo asociatívna a používa sa s virtuálnou pamäťou so 4KB stránkami, na vyhodenie virtuálnych aliasov počas cache miss nie je potrebná žiadna ďalšia práca, pretože kontroly už prebehli počas kontroly cache hit. Vezmime si znova ako príklad AMD Athlon—má 64KB dátovú cache prvej úrovne, 4KB stránky a dvojcestnú množinovú asociativitu. Keď nastane cache miss, 2 z 16 (==64KB/4KB) možných virtuálnych aliasov už boli skontrolované a ďalších sedem cyklov hardvéru kontroly štítkov je potrebných na dokončenie kontroly virtuálnych aliasov.
Virtuálne štítky a vhints
Virtuálne štítkovanie je tiež možné. Veľkou výhodou virtuálnych štítkov je to, že pri asociatívnych cache umožňujú pokračovanie kontroly zhody štítkov predtým, ako sa dokončí preklad virtuálnej adresy na fyzickú. Ale:
Je tiež možné, aby operačný systém zabezpečoval, aby v cache súčasne neexistovali virtuálne aliasy. Operačný systém to dosiahne vynútením farbenia stránok, ktoré je opísané nižšie. Niektoré skoré RISC procesory (SPARC, RS/6000) sa vydali touto cestou. V poslednej dobe nebola použitá, keďže hardvérové náklady na detekciu a vyhadzovanie virtuálnych nákladov klesli a stúpla daň za komplexnosť softvéru a stratu výkonu pri dokonalom farbení stránok.
Môže byť užitočné rozlišovať dve funkcie štítkov v asociatívnej cache: používajú sa na zistenie, ktorú cestu záznamu vybrať a používajú sa na zistenie, či nastal cache hit alebo miss. Druhá funkcia musí byť vždy správna, ale pre prvú funkciu je prípustné, aby hádala a niekedy chybila.
Niektoré procesory (napr. skoré SPARC) majú cache s virtuálnymi aj fyzickými štítkami. Virtuálne štítky sa používajú na výber cesty a fyzické na určenie, či nastal cache hit alebo miss. Tento druh cache má výhodu latencie virtuálne štítkovanej cache a jednoduché softvérové rozhranie fyzicky štítkovanej cache. Prináša však náklady duplikovaných štítkov. Tiež počas spracovania cache miss je potrebné skontrolovať alternatívne cesty cache line indexu kvôli virtuálnym aliasom a vyhodiť všetky duplikáty.
Snáď najväčšia redukcia virtuálnych vodítok sa nachádza v Pentium 4 (jadrá Willamette a Northwood). V týchto procesoroch je efektívne virtuálne vodítko 2 bity dlhé, pričom cache je štvorcestne množinovo asociatívna. Hardvér si udržiava jednoduchú permutáciu virtuálnej adresy ku cache indexu, a tak na výber tej správnej zo štyroch ciest nie je potrebný CAM.
Farbenie stránok
Veľké fyzicky indexované cache (zvyčajne sekundárne cache) narážajú na problém: nad tým, ktoré stránky v cache navzájom kolidujú ma kontrolu operačný systém a nie aplikácia. Rozdiely v alokácii stránok od programu k druhému vedú k rozdielnym vzorom kolízií v cache, čo má za dôsledok veľké rozdiely vo výkone programu. Tieto rozdiely môžu veľmi sťažiť dosiahnutie konzistentného a opakovateľného časovania pre beh benchmarku, čo vedie k frustrovaným predajcom žiadajúcim nápravu problému od autorov operačných systémov.
Pre pochopenie problému uvažujme CPU s 1MB fyzicky indexovanej priamo mapovanej cache druhej úrovne a 4KB virtuálnymi pamäťovými stránkami. Sekvenčné fyzické stránky sú mapované do súvislej oblasti v cache, až po 256 stránkach sa vzorka opakuje od začiatku. Každú fyzickú stránku môžeme označiť farbou od 0-255 určujúcou, kam do cache môže ísť. Adresy v rámci fyzických stránok s rozličnou farbou nemôžu v cache kolidovať.
Programátor pokúšajúci sa maximálne využiť cache môže zostaviť prístupové vzory svojho programu tak, aby bolo naraz v každom okamihu potrebné cacheovať iba 1 MB dát, čím sa vyhne kapacitným cache misses. Ale mal by tiež zabezpečiť, aby prístupové vzory nemali konfliktné cache misses. Jedným zo spôsobov poňatia tohto problému je rozdeliť virtuálne stránky, ktoré program používa, a priradiť im virtuálne farby rovnakým spôsobom, ako sme priradili fyzické farby fyzickým stránkam.
Programátor potom môže zostaviť prístupové vzory svojho kódu tak, aby naraz nepoužíval dve stránky s rovnakou virtuálnou farbou v jednom časovom okamihu. O tomto druhu optimalizácie existuje množstvo literatúry (napr. loop nest optimization), zväčša pochádzajúcej od High Performance Computing (HPC) komunity.
Chyták je v tom, že aj keď všetky naraz používané stránky majú rozličnú virtuálnu farbu, niektoré môžu mať rovnakú fyzickú farbu. V skutočnosti, ak operačný systém priraďuje fyzické stránky náhodne a jedným spôsobom, je extrémne pravdepodobné, že niektoré stránky budú mať rovnakú fyzickú farbu a potom adresy týchto stránok budú v cache kolidovať (toto je tzv. birthday paradox).
Riešením je nechať operačný systém pokúsiť sa priradiť rozličné fyzické farby rozličným virtuálnym farbám, technika nazývaná farbenie stránok (page coloring). Hoci skutočné mapovanie z virtuálnej na fyzickú farbu je irelevantné vzhľadom na výkon systému, je zložité pracovať s čudnými mapovaniami a neprinášajú veľké výhody, takže väčšina pokusov farbenia stránok pozostáva zo snahy udržiavať fyzické a virtuálne farby rovnaké.
Ak môže operačný systém zaručiť, že každá fyzická farba je mapovaná iba na jednu virtuálnu farbu, potom neexistujú virtuálne aliasy a procesor môže používať virtuálne indexovanú cache bez ďalších kontrol na virtuálne aliasy počas obsluhy cache miss. Alebo OS môže vyhodiť stránku z cache zakaždým, keď zmení virtuálnu farbu na inú. Ako sme spomenuli vyššie, tento prístup bol použitý v niektorých raných návrhoch SPARC a RS/6000.
Hierarchia cache v modernom procesore
Moderné procesory majú v skutočnosti na čipe viacero spolupracujúcich cache. Vývoj modernej hierarchie cache bol usmerňovaný dvoma problémami.
Špecializované cache
Prvý problém je, že CPU s pipeline pristupujú k pamäti z viacerých miest v pipeline: prinesenie inštrukcie, preklad adresy z virtuálnej na fyzickú a prinesenie dát. Jednoduchý príklad je uvedený v článku Classic RISC Pipeline. Prirodzeným dôsledkom je použiť rozličné fyzické cache pre každý z týchto bodov, aby nebolo potrebné používať žiadne fyzické zariadenie na obsluhu dvoch miest v pipeline. Tak pipeline prirodzene skončí s aspoň tromi oddelenými cache (inštrukčná, TLB, a dátová), každou špecializovanou na určitú úlohu.
Victim cache
victim cache je cache používaná na udržiavanie blokov vyhodených z cache CPU z dôvodu konfliktného alebo kapacitného cache miss. Victim cache leží medzi hlavnou cache a jej dopĺňacou cestou a udržiava iba bloky, ktoré boli vyhodené z cache počas cache miss. Táto technika sa používa na redukciu nákladov, ktoré spôsobuje cache miss.
Originálna victim cache na HP PA7200 bola malá, plne asociatívna cache. Neskoršie procesory ako AMD K7 a K8 používali veľmi veľkú sekundárnu cache ako victim cache aby sa vyhli duplikácii obsahu veľkej primárnej cache.
Trace cache
Jedným z extrémnejších príkladov špecializácie cache je trace cache, ktorú môžeme nájsť v procesoroch Intel Pentium 4.
Trace cache je mechanizmus zväčšenia šírky pásma pre prinesenie inštrukcií ukladaním stôp inštrukcií, ktoré už boli prinesené. Mechanizmus bol prvýkrát navrhli Eric Rotenberg, Steve Bennett a Jim Smith v ich dokumente z roku 1996 : "Trace Cache: a Low Latency Approach to High Bandwidth Instruction Fetching."
Trace cache ukladá inštrukcie potom, ako boli dekódované alebo odložené. To umožňuje jednotke pre prinesenie inštrukcií priniesť niekoľko základných blokov bez toho, aby sa musela starať o vetvy v toku programu. Trace lines sa ukladajú v trace cache na základe program counter prvej inštrukcie v trace a množine predpovedí vetvenia. To umožňuje ukladanie rôznych trace ciest začínajúcich na rovnakej adrese. Keď je pipeline vo fáze prinesenia inštrukcie, skontroluje sa aktuálny program counter spolu s množinou predpovedí vetvenia, či nenastal cache hit. Ak nastal hit, trace line sa použije na prinesenie, ktoré tak nemusí smerovať do bežnej cache alebo do pamäte. Trace cache naďalej posiela prinášaciu jednotku do konca trace line alebo do chyby predpovede v pipeline. Ak nastane cache miss, začne sa budovať nová trace.
Trace cache sa tiež používajú v procesoroch ako Intel Pentium 4 na uloženie už dekódovaných mikrooperácií alebo preklad komplexných x86 inštrukcií, aby ich nebolo potrebné znova dekódovať keď budú znova potrebné.
Plný text Dokumentu Smitha, Rotenberga a Bennetta na Citeseer.
Architektúra Harvard
Pipelines s oddelenými cache pre inštrukcie a dáta nazývame Harvard architecture. Pôvodne toto spojenie označovalo stroje s oddelenými inštrukčnými a dátovými pamäťami, ktoré tak zabraňovali programu modifikovať svoje inštrukcie.
Viacúrovňové cache
Druhým problémom je fundamentálne vybalansovanie medzi latenciou cache a hit rate. Väčšie cache sú pomalšie a majú lepšie hit rate. Na zmiernenie tohto vyrovnania používajú mnohé počítače viaceré úrovne cache, kde sú malé a rýchle cache sekondované väčšími a pomalšími. Ako sa zväčšuje rozdiel v latencii hlavnej pamäte a najrýchlejšej cache, niektoré procesory začali používať až tri úrovne cache na čipe. Napríklad v roku 2003 sa začal dodávať Itanium II so spolu 6MB cahe tretej úrovne na čipe. Rad IBM Power 4 má 256MB cache tretej úrovne mimo čipu, ktorú zdieľa niekoľko procesorov.
Viacúrovňové cache vo všeobecnosti fungujú tak, že sa najprv skontroluje najmenšia cache prvej úrovne; ak nastane cache hit, procesor môže rýchlo pokračovať. Ak nastane cache miss, skontroluje sa nasledujúca väčšia cache atď. až po kontrolu hlavnej pamäte.
Viacúrovňové cache predstavujú nové rozhodnutia pri návrhu. Napríklad v niektorých procesoroch (ako Intel Pentium 2, 3 a 4, ako aj väčšina RISCov), dáta v L1 cache môžu byť aj v L2 cache. Tieto cache sa nazývajú inkluzívne. Iné procesory (ako AMD Athlon) majú exkluzívne cache—je zaručené, že dáta sa nachádzajú najviac v jednej z L1 a L2 cache.
Výhodou exkluzívnych cache je, že sú schopné uchovať viac dát. Táto výhoda sa zväčšuje so zvyšujúcou sa veľkosťou cache. Keď nastane L1 cache miss, cache line L2, ktorá mala cache hit, sa nahradí s cache line v L1. Táto výmena je o niečo viac prácna ako iba skopírovanie cache line z L2 do L1, čo robí inkluzívna cache.
Niektoré implementácie inkluzívnych cache zaručujú, že všetky dáta v L1 cache sa nachádzajú aj v L2 cache (implementácie Intel x86 nie). Jednou výhodou prísne inkluzívnych cache je, že keď externé zariadenia alebo iné procesory v multiprocesorovom systéme chcú odstrániť cache line z procesora, stačí, aby procesor skontroloval L2 cache. V hierarchiách cache, ktoré nevynucujú inklúziu je potrebné skontrolovať aj L1. Nevýhodou je vzťah medzi asociativitami cache L1 a L2: ak nemá L2 cache aspoň toľko ciest, ako všetky cache L1 spolu, efektívna asociativita L1 cache je obmedzená.