Wikibooks euwikibooks https://eu.wikibooks.org/wiki/Azala MediaWiki 1.47.0-wmf.4 first-letter Media Berezi Eztabaida Lankide Lankide eztabaida Wikibooks Wikibooks eztabaida Fitxategi Fitxategi eztabaida MediaWiki MediaWiki eztabaida Txantiloi Txantiloi eztabaida Laguntza Laguntza eztabaida Kategoria Kategoria eztabaida TimedText TimedText talk Modulu Modulu eztabaida Event Event talk Informatikaren 50 urte 50 teknologiatan/RISC arkitektura 0 7279 43271 2026-06-01T13:14:27Z Olatzarregi 2713 Orria sortu da. Edukia: ==RISC arkitektura== [[Fitxategi:CPU block diagram.svg|thumb|RISC prozesadore baten bloke diagrama]] ''' RISC (''[https://en.wikipedia.org/wiki/Reduced%20instruction%20set%20computer Reduced Instruction Set Computer]'')''' arkitektura 1970eko hamarkadaren amaieran garatutako ordenagailu-arkitektura bat da, helburu nagusitzat eraginkortasuna eta sinpletasuna dituena. Hori lortzeko agindu-multzo txiki eta sinple bat erabiltzen du, ordura arte erabiltzen zenaren kontrak... 43271 wikitext text/x-wiki ==RISC arkitektura== [[Fitxategi:CPU block diagram.svg|thumb|RISC prozesadore baten bloke diagrama]] ''' RISC (''[https://en.wikipedia.org/wiki/Reduced%20instruction%20set%20computer Reduced Instruction Set Computer]'')''' arkitektura 1970eko hamarkadaren amaieran garatutako ordenagailu-arkitektura bat da, helburu nagusitzat eraginkortasuna eta sinpletasuna dituena. Hori lortzeko agindu-multzo txiki eta sinple bat erabiltzen du, ordura arte erabiltzen zenaren kontrakoa, non agindu-multzoa konplexua zen ‒CISC (''[https://en.wikipedia.org/wiki/Complex%20instruction%20set%20computer Complex Instruction Set Computer]'')‒. RISC konputagailuen beste ezaugarrietako bat da helburu orokorreko erregistro-multzo handi bat dutela. Erregistro hauen atzipena oso azkarra da, eta ondorioz, datuak erregistroetan baldin badaude, eragiketa aritmetiko-logikoak oso azkar egin daitezke datuak beti eskura daudelako. Hala ere, datuak memoriatik erregistroetara (''load'') edota erregistroetatik memoriara (''store'') eramateko ere aginduak behar dira. Hori dela eta, RISC konputagailuak [https://en.wikipedia.org/wiki/Load%E2%80%93store_architecture ''load-store'' arkitekturan] oinarritzen direla esaten da. Hau da, aginduak bi motatakoak izan daitezke, memoriakoak edo aritmetiko-logikoak. Memoriako aginduek bakarrik memoria eta erregistroen arteko mugimenduak egiten dituzte, eta agindu aritmetiko-logikoak gainerako eragiketa guztiez arduratuko dira. Azken hauek beti erregistroen artean egiten dira. Eredu honek exekuzio oso azkarrak ahalbidetzen ditu. RISC konputagailu batek CISC batek baino agindu gehiago behar izan ditzake ataza bat egiteko, banakako aginduek eragiketa sinpleagoak egiten dituztelako, baina agindu sinpleek, oso azkar exekutatzeaz gain, [https://en.wikipedia.org/wiki/Instruction-level%20parallelism agindu mailako paralelismoa] (ILP) ahalbidetzen dute, eta ondorioz, atazaren exekuzioa azkartzen da agindu bakoitza ziklo bakar batean bukatuz. Ikus dezagun adibide bat: Demagun 3 agindu aritmetiko (+, x eta /) burutu behar dituen programa bat daukagula. Suposatuko dugu eragingaiak erregistroetan (ri) gordeta daudela (horretarako dagozkien ''load'' aginduak exekutatu dira aurretik) eta emaitza ere erregistro batean gordeko dugula (bukaeran, azkeneko emaitza memoriara eramango da ''store'' agindu baten bidez): Agindu horietako bakoitzean egin beharrekoa sinplea da eta lau urratsetan banatzen ohi da: 1. agindua memoriatik CPUra eraman (if – ''instruction fetch''). 2. agindua deskodetu eta eragingaiak irakurri erregistroetatik (id – ''instruction decode''). 3. eragiketa egin (ex –''execution''). 4. emaitza erregistro batean gorde (wr – ''register write''). Suposatuko dugu hori egiteko 4 erloju-ziklo behar direla agindu bakoitzeko, hau da, urrats bakoitzeko bat. Beraz, programa hori seriean exekutatzeko, hiru aginduak bata bestearen atzetik, 3 x 4 = 12 ziklo beharko genituzke. Baina agindu mailako paralelismoari esker, agindu bat memoriatik CPUra eramaten den bitartean, beste agindu batzuk deskodetzen, eragiketa egiten edota emaitza idazten egon daitezke, denak aldi berean. Hau horrela izanik, agindu bakoitza ziklo bakar batean bukatuko litzateke, eta programa osoa exekutatzeko 6 ziklo beharko genituzke 12ren ordez. {| class="wikitable" |- | <code>r1 = r2 + r3;</code> || <code>if</code> || <code>id</code> || <code>ex</code> || <code>wr</code> || || |- | <code>r4 = r5 x r6;</code> || ||<code>if</code> || <code>id</code> || <code>ex</code> || <code>wr</code>|| |- | <code>r7 = r8 / r9;</code> || || || <code>if</code> || <code>id</code> || <code>ex</code> || <code>wr</code> |- | '''<code>zikloak</code>''' || '''<code>1</code>''' || '''<code>2</code>''' || '''<code>3</code>''' || '''<code>4</code>''' || '''<code>5</code>''' || '''<code>6</code>''' |} ==Ezaugarri teknikoak== Laburbilduz, hauek direla RISC prozesadoreen ezaugarri nagusiak: 1. Agindu-multzo txikia eta uniformea: agindu kopuru mugatua eta agindu guztiek luzera bera, horrela deskodetze-fasea sinpleagoa da. 2. Exekuzio-ziklo bakarra: agindu bakoitza erloju-ziklo bakar batean exekutatzeko (bukatzeko) diseinatua dago. 3. ''Load-store'' arkitektura: memoriako aginduak bi besterik ez dira, ''load'' eta ''store''. Gainerako eragiketa guztiak erregistroen artean egiten dira. 4. Erregistro-multzo handia: erregistro ugari dago memoriara sarbide-kopurua murrizteko. 5. Hardwarearen sinpletasuna: aginduak zuzenean hardwarean inplementatzen dira eta horrek diseinua sinpletzen du. ==Testu ebakia: prozesadoreen transistore kopurua== [[Fitxategi:Transistorer (cropped).jpg|thumb|Transistores]]Transistoreak prozesadoreen oinarrizko osagaiak dira eta horien kopurua handitzean, memoria handiagoak eta exekuzio-unitate gehiago egin daitezke, prozesadore azkarragoak lortuz. 1971eko [https://en.wikipedia.org/wiki/Intel%204004 Intel 4004] mikroprozesadoreak —kalkulagailu baterako diseinatua— '''2.300 transistore''' zituen eta segundoko 60.000 eragiketa egiteko gai zen. Bestalde, RISC-I prozesadoreak 44.429 transistoreekin, garai hartako CISC prozesadore sinpleen (100.000 transistore) errendimendua erraz gainditzen zuen. Gaur egungo prozesadore batek, berriz, milaka milioi transistore ditu, eta ondorioz, mila milioika aldiz eraginkorragoa da, esaterako, 2025ko [https://en.wikipedia.org/wiki/Apple%20M5 Apple M5] sistemak, '''28 mila milioi transistore''' ditu. ==Historia== [[Fitxategi:CDC 6600.jc.jpg|thumb|CDC 6600]] 60ko hamarkadan sortutako sistema batzuk —[https://en.wikipedia.org/wiki/CDC%206600 CDC 6600]— RISC arkitekturaren aitzindari hartu badira ere, [https://en.wikipedia.org/wiki/Michael%20J.%20Flynn Michel J. Flynn]-en arabera, lehenengo RISC sistema [https://en.wikipedia.org/wiki/IBM%20801 IBM 801] izan zen, John Cock-ek 1975ean hasi eta 1980an amaitu zena. Hala ere, RISC terminoa [https://en.wikipedia.org/wiki/David_Patterson_(computer_scientist) David Patterson]-ek sortu zuen [https://en.wikipedia.org/wiki/Berkeley%20RISC Berkeley RISC] proiektuan (1980 – 1984). Proiektu horren ondorioz, RISC-I (1982) eta RISC-II (1983) prozesadoreak diseinatu ziren eta, nahiz eta zuzenean komertzializatu ez baziren ere, esan daiteke gaur egungo prozesadore modernoak azken horren kopiak direla. cwlsisycdajg30k1jksc5uaoyk768pl