Post on 05-Mar-2016
ARSITEKTUR KOMPUTER
Padababini,kitamengawalipembahasankitamengenaiarsitekturkomputer.Kitamemulainyadenganmendeskripsikanapayangdimaksuddenganarsitekturkomputerdanapapulayangdimaksuddenganarsitekturrumpunkomputer(com-puter-family).Bagian1.1mengemukakantinjauansingkatmengenaisejarahperkembanganarsitekturkomputerdalamkonteksteknologiyangberubahsecaracepat.PadaBagian1.2,kitamembahaskategoridasardariarsitekturkomputer.Bagian1.3dan1.4mengenalkansifatyangdapatmembuatarsitekturkomputermenjadibaik.
ISTILAH KUNCI
Architecturalmerit(manfaatarsitektur)Penilaiankualitasarsitekturkomputeryangterutamadidasarkanpadadayaterapnyauntukpemakaiyangdimaksud,dayatempanya,dandayakembangnya.
BenchmarkProgramstandartyangdigunakanuntukmengukurkecepatansuatukomputerdibandingkandengankecepatankomputerlain yangmenjalankanpro-gramyangsama.
Kompatibilitas Kemampuanberbagai komputer yang berbedauntukmenjalankanprogramyangsarna.
MultiprosesorKomputeryangmemilikilebihdarisatuprosesor,sepertiarrayprosesor,prosesorasosiatif,ataukomputermultiple-prosesor.
Metrik kinerjaUkurankecepatankomputer;yangkadang-kadangini diberiistilahyangsudahtertentu,misalnyamillionsof instructionsorpersecond(MIPS)ataumillionsof floating-pointoperationspersecond(MFLOPS), dankadang-kadangistilahnyaberkaitandengankomputerstandart,misalnyaVAX 11/780.
ProsesorpipelineProsesoryangmencapaiparalelismedengancara salingmelengkapioperasidari beberapainstruksi,masing-masingberadadalamtahapeksekusiyangberbeda.
SetRegisterSetregisteroperasionaldarisuatukomputer,yangdapatdiubaholehprogrammerdenganmenggunakansetinstruksikomputertersebut.
Arsitekturkomputeradalahdesainkomputeryang meliputiset instruksi,komponenhardware,danorganisasiataususunansistemnya.Ada duabagianyangpokokuntukarsitekturkomputer:instruction-setarchitecture(ISA)/ arsitektursetinstruksidanhardware-systemarchitecture(HSA)/ arsitektursistemhardware.ISA
8
meliputispesifIkasiyangmenentukanbagaimanaprogrammerbahasamesinakanberinteraksidengankomputer.Padaumumnya,komputerdipandangdarisegiISA-nya,yangmenentukansifatkomputasionalkomputer.Sebaliknya,HSA berkaitandengansubsistemhardwareutamakomputer,yangmeliputicentralprocessingunit(CPU)/ unitpemrosesansentral,sistempenyimpanan,daninput-output(I/O) sys-tem/sisteminput-outputnya(yangmerupakaninterfacekomputerterhadapdunialuar).HSA mencakupdesainlogisdanorganisasiarusdatadarisubsistem,danolehkarenanyatingkatHSA yangluasakanmenjadikanmesindapatberoperasisecaraefIsien.
Sebaiknyadibedakanantaraarsitekturkomputerdenganpengimplemen-tasiannya.Implementasiadalahrealisasikomputerdalarnhardwaredanmencakuppilihanteknologi,kecepatan,biaya,dansebagainya.Arsitekturtidakmenentukanimplementasi,dansebaliknya,namunmasing-masingsalingmempengaruhi.Perluandacatat,bahwasecaraumum,duakomputeryangmempunyaiISA yangsarnaakanmenjalankanprograrnyangsarnapula.
Dari perspektifyangagakberbeda,kita bisamenganggapbahwakomputersebenarnyaadalahimplementasidari ISA. Implementasiini meliputipenentuanHSA dandesainfIsiknya.
Adabanyakkesarnaanantaramempelajariarsitekturbangunandanmempelajariarsitekturkomputer.Dalam arsitekturbangunan,seseorangdapatmempelajaribangunansecarasendiri-sendiri,misalnyaLouvredanWestminsterAbbey,periodesejarah,misalnyamasaRenaissancePerancisdanjarnanByzantinumkuno,dankomponenbangunan,misalnyabatudanbatubataoDalamarsitekturkomputer,areastudikomparibelnyaadalahkomputeritusendiri,sepertiControlDataCorporation(CDC) 6600danILLIAC IV; perlodehistoris,misalnyagenerasipertama,kedua,danketiga;klasifIkasiarsitektural,misalnyaarsitekturmesinvonNeumann,arrayprosesor,danmultiple-prosesor;dankomponenkomputer,sepertitabungharnpaudaradantransistor.
ISA yangbaikumumnyamempunyaibanyakimplementasi.Komputerper-sonalstandart(PC), misalnya,adadalarnberbagaikinerja,reliabilitas,ukuran,biaya,danHSA; narnunsemuaPC GikaberdasarkanpadaIBM PC) padadasarnyamempunyaiISA yangsarna.Hal inimengarahkankitasecaralangsungkekonsepsicomputer-familyarchitecture,yangsepertisebuaharsitekturkomputer,kecualibilaspesifIkasinyamemungkinkanberbagaiimplementasisecaraluas.Untukmencapaivariasiyangbermacarn-macarntersebut,kadang-kadangspesifIkasinyamembiarkanfasilitasHSA atauimplementasinyatidakdispesifIkasidulu;yangumumnyahalinimencakupteknologi,aruskontrollogis,waktupengoperasian,danukuranmemori.
9
Jadi,computerfamilyadalahsetimplementasiyangmenggunakanISA yangsarna.
Kembali,adapersarnaanantaraarsitekturbangunandanarsitekturkomputer.Developerbiasanyamenciptakan"familyof houses"(rumpunrumah)dengancarnmengulangirencanapembuatanlantaiyang sarna.narnundenganbahanyangberbeda.dan membuatbentuktamanuntukmembedakanpenarnpilandari tiaprumah.Arsitekkomputermenciptakanrumpunkomputerdenganmenggunakanberbagaiteknologi,ukuranmemori,keeepatan,sehinggaaka..membedakankinerja(penarnpilan)darisetiapmodeldalarnsaturumpuntersebut.
InternationalBusinessMachinesCorporation(IBM) pertamakalimengenalkanidemengenairumpunkomputerpadaawaltabun1960-an,ketikaia meluncurkanarsitekturrumpunSystem/360-nya.Rumpunini mempunyaijalur komputeryanglengkap,yangmeliputimodel20, 30, 40, 44, 50, 65, dan91. Komputeryangberbedadalam rumpuntersebutmempunyaijumlah memori yang berbeda,
menggunakanteknologiyangberbeda.mempunyaistrukturbusyan~berbeda,dankeeepatanbekerjanyajugaberbeda.narnunsemuamodeldalarnrumpuntersebutdapatmenjalankanprogramyangsarna.
Perusahaankomputerlainjugamengenalkanrumpunkomputer.DigitalEquip-ment Corporation (DEC), yang merupakanpelopor dalam minikomputer,mengenalkanrumpunPDP-8 padatabun1965,rumpunPDP-ll padatabun1970,danrumpunVAX-ll padatabun1978.CDC memunculkanrumpunCDC 6000padaawaltabun1960-an,yangberkembangmenjadiseriCYBER 170padatabun1970-an.
Persissarnasepertifamilidalarnduniabinatang,familiataurumpunkomputerberevolusidanberubah.Sebagaicontoh,walaupunffiM System/360tetapstabilselarnabeberapatabun,narnundi dalamnyaadabeberapaperubahankeeildanjugaperubahanyangpokok.Modiftkasibesar-besaranterjadipadaawaltabun1970-00,yang menghasilkanrumpunSystem/370,dan modiftkasiini terulanglagi padatahun 1988,yang menghasilkanEnterpriseSystemArchitecture/370.Dalamsiklusnya.adajuga perubahankeeilyangterusterjadisepanjangkehidupannya.
Kompatibilitasadalahkemarnpuanberbagaikomputer(komputeryangberbeda)untukmenjalankanprograrnyangsarna.Umumnya,arsitekmerancangupwardcompatibility(kompabilitasmeningkat),yangmemungkinkananggotarumpunyangberunjuk-kerjatinggiuntukmenjalankanprogramyangsarnasepertiyangdijalankanolehanggotayangberunjuk-kerjarendah.Lawannyaadalahdownwardcompatibil-ity (kompatibillitasmenurun),yangtidakselalubisadidapatkan,karenaaQggotarumpunyangberkinerjatinggibiasanyamemilikifasilitasyangtidakdimilikiolehanggotayangberkinerjarendah.Kompatibilitasmeningkatmemberikanperlindungan
10
kepadasoftwarepemakai,karenaia dapatmengubahkinerjakomputermenjaditinggi.Forwardcompatibility(kompatibilitaskedepan)mengacupadakompatibilitasantarasuaturumpundenganrumpunkomputerlanjutanatauturunannya.Sekalilagi,perusahaanmemeliharakompatibilitaskedepanuntukmemberikeuntungankepadapemakaiakanpemekaiansoftwarenya,sehinggapemakaitersebutaskanselalusetiadenganrumpunyangdiciptakanperusahaantersebut.
1.1PERSPEKTIF HISTORIS
Teknologikomputertelahberkembangdengancepatsejakakhirtahun1940-an,ketikaJohnAtanasoffdariIowaStateUniversitymenciptakankomputerdigitalelektronikyangdigunakansecarakhusus,yaituABC (Burksand Burks, 1988:Mollenhoff, 1988).Komputergenerasipertamaadalahkomputerjenis mesinlaboratoriumdandiantaranyaadalahENIAC (BurksandBurks,1981),EDV AC,EDSAC (Samuel,1957),danMark-I.J. PresperEckertdanJohnMauchlymerancangdanmembuatENIAC, yangbukanmerupakankomputerpenyimpanprogram,danmerekajugamengerjakanperancanganEDSAC, yangsemuanyadikerjakandiMooreSchoolof theUniversityof Pennsylvania.John von NeumannadalahkonsultanuntukproyekENIAC tersebutdaniajugamemberikankontribusipadarancanganEDV AC. MauriceWilkes,yangjugabekerjapadaproyekEDV AC ini,kembalikeInggrisdanmerancangEDSAC, yangia bangundi MathematicalLaboratorypadaUniversityof Cambridge(Wilkes, et aI., 1951).Sementaraitu, HowardAikenmengembangkanMark-I danturunannya,yaituMark-II, Mark-III, danMark-IV diHarvardUniversity.Padapertengahantahun1940-an,von Neumanndan parakoleganya(Burks,et aI., 1946),denganmengikutiproyekENIAC, menemukanberbagaiinovasiarsitekturdanparaperancangsegeramengambilidedarinyatersebutuntukditerapkanpadamesinmerekayangbam,sepertiIAS padaPrinceton'sIn-stituteof AdvancedStudies.
WalaupunMark-IdanMark-IImenggunakanrelayelektromagnetis,kebanyakanmesinawal ini menggunakanteknologitabunghampaudara.Transistorbelumditemukan,dantabunghampaudaraadalahsatu-satunyaelemenswitchnon-mekanikyangdikenalpadasaatitu.Mesinkomersilpertama,yaituUnivac(Eckert,etaI.,1951),menggunakantabunghampaudara(vacuumtube).Vacuumtubememilikiwaktuswitchingyangcepatdalammikrosecond,namunia banyakmengkonsumsidaya(watt,bukanhanyabikrowatt),danakibatnyaia menghasilkanpanasyangtinggi.Komputerawalberisipuluhanribuvacuumtube,namunkeperluandayanya,
11
penghasilanpanasnya,danreliabilitasnyaterbataspadaukuranpraktisdarikomputeryanghanyamempunyaipuluhanribuswitchsepertiitu.BerikutadalahpemyataanyangdiungkapkanolehJohnvonNeumannpadatahun1951,yangmenjelaskanlamanyaperkembangankomputersehinggaiabisaterbentuk.
Duamesinkomputerisasivacuumtubebesaryangterkenalterdapatdalamkeberadaandanoperasinya.Kedu~yaterdirisekitar20.000organswitching.Salahsatunyaadalahmesinvacuumtube.(IadipunyaiolehU.S.ArmyOrdnanceDepart-ment,BallisticResearchLaboratories,Aberdeed,Maryland,sebagaipenandaan"ENIAC").Yanglainnyaadalahcampuranyaituvacuumtubebagiandanrelayelektromagnetisbagian.(IadipunyaiolehffiM Corporation,danditempatkandiNewYork,sebagaipenandaan"SSEC.").Mesinini cukuplebihbesardaripadaukuranmesinkomputerisasivacuumtubeyangmunculpadakeberadaandanoperasinyapadabeberapatahunberikutnya.DimungkWcanbahwasetiapmesininiterdiriatas2000sampai6000organswitching.(Sebabkemundurannyaadalahkarenaperlakuanatasmemorinya,yangtidakkitabahasdisini).Dimungkinkanpulabahwadalambeberapatahunyangakandatang,ukuranmesinakanmeningkatlagi,namunnampaknyabahwa10.000(ataumungkinbeberapakali10.000)organswitchingakanbisadiungguliolehteknikdanpemikiranbaruyangditerapkan.Jelasnya,kim-kira104organswitchingnampaknyaakanmenjadiorderbesaranyangtepatuntukmesinkomputerisasi(vonNeumann,1951,pp.12-13).
JohnBarden,WalterBrattain,danWilliamShockleydariBell Laboratoriesmenemukantransistorpadatahun1948(Leeds,etal.,1968).Walaupunpenemuannyatersebuttidakberpengaruhlangsungpadaindustrikomputeryangmasihsangatbaru,namunteknologitransistorsegeraberperanpokokdalampengembangankomputer.Transistormembutuhkandayayanglebihsedikitdaripadavacuumtube,daniajugalebihkecildanlebihreliabel.Padaawaltahun1960-an,hampirsemuakomputermenggunakanteknologitransistor.Penemuantransistorini mengakhirikelemahanyangdisebabkandenganpenggunaanvacuumtubepadasejumlahelemenswitchingdalamkomputer,dandengansegeraparaperancangkomputermembangunkomputeryangberisiribuanswitches.Ini merupakankomputergenerasikedua.
Jikatransistormerupakanterobosanpertarnadalamteknologikomputer,makaterobosanyangkeduaadalahmagnetic-corememory(memoriinti magnetis).Magnetic-corememoryadalahmemoriyangmenyimpaninformasidalamelemenmagnetisyangberbentukdonattipis,yangdisebutcore(inti).Walaupunmahal,teknologimagnetic-corememberikanreliabilitasdankecepatanyangtidakmungkindicapaipadasaatitu.Lebihdariitu,tidaksepertivacuumtube,memoriintiinitidakmemerlukandayauntukmenyimpannilainya,sebabcoreadalahmagnetyangpermanen.Teknologimemoricoredantransistorditerapkandalamdesainkomputer
12
padawaktuyangsama.danmerekaini mendominasiindustrikomputersepanjangawaltaboo1960-an.Namoo,magnetic-corememorymasihmempunyaiketerbatasanmengenaiwaktuaksesnyadania berbiayamahal.Biayasatumegabyte(MB) dari1-1JS memoriintimagnetisadalahsekitar.$1juta.
Komputerawal berbiayaratusanribu hinggajutaandolar.Bagianterbesarpembiayaantersebutadalahootukbiayadesain,teknik,danpengembanganyangdilakukandenganrisetdasar.Biayaproduksikomputerjugabesar,khususnyauntukbiayapembuatanmemoricore.Sebaliknya.padataboo1991,hargamemorikeadaansolid sebesar1 MB hanyalahsekitar$100,yangkecepatannyadelapankali lebihcepatdibandingkandenganmemorimagnetic-core,danbiayauntukmembangunchipCPU hanyalahsekitar$20.
Karenakomputerpadamulanyamahal,makatujuanutamadesainadalahuntukmemaksimalkandayagunanyayaitumenjagaagarCPU berumurselamamungkindanhasilnyaterdapatbanyakpengembangankomputerpadawaktutersebut.ParaperancangmenggunakanprosesorI/O khususuntukmengurangibebanCPU dalammenjalankanoperasiI/O. Penggunaanbatch-processingoperatingsystem(sistempengoperasiandenganpemrosesanbatch)menghilangkanketidakefisiensianyangmenyebabkanintervensioperatorlangsung.(Sistem pengoperasiandenganpemrosesanbatchadalahsistemyangmemuatdanmenjalankanprogramsecaraotomatis,sehinggaia bisa mengurangibebankerjaoperatordan mempercepatjalannyaprogram).Pemunculanmulti-programmingoperatingsystem(sistempengoperasianmulti-programming)menghasilkandayagunaCPU yanglebihbaik,karenasebuahprogrambisamenggunakanCPU, sementarayanglai menungguoperasiI/O. (Sistemoperasimulti-programmingmemuatduaataubeberapapro-gramdalammemorisekaligus,denganmenempatkansetiapprogramdandatanyadalambagianmemoriyangberbedadantidakbertumpuk.Ketika'salahsatupro-gram berjalan,maka yang lainnya tetapdiam. Ada hardwarekhusus yangmemungkinkansistempengoperasiantersebutootukmenundaprogramyangsedangdijalankandanmentransferkontrolke salahsatuprogramyangditunda).InovasiarsitekturyangdiperlukanuntukmendukungprosesorI/O danmultiprogrammingadalahhardwareyangsecaraefisiendapatdigunakanuntukmenukarkedudukan,interupsi,proteksimemori,danrelokasiprogram.Kita akanmembahastopikinipadaBab 2 dan3.
Inovasiarsitekturutamabersamaandenganevolusiteknologi.Padaawaltabun1960-an,ffiM mencanangkangagasanmengenaiarsitekturrumpunkomputerdanmenetapkanefektivitasunitkontrolmikroprogram(yangakandibahaspadaBab2).Juga.padawaktuyangsama.Burroughsmengenalkanexecution-stackarchitecturedanmemberikandukunganhardwareuntukbahasapemrogramantingkattinggi.(Stackadalahperalatanpenyimpanan,dimanaitemterakhiryangdisimpanadalah
13
--. ..
itempertamayangdikeluarkan;arsitekturexecution-stackmenggunakanstacksebagaibagianterpadudariCPU-nya).Untukmeningkatkankecepatannya,CDCmemunculkanpipelining(pemrosesanassembly-line,yangakandibahassecarasingkat)danbeberapaunitaritmetikdalamCPU-nya.Padaakhirtabun1960-an,parapenelitidariUniversityofIllinoismembangunkomputeryangdisebutll...LIACIV, yangmerupakankomputerparaleltinggi.
h Semuamesindi atasmenggunakansmall-scaleintegration(SSI)(integrasiskalakecil),memorisolid-stateataumemorimagnetic-core,dansistempengoperasianbatch.(Dalamintegrasiberskalakecil,perusahaanmembuatbeberapatransistorpadasatuchip).Secarabersama-sama,atributinimelakukanpencanangankomputergenerasiketiga,yangdikembangkanoleharsitekantaratabun1963sampai1975.
Jangkawaktu20tabunantara1965sampai1985terjadievolusiyangcepatdalamteknologi.PerusahaanpertamakalimempelajaricaramenghasilkansirkuitdenganmenggunakanSS!.Kemudianmerekamengembangkanmedium-scalein-tegration(MSI) (integrasiberskalamenengah),danmenghasilkansirkuityangmempunyairatusanswitch(transistor).Pertumbuhanberjalancepat,danpadatabun1973,IntelCorporationmemproduksimikroprosesor-nyayangpertama,yangdimasukkankedalamCPUpadasatuchip.MikroprosesorIntelyangpertamaberisibeberapaributransistor.Padatabun1990,denganmenggunakanvery-large-scaleintegration(VLSI) (integrasiberskalasangatluas),IntelmemproduksichipCPUyangberisilebihdarisatujutatransistor.Proyeksiuntuktabun2000menempatkanpeluangtransistorpada100jutatransistorperchip,yangmenunjukkanalangkahpesatnyaperkembanganteknologiinidanmenunjukkanbahwaiaterusberkembang.Gambar1.1menggambarkanjumlahtransistoruntukmikroprosesorsatuchipdalamrumpunmikroprosesorIntel.
DenganperkembanganVLSI danpertumbuhanteknologisolid-state,makamemoriyangbesarjugamenjadibisadiandalkan,cepat,danmurah.Akibatnya,kecepatanmemorimeningkat,danukuransertahatganyamenjaditurun.
Mesinsekarangtermasukkomputergenerasikeempat.Adasejumlahfasilitasyangmenjadisifatmesintersebut,yaitukomponenVLSI,memorisolid-state,sistempengoperasiantime-sharing,danmemorivirtual(yangakandibahaspadaBab4),danmesinini dapatdigunakanuntukmenjalankanbahasapemrogramantingkattinggi.(Sistempengoperasiantime-sharingadalahsistempengoperasianyangmembagiCPU yangadauntukdigunakanolehbeberapapemakai,sehinggaparapemakaibisamenggunakanCPU secarasendiri-sendiri).Sebagaimanayangtelahdikemukakan,bahwateknologisoftwaremaupunteknologihardwaretelahberkembangsepanjangtigagenerasikomputeryangpertama.Bagaimanadenganmasadepannya?
14
UntukarsitekturCPUyangdinyatakandapatdimanfaatkan100persen,temyatateknologimembatasikeberadaandayakomputerisasinya,yangdiukurdalamoperasiperdetik.Masalahnyaadalahbahwapermintaansikluskomputasiselalumelebihisiklusyangdapatdicapaiteknologiyangbarn.(Computationcycle!sikluskomputasi,yangjugadisebutclockcycle,adalahunitpersamaankomputasikunountuksatudetikanjamtersentral,yangmenyerampakkankejadianyangterjadidi dalamkomputer).Aplikasikhususrnisalnyasimulasisistemfisikyangkompleks,pencariansumbergempa,peramalancuaca,pemodelanmolekuler,desainelekronik,danpemrosesantampilanmempakankebiasaanaplikasiyangmembutuhkansikluskomputasiyanglebihluas,yangbahkanmelebihimesinyangtercepatsaatini.Kecepatan,dimanakomponendapatberoperasidansignaldapatberjalandanakhimyamenyamaikecepatancahayamembatasiarsitekturkonvensional(vonNeumann,yangakandibahaspadaBagian1.2.1).Namun,aplikasikhususiniternsmenjadikanpermintaankomputeryangmeningkat.Olehkarenanya,adakebutuhanyangmendesakakankomputeryanglebihcepat.
16M
8M
4M
2M
1M
~: 512K'" c:IV ::>15 0 256K~ ug-.8128K~ '"U._'E ~ 64K- '"]~ 32K
16K
8K
4K
2K
8086(29KI
4004(2.3KI
8080(6KI
1~ 1~'1~ 1~ 1~ 1~ 1~ 1~ 1~ 1~ 1~ 1~ 1~
Date
Gambar1.1.Logarithmof transistorcount(verticalaxis)for keymembersof Intel'smicroprocessorfamily. The numbersin parenthesesunderthe CPU modelnumbergive the transistorcount inthousands(K) andmillions(M); thetransistorcountfor model80586is projected.
15
Ada duapemecahan:Mengubahteknologiataumengubaharsitektur.Jikaarsitekturmasihtetapsarna,makateknologinyahamsberbeda,danhasilnyaadalahrumpunkomputer.Hasilnya,pemecahanini hanyamemberikansedikitbantuan.Bagaimanabila mengubaharsitektumya?Caradasaruntukmeringkassikluskomputasidariteknologiyangadaadalahdengancaramembubuhkanparalelismekedalarndesain,danhanyaadabeberapacarauntukmelakukanhalini:
1. Membangunarrayprosesor,yaitukomputeryangmencapaiparalelismenyadenganmenggunakanbeberapakomponenCPU,atauelemenpemrosesan(PE).SatuunitkontrolmengontrolPE,danpeningkatankecepatanyangdicapainyaadalahproporsionaldengandayamanfaatdariPE. Untukkomputerini,dayamanfaatyangefektiftergantungpadakomputasi,yangharnsterdiriatasbeberapareplikasidarioperasidasaryangsarnapadaelemendatayangberbeda.Kitaakansecarasingkatmembahasmesinini padaBab7.
2. Membangunmesinyangmencapaiparalelisrriedenganmenggunakanpipelining:Arsitekpertamakalimenguraikaninstruksi(atauoperasiaritmetik)menj~iurutantahapanyangpendek.Iakemudianmemberikanprosesorkhusus,yaitusatuprosesoruntuktiaptahapyangiapipeline(hubungkanbersarna),sehinggasemuatahapbisaberoperasisecarabersamaanyaitusecaraassembly-linehanyapadainstruksiataudatayangberbeda.ProsesorpipelinedyangdihasiJkandapatmenjalankanbel;>erapainstruksisecarabersarna-sama,dengansetiapinstruksiberadadalarntahappenyelesaianyangberbeda.
EfektivitaspipeliningtergantungpadasifatISA darimesintarget.Akhir-akhirini, paraarsitektelahmengembangkansetinstruksiyangberkaitandenganpipelining.Arsitekturbarniniberbedadalarnbanyakhaldenganpendahulunya.Ia hanyamenggunakanmodepengalarnatan,dankebanyakanmerupakaninstruksiyangsederhana.Ia mempunyaisetregisteryangbesar.ArsiteKturyangdihasilkannyadisebutreduced-instruction-setcomputers(RISC),danpendahulunyayangmempunyaisetinstruksiyangcanggihdisebutcomplex-instruction-setcomputers(CISC).Ini untukmembedakannyadenganRISCyanglebihbarn.Boo6akanmembahaspipeliningdanmengemukakanmasalahperbedaanantaraRISC denganCISCo
3. Membangunmultiprocessorcomputers,yaitu mesinyang mencapaiparalelismenyadenganmenggunakanbeberapaprosesoryangterpisah.Disini,kecepatannyasangattergantungpadainteraksiyangsalingmenguntungkanantarasoftwaredanhardware.Softwarenyaharnsdapatmenguraikanprosesmenjadisubprosesyangindependenatauyangsemi-independen,danhardwaredansoftwareharnsdapatmendistribusikansubprosestersebutke berbagaiprosesoruntukdijalankan.Yangterakhir,komunikasidanfasilitassinkronisasi
16
harusmempunyaibiayapengelolaan(yaitubiayamenjalankansinkronisasitidakbolehterlalubesar).KitaakanmembahassecarasingkatmesininipadaBab7.
4. Membangunkomputerdenganmenggunakanarsitekturaltematif,misalnyajaringaninti,arsitekturarusdata,arsitekturdemand-driven,danarraysystolic.Parapenelitisedangmempelajaricaraaltematiftersebut,danbeberapapembahasanmengenaistudiparapenelitiini akandikemukakandalambukuini.
1.2 KLASIFIKASI ARSITEKTUR KOMPUTER
Sampaipoint ini, kita telahmembahastentangpengembanganarsitekturkomputer.Padabagianini, kita akanmengkategorikanarsitekturkomputerdanmenetapkandasaruntukmempelajarinyakemudiandi bukuini. Kita mulaidenganmendeskripsikansifatkomputeryangpalingsederhanayaitumesinvonNeumann.KomputertersebutdinamaibegitukarenasebagaipenghargaanuntukJohn vonNeumann,seorangpelopordanpenemukomputer.Kemudian,kitaakanmembahasklasiftkasiarsitekturkomputeryangberlakubagihampirsemuakomputeryangadasekarangini. Kita akhiripembahasankitadenganmendeskripsikanempatkategoriarsitekturyangsedangdalamperkembangan.
1.2.1 Mesin Von Neumann
Sebagianbesar,ataumungkinsemua,komputeryangandakenaladalahvonNeumannmachines(mesinvonNeumann),namunbeberapamesinyangdijelaskanpadabagianselanjutnyanantitidaktermasuk.Dalamsebagianbesarkonteks,istilahcomputerdanvonNeumannmachineadalahsinonil!l'KitaakanmenyebutkanataumengatakankomputerdengankatavonNeumannmachine(mesinvonNeumann)jika komputertersebutmemenuhikriteriaberikut:
*
Ia mempunyaitigasubsistemhardwaredasar:sebuahCPUsebuahsistemmemoriutamasebuahsistemI/O
Ia merupakankomputerstored-program(programtersimpan).Sistemmemoriutamamenyimpanprogramyangmengontroloperasinya,dankomputerdapatmengubahprogramnyasendiriuntukmenambahataumengurangidatalainyangadadi dalammemori.
*
17
-
* Ia menjalankaninstruksisecaraberurutan.CPU menjalankan,atausetidaknyaakanmenjalankan,satuoperasidalamsekaliwaktu.
* Ia mempunyai,ataupalingtidakakanmempunyai,satupathantarasistemmemoriutamadanunitkontrolCPU;halinibiasanyadinamakan"vonNeumannbottleneck."
MesinyonNeumannkonvensional(Gb.1.2a)memberikansatupathwayuntukalarnatdansatupathwayyangkeduauntukdatadaninstruksi.Harvardarchitecture(Gb.l.2b)termasukdalamkelompokmesinyonNeumann.Iasarnadengankomputerkonvensional.Bedanyaadalahbahwaia memberikanpathwayindependenuntukalamatdata,data,alamatinstruksi,daninstruksi.Harvardarchitecture(arsitekturHarvard)memungkinkanCPU untukmengaksesinstruksidandatasecaraserentak.
KomponenutamaCPU adalah:
* Controlunit (CU), yangmengontroloperasikomputer.
* Arithmeticdanlogicunit(ALU), yangmenjalankanoperasiaritmetik,logika,danshiftuntukmenghasilkansesuatu.
* Registerset,yangmenyimpanberbagaimacamnilaiselamaoperasikomputer.
Programcounter(PC) (kadang-kadangdisebutsebagaiinstructioncounter),yangmenyimpanalamatmemoriutarnadarisuatuinstruksi.PC adalahbagiandari registerset(setregister).
*
Kita dapatmenganggapmesinyonNeumannsebagaikomputerabstraksiyangmenjalankaninstruction,yaitunitaidalammemoriyangmemberitahukomputermengenaioperasiyangakandijalankannya.Setiapinstruksimempunyaisetinstruc-tionfield(fieldinstruksi),yangisinyamemberikandetailtertentuuntukmengontrolunit,dansetiapinstruksimempunyaiinstructionformat(formatinstruksi)-nyasendiri,yangmerupakancarapenempatanfield dalammemori.Instructionsize (ukuraninstruksi)adalahjumlahunitmemori(biasanyadiukurdalambyte)yangdigunakanoleh instruksi.
Untukinstruksiyangberoperasipadadata(contohnyainstruksiaritmetik,logika,shift,karakterdanstring),datanyamerupakanoperandbagioperasi,danurutanitemdatatempatberoperasinyaCPU adalahdatastream.Instructionsetdarikomputeradalahset instruksiyang dapatdijalankanoleh komputer.Setiap komputermempunyaisetinstruksisendiri.
18
;'~~~J~d~'.~~~,i~~'~~'.i~$~j:!~~~~~)fi~~~t\~~%~C
".,
Dataaddresspathway
Datapathway
b.
Gambar1.2KomponenutamadnrimesinvonNeumannbiasa(a)ArsitekturvonNeumannkonvensional(b) ArsitekturHarvard
Setiapinstruksimempunyaioperationcode(opcode),yaitukodeangkayangbiasanyabisadijumpaipadafieldpertamadariinstruksi,yangmemberitahukomputermengenaioperasiyangakandijalankannya.Fieldinstruksiyanglainmemberitahukomputermengenairegisteryangakandigunakan,jumlahdanjenisdataargumen,(misalnya,untukoperasiaritmetikdanlogika),danspesifikasiuntukalamatoper-and.Instruksijugamemberitahukomputermengenaibitstatusprosesoryangakandiuji ataudisusundanmengenaiapayangharnsdilakukanterhadapnyajika terjadikesalahan.(Bit statusprosesor,yangjugadisebutflag,adalahregisterI-bit khususyangadadalamCPU).
Programadalahurutaninstruksiyangakandijalankankomputer.Setiapinstruksimempunyaiurutanlogisdalamprogram,yangdisebutlogicaladdress.Bila pro-gramberadadalammemoriutama,makasetiapinstruksijugamempunyaiphysical
19
address.PadawaktumesinvonNeumannmenjalankansuatuprogram,makaiamenjalankaninstruksisatupersatusecaraurut,kecualijikaadasatuinstruksiyangmemberitabukankomputeruntuktidakmematuhiurutantersebut(rnisalnya,instruksicabang).
Urutaninstruksiyangdijalankankomputeradalahinstructionstream.Untukmenjagatrackinstruksidalammemori,mesinvonNeumannmenggunakanPC.PCini"pointsto"(menyimpanalamatdari)instruksiberikutnyayangakandijalankan.
Selamaoperasibiasa,unitkontrolmenjalankanurutanduaoperasidasarsecaraterusmenerus:instructionfetchdaninstructionexecution.Urutanini dinamakanvonNeumannmachinecycle.Selamainstructionfetch(penjemputaninstruksi),unitkontrolmenjemputinstruksiberikutnyadarimemoriutamadenganmenggunakanalamatyangdisimpandalamPC,daniamenaikkanPC. Olehkarenaitu,setelahpenjemputaninstruksi,PC menyimpanalamatdariinstruksidalammemoriyangakandijalankanCPU berikutnya.Unitkontrolkemudianmenjalankaninstruksipadasaatitu,yaituinstruksiyangbamsajadijemput.Selamaeksekusi(penjalananinstruksi),CPU pertamakaliakanmenguraikankode(decode)instruksitersebutdanmenentukanoperasiapayangakandijalankan.Iakemudianmenjalankanoperasi.Yang terakhir,bila ia telahselesaimenjalankaninstruksi,ia memulaisikluspenjemputanlagidenganmenjemputinstruksiberikutnyadarimemori.
Setiapkomputermengimplementasikansetinstruksi.Manualyangmenjelaskansetinstruksikomputerdisebut(menurutberbagaiperusahaankomputer)"Principlesof Operation",HardwareReferences",ArchitectureReferences",dan"SystemReferences".
Untukmeningkatkankecepataneksekusi,arsitekbiasanyamenerapkanarsitekturvonNeumanndenganprosesorpipelined.ArsitekjugamenggunakanbeberapaunitaritmetikuntukmeningkatkankecepatanCPU, dania menyertakanbuffer(memoriberkecepatantinggitingkatmenengah),agarkecepatanprosesorsesuaidengankecepatanmemori.
1.2.2Mesin non-van Neumann
TidaksemuakomputermerupakanmesinvonNeumann.Flynn,padatabun1966,mengklasifIkasikanarsitekturkomputermenurutberbagaisifatnya,yangmeliputijumlahprosesor,jumlahprogramyangdapatdijalankan,danstrukturmemori.KlasifIkasinyaitumencakupkategoriberikut(lihatGb.1.3):* Singleinstructionstream,singledatastream(SISD)/satualiraninstruksi,satu
alirandata(Gb.1.3a).ArsitekturvonNeumanntermasukdalamklasifIkasiini.KomputerSISDmempunyaisatuCPU yangmenjalankansatuinstruksipada
20
sekaliwaktu(olehkarenanyadisebutaliraninstruksitunggal)danmenjemputataumenyimpansatuitemdatapadasekaliwaktu(olehkarenanyadisebutalirandatatunggal). .
Control signals
(a)
Control signals
(b)
Control signals Control signals Control signals
Memory
(c)
Gambar1.3KlasifikasidariFlynnmengenaitigajeniskomputermenurutkeberadaannya.(a)SISDataumesinvonNeumann(b)komputerSIMD atauarrayprosesor(c)MIMD atausistemmultiprosesor.(MISD, kategoriarsitekturkeempat,sekarangsudahtidakada).
21
22
*Singleinstructionstream,multipledatastream(SIMD)/ satualiraninstruksi,beberapaalirandata(Gb. 1.3b).Arrayprosesortennasukdalamkategoriini.Mesin SIMD mempunyaisebuahCU yang beroperasisepertimesinyonNeumann(yaitu,ia menjalankansatualiraninstruksi),namunmesinSIMDmempunyailebihdarisatuPE. CU menghasilkansignalkontroluntuksemuaPE, yangmenjalankanoperasiyangsama,biasanyapadalockstep,padaitemdatayangberbeda(olehkarenanyadisebutalirandatabanyak).. .Multiple instructionstream,singledatastream(MISD)/ beberapaa1iraninstruksi,
satualirandata.Secaralogis,mesindalamkelompokini akanmenjalankanberbagaiprogrampadaitemdatayangsama.Sekarang,talcadamesinjenisini,walaupunbeberapasistemMIMD bisadigunakandengancaraini.Multipleinstructionstream,multipledatastream(MIMD)/beberapaaliraninstruksi,beberapaalirandata(Gb. 1.3c).Mesin MIMD juga disebutmultiprosesor.Ia mempunyailebihdarisatuprosesorindependen,dansetiapprosesordapatmenjalankanprogramyangberbeda(olehkarenanyadisebutalirandatabanyak)padadatanyasendiri(olehkarenanyadisebutalirandatabanyak).
*
*
Mesin SIMD danMIMD adalahparallelprocessor(prosesorparalel),karenamerekaberoperasisecaraparalelpadalebihdarisatudatasekaliwaktu.Arsitekturmultiprosesordapatdibagimenjadiduakategori,didasarkanpadasusunansistemmemorinya:*
Globalmemory(GM) systemarchitecture!arsitektursistemmemoriglobal.Satusistemmemoriglobaldigunakanbersamaolehsemuaprosesor.Arsitekturkomputerberunjukkerjatinggipadasaatiniadalahdarijenisini,danketigaarsitekturyangadapadaGb.13 ditunjukkandenganmemoriglobal.
Local-memory(LM)systemarchitecture!arsitektursistemmemorilokal.Disini,satusistempenyimpanandigunakanuntuksetiapprosesor.MultiprosesordenganLM mungkinjugamempunyaiGM danjugadisebutmultipleprocessor.
*
Sekarang,kitaakanmembahasduajenisprosesorparalel(SIMD danMIMD);Bab 7 akanmembahaskeduamesinini secaralebihmendetail.
Mesin SIMD
KomputerSIMD mempunyaisifatberikutini:
* Merekamendistribusikanpemrosesankesejumlahhardware.* Merekaberoperasisecara.bersama-samapadabeberapaelemendatayang
berbeda.* Merekamenjalankankomputasiyangsarnapadasemuae1emendata.
, OalammesinSIMO,PE merekamengaksesmemoridengancarnyangberbeda.PE-PE darikomputerGM-SIMD secarabersamamenggunakansistempenyimpananyang sarna,sedangkanPE-PE dari komputerLM-SIMO mempunyaisistempenyimpananindependen.
ArrayprosesoradalaharsitekturSIMO. Ia mempunyaisatuCD danbeberapaPE (Gb.1.4).CD tersebutmenghasilkansignalkontroluntuksemuaPE, yangmenjalankankomputasiyangtepatsarnasecaraserentak(atautidakmelakukanapa-apasarnasekali),namundengandatayangberbeda.IstilahunitkontroldalamkonteksSIMO mpanyaagakmenyesatkandan perlu mendapatkanpenjelasantambahan.Biasanya,CD itu sendirilahyangmempakankomputeryonNeumann,yaitumempakankomputerkhususyanglengkapyangmempunyaiset register,ALD, danunitkontroldarijenisyangakandijelaskanpadaBab 2. Komputerinfdinamakansebagaiunit kontrol(controlunit),karenaia semata-matadirancanguntukmengontrolPE dalamarrayprosesor,danbukanuntukberoperasisebagaikomputeryangberdirisendiri.
Secarahistoris,arsitekturSIMO mencakupbeberapakomponense1ainunitkontroldanPE. Ia biasanyamemasukkanhostkomputer(atauhanyadisebuthost)untukmemuatprogram,untukmengkonfigurasiarraydariPE, danuntukmengawasiI/O. Hosttersebutbiasanyaadalahsebuahkomputerkonvensionalyangmempunyaisistempengoperasianyangtelahditetapkandenganbaik. ArsitekmungkinsajamemberikanperalatanI/O khususuntukmemformatkembaliarraydata,misalnya,atauuntukmenjalankanI/O yangberkecepatantinggi.
23
Control unit
Control signalsto all PEs
Gambar1.4ArrayprosesorLM-S1MDyangterdiriatas16PE, dansatuunitkontrol.PE yangditunjukkandisini,yangmasing-masingdenganmemorilokalnyasendiri,disusundalamarray4x4;sehingganamanyaarrayprosesor.
Mesin MIMD
KomputerMIMD mempunyaisifatberikutini:
* Merekamendistribusikanpemrosesankesejumlahprosesorindependen.* Merekamembagikansumber,termasukmemoriutama,keprosesorkomponen.
24
* Setiapprosesorberoperasisecaraindependendanbersarna-sarna.Setiapprosesormenjalankanprogramnyasendiri.*
ArsitekturMIMD yangberbedamempunyaiinterconnectionnetworkyangberlainan,prosesoryangberbeda,strukturpengalamatanmemoriyan'gberbeda,danstruktursinkronisasidankontrolyangberbeda.Jaringaninterkoneksimemungkinkanprosesorkomponendapatsalingberkomunikasi.
Kita dapatmengkategorikankomputermultiple-prosesorsebagaitightlycou-pledataulooselycoupled(Gb. 1.5dan1.6),tergantungpadabagaimanaprosesortersebutmengaksestiapmemoriyanglain. Prosesordalammultiprosesoryangterangkaidenganketat(tightlycoupled)biasanyamenggunakansecarabersarna-samasatusistemmemori.Prosesoryangadadalammultiprosesoryangterangkaidenganlonggar(looselycoupled)mungkinjugamenggunakansatusistemmemori,namunsetiapprosesorjuga mempunyaimemorilokalnyasendiridanumumnyamenjalankanprogramdiluarmemoritersebut.Jadi,komputeryangterangkaidenganketatdan YaIJ.gterangkaidenganlonggarsecaraberturut-turutsesuaidenganklasifIkasi GM-MIMD dan LM-MIMD. Contoh prosesorGM-MIMD adalahprosesorgandadariseriCDC 6600danCrayXM-P. ContohprosesorLM-MIMDadalahCarnegie-MellonCm* danTandem/16.
Globalmemory
Interconnection network
...
...
Gambar1.5Arsitekturkomputermultiprosesoryangterangkaidenganketat.M =sistemmemori,P=prosesor.
25
Interconnectionnetwork
Gambar1.6Arsitekturkomputermultiprosesoryangterangkaidenganlonggar.M =sistemmemori,P =prosesor.
Tabel1.1 Kategoriarsitektural.
KarenasebagianbesarkomputertujuankhususmencakupprosesorI/O tujuankhususindependen,makasecaralogiskitadapatmenganggapnyasebagaiarsitekturGM-MIMD. Namundemikian,prosesorI/O-nyabiasanyaberperansekunderterhadapprosesorCPU. Yaitu,CPU menjalankannya,menghentikannya,danmemonitoraktivitasnya.Akibatnya,kitaakanmembatasipenggunaanklasiftkasiMIMD denganhanyamemasukkankomputeryangmempunyaiprosesorindependenyangtingginyarata-ratasarna.
DenganmengkombinasikanberbagaiklasiftkasiyangtelahdibahaspadaBagian1.2.2danRISC, makaakandihasilkanenamkategoriarsitektur,sepertiyangdisebutkanpadaTabel1.1.(CaseStudiesbanyakmembahaskomputeryangdisebutkanpadaTabel1.1ini).
26
M I I M I ! M I I M II. .1 [ M
P I I P I I P I I P .I.. . p
Processors with local memory
Category CommonName Examples
SISD (CISC) Uniprocessor ffiM PC,DEC PDP-ll, DEC VAX-II
SISD (RISC) Uniprocessor MIPS R2000,SUN SPARC,ffiM SystemIR6000
GM-SIMD Processorarray IILIAC IV, MPP,CM-I
GM-MIMD Multiprocessor All existingtightlycoupled(shared-memory)mul-tiprocessors(DECandffiM)
LM-MIMD Multipleprocessor TandemVI6,IPSCY2
ArsitekturLain
Paraperancangdanarsitekkomputertelahmengemukakansejumlahaltematifarsitektur,sepertiyangtelahkitabahas,rnisalnyaarsitekturarusdatadanjaringaninti.DalammesinyonNeumann,programmenentukanaruskontrol.Dalamdataflowarchitecture(arsitekturarusdata),sebaliknya,keberadaandatamenentukankapanmesinakanmenjalankanoperasi.Modelkomputasiyangdiimplementasikanprosesorarusdata,yangdisebutdataflowmodel(modelarusdata),adalahpadadasamyaparalel,danarsitektelahmerancangmesinarusdatauntukmengimplementasikanmodelini secaraefisien.Mesin arusdata,sepertikomputerMIMD, mempunyaibanyakPE independen,namunmerekaini tidakmenjalankanprogram.Ketikaprosesorpengawasmenemukandatayangdapatdigunakan,makaia merotasikandatadaninstruksikePE yangmenjalankanoperasidanmenyampaikanhasilnyakememori.Karenatakadaprogramyangberpengertiankonvensional,makaarsitekturarusdatabukanlahmempakanSIMD ataupunMIMD.
Neuralnetwork(jaringaninti) secaraagaklonggardidasarkanpadasistembilogis.Sepertihalnyaprosesorarusdata,iatidakmenjalankanprogramkonvensionaldanolehkarenanyatidaktermasukdalamklasifikasiSIMD ataupunMIMD. Aplikasiyangbarnmeliputipemrosesansignaldanrekognisipola,dansejumlahpemsahaansedangmengembangkanperalatantujuankhususuntukmengimplementasikannya.Sekarangini, teknologiberadadalammasapertumbuhannya.
Yang terakhir,beberapaarsitekturtertentuhanyadisebutspecial-purposemachine(mesintujuankhusus)karenafungsi khususyang merekajalankan.Umumnya,menggunakanarsitekturkonvensionalyangtelahdioptirnisasiuntukaplikasitertentu.Arsitekturini berbed!ldenganarsitekturkonvensional,karenamerekadigunakanuntukmemecahkanpersamaantertentuatauuntukmenanganiaplikasitertentu,rnisalnyaarrayyangsangatbesar,databaseyangsangatbesar,ataualgoritmayangberparaleltinggi.Yangtermasukdalamkelompokini adalahmesinartificialintelligence,mesinbahasatingkattinggi,mesinpemrosesantampilan,prosesorpenampiltigadimensi,dankomputeryangmempunyaikontrolgabung.Walaupunmerekainibanyakdigunakanolehpemakaidanbersifatekonornis,namunkitatidakakanmembahasnyadalambukuini.
27
1.3 MENGUKUR KUALITAS ARSITEKTUR KOMPUTER
Sebagaimanaarsitekturbangunan,kualitasataumutuarsitekturkomputertidakmudahdiukur.Banyakarsitekkomputermenggunakanatributyangdijelaskanpadabagianberikutini untukmengevaluasimutuarsitektur.Sepertihalnyaatributyangmenjadikanarsitekturbangunanbermutu,sebagianbesaratributberikutsulitdihitung.Padahakekatnya,suatuarsitekturyangbaikuntuksatuaplikasimungkinsajajelekuntukaplikasiyanglain,dansebaliknya.Padabagianini, kita akanmembahasenamatributmutuarsitektur:generalitas(keumuman),dayaterap,efisiensi,kemudahanpenggunaan,dayatempa,dandayakembang(ekpandabilitas).Babinidiakhiridenganpembahasanmengenaimanfaatarsitektur,kinerjasistem,danbiayasistem.83
1.3.1Generalitas
Generalitasadalahukuranbesarnyajangkauanaplikasiyangbisacocokdenganarsitektur.Sebagaicontoh,komputeryangterutamadigunakanuntukaplikasiilmiahdanteknikmenggunakanaritmetikfloating-point(dengannomordisimpandenganpenunjukbesarnyadaneksponennya)dankomputeryangterutamadigunakanuntukaplikasibisnismenggunakanaritmetikdesimal(dengannomorditampilkansesuaidengandigitdesimalnya).Sistemumummemberikanduajenisaritmetik.
Walaupunnomorinstruksidalamsetinstruksibukanmerupakanukuranlangsungbagigeneralitaskomputer,namun.ia memberikanindikasigeneralitas.Keanekaragamanmodepengalamatanjugamerupakanindikasigeneralitas.Meskipundemikian,RISe begituumumwalauiamempunyaisetinstruksiyangkedldenganmodepengalamatanyangsedikit.SetinstruksidanmodepengalamatanakandibahaspadaBab2,danarsitekturelse danRIse akandikemukakanpadaBab6,yangdisinijugaakandibahaspipelining.
Salahsatupembahasanutamaol~hkalanganpenelitikomputerselamatabun1980-anadalahpersoalanbagusnyageneralitas.Akhir-akhirini, persoalaninimengarahpadaopinibahwageneralitasadalahtidakbermanfaat.Generalitascenderungmeningkatkankekompleksanimplementasi.Bagirumpunkomputeryangbesardari berbagaiperusahaan,kekompleksanini mengakibatkansulitnya,perancanganmesin.Generalitasjugacenderungmembuatcompileroptimisasimenjadilebihkompleks,karenaia harusmemilihlebihbanyakinstruksiketikamenggenerasi(menghasilkan)kode.Juga,generalitascenderungmengakibatkankompleksitas,dandesainsistemyangmenggunakankomputerakanmengakibatkankekompleksansoftware,yangseharusnyadeveloperakansecaramudahmengoreksikesalahan.
28
Salahsatuargumenkomersialdalammenerapkangeneralitasadalahbahwa,karenaia menyebabkanperancangankomputermenjadisulit,malmperusahaanyangmelakukanperancangantersebutbisamengurangipeniruanrancanganolehperusahaanlain.Takadaperusahaankomputeryangbesaringinkehilanganpasamyaatasrancangankomputeryangiabuat.
1.3.2DayaTerap
Dayaterap(applicability)adalahpemanfaatanarsitekturuntukpenggunaanyangtelahdirencanakannya.Bukuinimembahaskomputeryangterutamadirancanguntuksatudariduaareaaplikasiutama:(1)aplikaSiihniahdanteknisdan(2)aplikasikomersilbiasa.Aplikasiilmiahdanteknisadalahaplikasiyangbiasanyauntukmemecahkanpersamaankompleksdanuntukpenggunaanaritmetikfloating-pointekstensif.Merekaini adalahcomputation-intensiveapplication(aplikasikomputasiintensit),yangberartimerekamempunyairasiooperasiCPUkememoridanoperasiI/O yangjauhlebihtinggidaripadaaplikasilain(walaupunbanyakkomputasisimbolisnyajugamerupakancomputation-intensive).Aplikasikomersilumumataubiasaadalahaplikasiyangdidukungolehpusatkomputerbiasa:menghimpun(compiling),menghitung(accounting),mengedit,penggunaanspreadsheet,danwordprosesing,sepertiyangadadikomputersecaraumum.Areaaplikasilainyaituyangadakaitannyadenganmesintujuanataupenggunaankhususjugapenting,namunsebagaimanatelahdikemukakansebelumnya,merekatidakdibahaspadabukuini.
1.3.3Efisiensi
Efisiensiadalahukuranrata-ratajumlahhardwaredalamkomputeryangselalusibukselamapenggunaannyabiasa.Arsitekturyangefisienmemungkinkan(namuntidakmemastikan)terjadinyaimplementasiyangefisien.Perluandacatat,bahwaadapertentanganantaraefisiensidangeneralitas.Juga,karenaturunnyahargakomponenkomputer,makasekarangefisiensitidakterlaludipikirkansepertihalnyapadaawalpengembangankomputer.
Namundemikian,arsitekturyangefisienakanmemungkinkanterjadinyaimplementasiberkecepatansangattinggidanberbiayasangatrendah,dandalamrumpunkomputeryangbesar,implementasiyangdemikiantersebut sangatdiperlukan.Salahsatusifatarsitekturyangefisienadalahbahwaia secararelatifcenderungsederhana.Karenauntukmerancangsistemyangkomplekssecarabenarbegitusulit,makakebanyakankomputermempunyaisebuahkomputerinti(corecomputer)efisienyangsederhana,yaituCU. CU ini mempunyailayerkontrol
29
disekelilingnyagunamemberikanfasilitasyangcanggihyangdibutuhkanoleharsitektur.KitaakanmembahasCU padaBab3.
1.3.4KemudahanPenggunaan
Kemudahanpenggunaanarsitekturadalahukurankesederhananbagiprogram-mersistemuntukmengembangkanataumembuatsoftwareuntukarsitekturtersebut,misalnyasistempengoperasiannyaataucompilemya.Olehkarenaitu,kemudahanpenggunaaninimerupakanfungsiISA danberkaitaneratdengangeneralitas.Defmisiini jangandikacaukandenganistilah 'mudahuntukdigunakan'(friendly)yangdiperuntukkanbagipemakaidalammenggunakankomputer.Istilahmudahuntukdigunakaniniditentukanolehsistempengoperasiandansoftwareyangada.bu.annyaarsitekturdasar.Kita bisamengambilcontohdaribeberapakomputeryangtidakmempunyai kemudahanpenggunaan,dengan perancang compiler sulitmengimplementasikanbeberapabahasapemrogramantingkattinggi.
Set instruksidarikoniputerawalkadang-kadangkekuranganinstruksiuntUkmelakukanoperasiyangpenting.Akibatnya.paraprogrammerharnsmenggunakanuIiItaninstruksiyangkacauuntukmengimplementasioperasiyangpentingtersebut.Sekarangini, arsitekset instruksitelahmempunyaibanyakpengalamanuntukmerancangsetinstruksi,sehinggakelemahantersebutjarangditemukan.
1.3.5DayaTempa(malleability)
Empatukuransebelumnyadayaterap,generalitas,efisiensi,dankemudahanpenggunaanberlakuuntukarsitekturrumpunkomputer.Duaukuranyangterakhirdayatempadandayakembangumumnyaberlakuuntukimplementasikompl\terdalamsaturumpun.Dayateraparsitekturadalahukurankemudahanbagiperancanguntukmengimplementasikankomputer(yangmempunyaiarsitekturitu)dalamjangkauanyangluas.LebihspesifIkarsitektumya,makaakanlebihsulituntukmembuatmesinyangberbedaukurandankinerjanyadariyanglain.Secaraanalogis,bilaseseorangmenamakansuatuarsitekturrumahsebagairumahkolonial,makadimungkinkanrumahtersebutmempunyaiukurandangayayangberbedadenganyanglain.Sebaliknya,jika arsitekturtelahmenentukanrencanainduknya,makahanyadimungkinkansedikitvariasiimplementasi.
Umumnya,arsitekturmencakupbanyakgambaransetiaptingkatdengande-tail.RencanadasaratauindukdarirumahkolonialtersebutmeJiputiberbagaidetail,misalnyatembok,pintu,saluranlistrikdanair.Dalamkaitannyadengankomputerpersonalstandartindustri,spesifikasinyalonggar,sepertihalnyaspesifikasipada
30
rumahkolonialtersebut.PadaAppleMacintoshatauIBM PC AT, spesifIkasiarsitektumyajauhlebihlengkap,sehinggasemuaimplementasihampirsama.
1.3.6DayaKembang
Dayakembang(expandability)adalahukurankemudahanbagiperancanguntukmeningkatkankemampuanarsitektur,misalnyakemampuanukuranmemorimaksimumnyaataukemampuanaritmetiknya.Umumnya,spesifikasirumpunkomputermemungkinkanperancanguntukmenggunakanukuranmemoriyangbeIjangkauanluasdalamanggotarumpun.Sebagaicontoh,karenaarsitekturDECVAX hanyamenentukanukuranmemorisecaratidaklangsungdanhanyaberadadalambatasanluastertentu,makakomputerVAX mempunyaiukuranmemoriyangbervariasiyanglebihdarisatufaktor1000.
Paraperancangdapatmemperolehdayakembangmemoriekstemaldenganberbagaicara:Merekadapatmeningkatkanjurhlaheralatanataumerekadapatmeningkatkankecepatanperalatantersebutdalammenggerakkandatakedandaridunialuar.BanyakarsitekturyangmengabaikanaspekpenentuanstrukturI/O.KurangnyaspesifIkasiakanmeningkatkandayakembang,namunia bisajugameningkatkanjumlahpemrogramankembaliyangdiperlukanolehanggotarumpunyangbam.
BeberapakomputermempunyailebihdarisatuCPU. Dalamhalini, dayakembangjugaberkaitandenganjumlahCPU yangdapatdigunakanolehsistemsecaraefektif.Barrier(penyangga)padakomputeryangmempunyaiCPU lebihdarisatuumumnyatidakjelas.Jika programmersistemmendapatkankesulitanuntukmenyinkronkanCPU-CPU,rnisalnya,makasinkronisasiini secaraefektifakanmembatasijumlahCPU yangdapatdigunakansistem.
1.4 FAKTOR YANG MEMPENGARUHI KEBERHASILANARSITEKTUR KOMPUTER
Ada sejumlahfaktoryangmempengamhikeberhasilanarsitekturkomputer.Bagianberikutini akanmembahastigadiantaranya:manfaatarsitektur,kinerjasistem,danbiayasistem.
31
1.4.1 Manfaat Arsitektural
Ketika menelitiarsitekturkomputertertentuatauarsitekturkomputerrumpun,andadapatmemberlakukankeenamukuran sepertiyang dibahaspadaBagian1.3,ditambahlagidengankompatibilitas.Namun,secaraumum,adaempatukuranpokokyangmenentukankeberhasilanarsitektur,yaitumanfaatarsitekturalnya(ar-chitecturalmerit):
1. Dayaterap.Sebaiknya,arsitekturditujukanuntukaplikasiyangtelahditentukan.
2. Dayatempa.Bilaarsitekturlebihmudahmembangunsistemyangkecil,makaia akanlebihbaile.
3. Dayakembang.Lebihbesardayakembangarsitekturdalamdayakomputasi,ukuranmemori,kapasitasI/O, danjumlahprosesor,makaia kanlebihbaile.
4. Kompatibilitas(dayaserasi-pasang).Lebih kompatibelnyaarsitekturdengankomputersebelurnnyadarirunpunyangsama,makaia akanlebihbaik.
CaseStudiesyangmengemukakanarsitekturtertentutidakmenyebutkansistemyangmernilikikelemahanseriusdalamhalgeneralitas,efisiensi,dankemudahanpenggunaan.Kitaambilgambarandalamstudikasustersebutsebagaihalyangideal,karenakenyataanyasemuaarsitekturyangberhasilcocokdenganyangdidalamstudikasustersebut.
Satuhallagimengenaiarsitekturkomputerrumpun:Walaupunarsitekkomputerterus-menerusmencobamerancangarsitekturrumpunyanglengkap,namunbiasanyamerekamengabaileanpenentuanawal dari rumpuntersebut.Implementasiawalakhirnyahanyaberfungsiuntukmencariataumenyempurnakanaspekarsitekturyangbelumditentukantersebut.Demikianpula,gambaranyangtelahditentukansebelurnnyayangjarangdigunakandalamimplementasimungkinakandihapusdantidakdisertakanuntukanggotarumpunberikutnya.Keduahal ini terjadidalampngembanganduarumpunkomputerterbesar,yaiturumpunffiM System/370danturunannyadanrumpunDEC VAX.
Setelahmembahasmanfaatarsitektur,sebaiknyakitalihatsecarasingkattigapersoalanlainyangmempengaruhikeberhasilansistemkomputerkaitannyadengansisikomersilnya.* Keterbukaanarsitektur.Arsitekturdikatakanopen(terbuka)bilaperancangnya
mempublikasikanspesifikasinya.Jika perancangnyamenyimpandetailpropri-etary-nya,makaiabersifatclosed(tertutup).Padatahun1980,permulaanadanyasoftwarestandartdan paketaplikasimenyebabkanberhasilnyaarsitektur,
32
mungkinarsitekturmenjadigambaranyangsangatpenting.Denganadanyaukuranteknologi,PC MacintoshlebihungguldibandingkandenganffiM PC,namunia merupakanarsitekturtertutupsepanjanghidupnya.
* Keberadaanmodelpemrogramanyangkompatibeldonbisadipahami.Beberapakomputeryangberparaleltinggibegitusulituntukdigunakan,sehinggaiahanyamenjadidayatarikbagiparaanalisuntukmenemukancarabarnuntukmenggunakannya.Danpemakaihanyapeduliuntukmencarikomputeryangmudahdigunakandanbermanfaatbaginya.
* Kualitasimplementasiawal.Ada beberapakomputeryangnampaknyamerupakanmesinyangbaik,yangmempunyaisoftwaredansifatoperasionalyangbaik.Namun,komputerini tidaksukses.Kegagalanpemasarannyainimungkinsajadisebabkanolehreputasinyayangjelek,yaitukarenamodelpertamanyatidakdapatdiandalkandanmempunyaicacatpadafisikbarang.
Jadi,bagisiapapunyangmerencanakaninginmendirikanperusahaankomputer,iaharnsmempertimbangkanhaltersebut.Iajugaharnsmempertimbangkankualitasarsitekturmesinnya.Bukuteksmengenaiarsitekturatauteknikkomputerbiasanyahanyamenekankanpadapersoalanarsitektur.
1.4.2Kinerja 5istem
Kinerjasistemsebagianditentukanolehkecepatankomputer.Jadi, ia tidakmengukurmanfaatarsitektur,namunmengukurimplementasinya.Namundemikian,kinerjayangbaiksangatdibutuhkanolehbanyakaplikasi,danparapemakaibanyakmeluangkanwaktudantenaganyauntukmengukurkinerjasistemini. Untukmengukurkinerjakomputer,paraarsitekmenjalankanserangakianprogramyangstandart,yangdisebutbenchmark,padakomputer.Benchmarkinimemungkinkanarsitekuntukmenentukankecepatanrelatifdarisemuakomputeryangmenjalankanbenchmarktersebutdanmenentukankecepatanabsolutdaritiapkomputer.Hasilnyabermanfaatbagiarsitekuntukmelaporkankinerjasistemdenganmenggunakanberbagaiperformancemetrics(metrikkinerja),yangmenyatakanhasiltersebutberdasarkankecepatanrelatifatauabsolut.
Pengukurankinerjakomputerini merupakantugasyangkompleks.Untukmenggambarkannyasecaramultidimensional,lakukananalogipadasituasiyangandapahamisaja.Kinerjamobildapatdiukurdenganberbagaicara,diantaranya:
* untukbalapan:waktuyangdibutuhkanuntukmencapaiseperempatmilataukecepatanpadaakhirperempatmil.
33
* untukpengemudimobilbalap:kecepatanakselerasi,kemampuanmenikung,dankecepatantertinggi.
untukGuinessBookofRecords:kecepatantertinggi.
untukkendaraanpenumpang:reliabilitas(catatanreparasi).
untukkendaraanjarakjauh:kebutuhanbahanbakarPermil.
*
*
*
UntukmengukurkineIjamobilrumpunbiasa,kitabisamenggunakankelompokkriteriamultidimensional.
Dalambagianini, kitaakanmengemukakansejumlahcarayangdilakukanolehilmuwandalammengukurkineIjakomputer,menunjukkanperbedaannya,danmenunjukkanluasnyamasalahdalammembuatkineIjakomputeryanglebihbaikdaripadayanglain.Pertama,marilahkitabahasareapengukuranumum.Tidakdisangsikanlagibahwakecepatanprosesoradalahpenting.Selainitu,kecepatan,I/o dankecepatanoperasisistemjugapenting.Biasanya,perludiperhatikanpulaukuranmemoridansifatjaringaninterkoneksi.
Juga,kitaakanmembuatsatupemyataanawalyangberlakubagisemuaukurandankaitannyadenganteIjadinyaresikobilakitamengambilsatunomordarinya.KatakanlahbahwaadalimaukurankecepatanCPU yangterpisah.Kemudian,
. anggaplahbahwaadalimakomputer,A sampaiE, yangInempunyaikecepatansepertiterlihatpadaTabell.2. KomputerC memilikikecepatan10kali lebihcepatdari padakomputerA, namunbagaimanadengankomputerB? Kecepatanrata-ratanyaadalah600kali lebihcepatdaripadaA, namunia tidakdapatmengatasimasalahnyawalau40%. Dan bagaimanatentangkomputerD? Ia mempunyaikecepatan80kali darirata-rata,dandapatmengatasi80%masalah.Yangterakltir,bagaimanatentangkomputerE, yangkecepatanrata-ratanyaadalah35kali lebihcepatdaripadaA?
Ukuranyangtepatbagipemakaiadalahrata-rataukuranyangdibutuhkanolehpemakaidalammelakukanpekeIjaannya.Lebih dari itu, ukurantersebutharnsdipertimbangkansejauhmanapentingnyabagipemakai.Kitaakansegeramembahasmetodeumumpenimbanganantararata-rataukurandankepentinganpemakaiini.
34
Tabel 1.2 Pengukurankinerja dari lima komputerhipotetisdenganmenggunakanlimametrikyangberbeda
UkuranKinerjaCPU (opsional)
Padabagianini,kitaakanmembahasenamcarauntukmengukurkinerjaCPU.Namundemikian,untukmengevaluasiunjukkerjaCPU ini,sebaiknyakitamerata-ratakanukurantersebutsecaratepat.
Mungkin pengukurankinerjaCPU yang paling.umumadalahberapajutainstruksiperdetik(MIPS) yangdapatdijalankannya.Kadang-kadangpengukuranMIPS dari komputerdilakukandengancaramengukurkecepatanmesindalamberoperasi,yaitunilaipeakMIPS (MIPS tertinggi)-nya.Ini adalahkecepatanyangtidakdapatdilampauiCPU, namunia tidakbergunabagiprogrammer.Yang lebihmenjadiminatbagi programmeradalahjurnlahkomparatifyangdiberikanolehbenchmark.Sebagaicontoh,IDM MIPS atauVAX MIPS berartibahwakecepatankinerja rata-rataberkaitandengankomputerIDM atau VAX. Kita adapatmemperkirakannilai MIPS yangpantasdengancaramenghitungwakturata-ratayangdibutuhkankomputeruntukmenjalankaninstruksinyadandenganmenimbangrata-ratafrekuensipenggunaaninstruksi.
Bagi komputeryangmenjalankankomputasiilmiahdanteknik,MISP bukanmerupakanukuranpenampilanyangpalingbaik.Hal ini karenasebagianbesarkomputerjenistersebutmerupakanvectormachine(komputervektor),yanghard-ware-nyatelahdioptimisasiuntukmenjalankaninstruksivektor.(VectoradalahkumpulanvariabelN tinier).Satu instruksidalammesinvektormungkinbisamenjalankanribuanoperasifloating-point.Olehkarenanya,ukuranyangtepatuntukukurankomputersepertiitu adalahberapajuta operasifloating-pointper detik(MFLOPS ataumegaflops)ataumilyaroperasifloating-pointperdetik(GFLOPSataugigaflops)yangdapatia jalankan.
35
Computer A B C D E
Metric1 1 1000 10 10 100Metric2 1 0 10 100 5Metric3 1 1000 10 100 10Metric4 I 0 10 100 50Metric5 1 1000 10 0 100
Speedsin relativequantitiesperunittime.
Ada duajenisukuranbenchmarkbiasayangdigunakanuntuk:mengukurkecepatankomputerdalamMFLOPS.(Tentusaja,jugaadaMFLOPStertinggidanGFLOPStertinggi,sepertiMIPStertinggi.Di siniukuraninibiasanyadipublikasikankemediamassa,namuniamemberikankonsepkinerjayangtidakrealistis).
Salahsatubenchmarkpertamadanyangdinyatakankepadaumumbahwakegunaannyauntuk:mengevaluasiMFLOPSadalahUNPACK benchmark.PertamakaliJackDongarradariArgonneNationalLaboratoriesmenggunakanUNPACKuntukmengukurkecepatanyangdiperlukankomputeruntuk:memecahkansistempersamaandalamlingkunganFortran.BenchmarkUNPACK beroperasipadametrik100x 100sampai1000x 1000elemen.UkuranMFLOPS umumyangkeduaadalahLivermoreloopsbenchmark.Ia (biasanya)terdiridari24loopatausimpulFortran,yangmerupakanrefleksikebiasaanumumyangadadiL
PerfectClubSuitemerupakanprogramriil berskalamenurunyangdiambildariilmupengetahuan.Diantaranya,ia mencakupstudimengenaipolusiudara,supersonicreentry,dinamikastruktural,simulasiair,arustransonik,migrasipusatgempa,dansimulasisirkuit.SepertihalnyaSPECBenchmarkSuite,PerfectClubSuitejugamelakukansemuajenisaritmetikdanberbagaijeniskode,yangmeliputikodeyangdapatdivektorisasidanyangtakdapatdivektorisasi.
Adaempatmeanyangbiasadigunakanketikaandamerata-ratakanpengukurankinerjapadasejumlahuji coba.Misalkan{Xi}adalahsetukuranN, dan{Wi}sebagaisetberatN. Makaempatmean-nyaadalahsebagaiberikut:
AL~i=l
meanaritrnetikdari {~}=N
Nmeanharmonikdari{~}=N 1
L-i=l ~
NL CW.X ~)i=l I
meanaritmetikseimbangdari{~}= NLW,i=l I
meangeometrikdari {X.}=N~fix.i=lWaktuyangdibutuhkankomputeruntukmenjalankansatusetprogram,yaitu
totalwaktueksekusi,adalahnilaiyangumumnyaingindiketahuipemakai.Andamisalkan{Pi}adalahsetprogramN yangwaktueksekusinyaadalah{Ti}.Maka,meanaritmetikdariwaktueksekusitersebutmerefleksikantotalwaktueksekusi.BilakinerjanyadinyatakandalamMIPS atauFLOPS,yangmerupakanrata-rataeksekusidanbukanrata-ratawaktueksekusi,makameanharmonikdarirata-ratatimbalbalikuntukprogramN akanmerefleksikantotalwaktueksekusi.
37
Meanaritmetikseimbangmemberikancarapengevaluasiankinerjapusatkomputerdalampendistribusianmuatankerja.Misalkan,kitatelahmengevaluasiwaktueksekusiTi untuksetprogrambiasaN. JikaprogramPimenyatakanmuatankerjasebesarWi persen,makameanaritmetikseimbangdariwaktueksekusimerefleksikanwaktueksekusitotaluntukprogramtersebut.
Yangterakhir,bilakinerjamesinbarndinyatakansebagairasio,sepertihalnyapadaffiM MIPS atauVUP, makakitaharnsmengalikanwaktueksekusidariprogrambenchmarkjika dijalankanpadamesinreferensidenganrasiokinerjaPdarimesinbarntersebut,untukmerefleksikantotalwaktueksekusimesinbarntersebut.Dalamkasusini,meangeometrikdariprodukTi x P biasanyadigunakanuntukmerefleksikanwaktueksekusidarimesinbarn.
Orangkadang-kadangmenggunakanduaindikasilainuntukmengukurkinerjakomputer.Salahsatusatunyaadalahefisiensi,yangtelahkitabahaspadaBagian1.3.3.Satunyaadalahutilizationratio(rasiokegunaan),yangmerupakanrasioantarawaktuyangdibutuhkankomputerdalammelakukankomputasiproduktifdantotalwaktudarioperasionalsistem.Apabilahardwarekomputerrelatifmahal,makaharnsdipertimbangkanrasioefisiensidankegunaanini. Padawaktusekarang,karenahardwarerelatifmurah,makapengukurandenganindikasitersebutjarangdilakukan.
Metrikyangpentingselamaprosesdesainadalahjumlahclocktickperinstruc-tion(TPI) (detakjamperinstruksi),yangmenunjukkanwaktu(rata-rata)yangdibutuhkanCPU untukmenjalankansebuahinstruksi.LebihtinggikinerjaCPU,makaakanlebihkecilTPI-nya.MakajelasbahwakinerjaCPU sarnadenganhasilwaktusiklusjamkali TPI. Bila perancangmengerjakanCPU, makaia dapatmenentukanTPI dariwaktueksekusidari setiapinstruksidanprobabilitaskejadiannya.Perluandacatat,bahwaTPI adalahtidaktergantungpadateknologi,sementarasiklusjamsangattergantungpadateknologi.
MengukurKinerja va dan Sistem
AdaduaukurankinerjaI/O yangpenting:operasibandwidthdanI/O perdetik.Tidak sepertihalnyaukuranCPU yangtelahdikemukakandi depan,keduaukuranini tidak dimaksudkanuntukmengukurbarangyang sarna.BandwidthadalahkecepatanI/O dapatdijalankan,biasanyadinyatakandalammegabytepersecond(MBS). KebanyakanperalatanI/O mempunyaikecepatantransfertertentu,danchannelI/O yangmenghubungkanperalatantersebutmempunyaikecepatantrans-fer tertinggi,sehinggaia biasanyadinyatakandalamMBS. Untukaplikasiyangmelakukantransferyangbanyak,sepertiyangterjadipadaaplikasiilmiah dan
38
teknik,bandwidthI/O menjadiukuranyangtepatbagikineljasistemI/O.
Untukpemrosesantransaksi,denganblokI/Obegitukecil,makaukuranukUrankineljaI/OyanglebihtepatadalahI/Ooperationpersecond(operasiI/Operdetik)yangdapatdijalankansistem.Kitabisamengetahuimanfaatukuranini denganmengingatbahwadisklambatbiasamemilikikecepatantransfersekitar1MBS danblokdiskmengakseswaktusekitar0,1detik.Jadi,iatidakdapatmenjalankanlebihdari10operasiI/O perdetik.JikasetiapoperasiI/O mentransfer512byte,makadisklambatinidapatmengaksessekitar5kilobyteperdetik(KBS).Namundemikian,jika blokI/O adalah100kilobyte(KB), makasistembisamencapaikecepatantransfer1MBS, yaitu200kalilebihcepat.
AdaukurankineljasistemsecarakeseluruhanyangsangatlebihkomperhensifdaripadaukurankineljaCPU ataukineljaI/O yangtelahkitabahastersebut.Jumlahtransactionpersecond(transaksiperdetik)yangdapatdijalankansistemmerefleksikankineljaCPU danI/O dalamcarasedemikianrupasehinggabisamempunyaiartibagipemrosesantransaksi.Transaksitersebutadalahtransaksibiasayangumumnyadigunakanuntuktransaksibank,danbenchmarktertentuadalahbenchmarkdebet/kredit.UkuraninimencakupsemuaoperasiCPUdanI/Oyangdiperlukanuntukmenjalankansuatutransaksi:yaitulogging(pemasukan)dataketerminal,mengupdatebeberaparecordtunggalkedalambeberapafileyangbesar,dansebagainya.Walaupunsebagianbesaroperasipemrosesantransaksiriilsangatlebihkompleksbiladibandingkantransaksidebet/kredit,namunpenilaian(pengukuran)TPSkomputerakanmemberikanideataugagasanmengenaikineljasistemsecarakeseluruhandenganbaik.
UkuranKinerja Yang Lain
Adatigametrikyangdapatdigunakanuntuksistemmemori.Memoryband-widthadalahjumlahmegabyteperdetikyangdapatdikirimkanolehmemorikeprosesor.Memoryaccesstimeadalahrata-ratawaktuyangdibutuhkanolehCPUuntukmengaksesmemori,yangbiasanyadinyatakandalamnanosecond.Memorysizeadalahvolumedatayangdapatdiampu(disimpan)olehmemori,biasanyadinyatakandalammegabyte.
1.4.3Biaya Sistem
Sepertihalnyakinelja,biayadalamdolarmerupakansifatyangpentingdarisistemkomputer.Namundemikian,sepertihalnyakebanyakanpersoalankinerja,biayalebihmerefleksikanimplementasidaripadaarsitektur.Olehkarenabiaya
39
menentukankelangsunganhidupsistemkomputer,makakitaakanmembahasnyadisini.
Bagianpokokdaribiayasistemkomputeradalahbiayaperalatanlogikadasarnya,yangsangatbervariasidariperalatansatudenganyanglainnya.Keanekaragamanini narnpalcnyatidakakanberubah.Ia telahmenjadisifatumum,sehinggaapabilakitamelakukanoptimisasipadasalahsatusisi(katakan,periurunanbiaya),makaiaakanberpengaruhnegatifterhadapsisiyanglain(misalnya,kecepatannyaataudayaandalnya).Akibatnya,keberadaanperalatanyangberagamini menyebabkanmunculnyasejumlahbesarrumpunkomputeryangberusahamemiliki keragamandanjumlahperalatanyangbanyak.Juga,biayadankecepatanperalatantersebutterusberagarnmenurutmasanya.Maka,sebaiknyakomputertidakmenerapkanjumlahdankecepatansecaratetap.
Biayadapatdiukurdalarnbanyakcara,danbiayaselainhargapembeliansistemhardwareumumnyajugapenting.Metrikbiayalaininijugabervariasidarisistemyangsatukeyanglaindandariwaktukewaktu.Metrikpentingyanglajodanbeberapaaplikasidenganmetriktersebutdiperlukanadalah:
* Reliabilitas(keandalan)adalahsangatdiperlukanolehkomputeryangdigunakanuntukmengontrolpenerbangan,mengontrolkearnananinstalasinuklir,ataukegiatanapasajayangmempertaruhkankeselarnatanmanusia.
* Kemudahanperbaikankhususnyapentingbagikomputeryangmempunyaijumlahkomponenyangbesar.
*
*
Konsumsidayaatausarnadengangenerasipanas,khususnyadibutuhkanolehsistemyangdigunakanuntukruangangkasa.
Beratkhususnyadiperlukanbagisistemruangangkasa.
Kekebalanataukemarnpuanuntukmenahangoncanganatauketahanandarilingkunganyangtidakmendukungadalahsangatpentinguntuksistemyangdigunakandalarnmiliter,yangmemerlukanketahananterhadapkesalahanpenggunaansecarafisikdanpengaruhkerusakanlingkungan.
Kualitasantar-mukasistemsoftware,yangdiukurdengankemudahanpenggunaandantingkatstandartnya,pentingbagikomputerpersonal.
*
*
Sepertihalnyadalarnpengoptimisasianmasalah,untukmenentukanbiayayangpalingsesuaikitadapatmengukumyamelaluipendefmisian.J11asalahyangakandipecahkandan kemudianmenentukanmetrikyang tepatuntukmendapatkanpemecahanyangterbaik.
40
h ____
RINGKASAN
Babini mengenalkankonsepsiarsitekturkomputerclanarsitekturkomputerrumpun.Kitamembahassejarahsingkatmengenaikomputer,denganmerigemukakanperkembanganteknologikomputerdan eepatnyaevolusitersebutdalammempengaruhiarsitekturkomputer.
Kitakemudianmembahaskategoriutamaarsitekturkomputer.PenjelasanyangpanjanglebartelahkitalakukanterhadapkomponenclanoperasimesinyonNeumann,termasukgambaranpokokdarimesintersebutsertaearamesintersebutmenjalankanprogram.ArsitekturkomputerdiklasifIkasikanmenurutjumlahaliraninstruksi,jumlahalirandata,danjenismemori(globalataulokal).Kita telahmembahassejumlahjenisarsitektur"tertentu,termasukarrayprosesordansistemmultiple-processor.
Kitajugamembahasberbagaiukuranmanfaatataukegunaanarsitektur,yangmeliputigeneralitas,dayaterap,efIsiensi,kemudahanpenggunaan)dayatempa,dandayakembang.Yang terakhir,kita mengemukakanfaktordesainyangmempengaruhikeberhasilanarsitekturkomputerrumpun.Booini diakhiridenganpembahasanmengenaiberbagaiukurankineIjakomputer.
LATIHAN
1.1 Walaupunpekerjaanarsitekturdanimplementasiterpisah,bukanberartimerekatidakberkaitan.Untukduabangunanbersejarah,deskripsikanbagaimanateknologidarimasing-masingwaktumempengaruhiarsitekturmereka.Untukduaperiodewaktu,deskripsikanbagaimanaarsitekturmempengaruhiteknologi.
1.2 AkseleratorvektoradalahkomponenCPU khususyangmempercepatoperasivektor.Misalkansajaandadihadapkanduapilihanakseleratorvektoruntukkomputerskalar.Yang satumenjalankanoperasivektorempatkali lebiheepatdaripadaoperasiskalar,clanyangsatunya20kalilebihcepat.Gambarlahrasiokecepatanmesin-mesintersebutsebagaifungsipersenvektorisasi.(Jikapersentasivektorisasinyaadalah20%,maka20%dariinstruksiakanbeIjaianpadaakseleratorvektor;sisanyayang80% akanbeIjaianpadamesinnyasendiritanpapereepatan.
41
1.3 Misalkanandamenjadiarsitekdi DynamicGraphicsCorp,andadimintamembangunataumembuatakseleratorvektorbarnuntukkomputerskalar.Gambarlahpercepatanvektoryangdibutuhkanuntukmencapaipenggandaankinerjasebagaifungsipercepatanunitvektoryanglamauntukvektorisasi75%.
1.4 Cache adalah buffer (penyangga)besar yang mempercepatsistempenyimpanan.Misalkanadaduakomputer,yangsatumempunyaicachedansatunyamempunyaiakseleratorvektor.Urhpamacachetersebutmeningkatkankinerjaskalarbiasasebesar50%danmenggandakankinerjaskalarpadaloop(simpul)vektorisasidarikomputercache.Gambarlahpercepatan(speedup)akseleratorvektoryangdibutuhkanuntukmenggandakankinerjakomputernon-cachesebesarduakali kinerjakomputercacheyang.tidakmempunyaiakseleratorvektorsebagaifungsipersentasivektorisasi.
1.5 SebagaipresidenpadaperusahaanHuge Performance,andadihadapkandenganmasalahtentangpengalokasiandanaR&D (researchanddevelop-ment).Salahsatupilihanadalahdanatersebutdigunakanuntukmeningkatkancompilermesinandaagarkinerjanyameningkat10%pertabun.Pilihanyanglain adalahdanatersebutdigunakanuntukmenambahkancache,yangakanberfungsimenggandakankinerja.(LihatLatihan1.4)Berapalamapeningkatancompilerakandapatmenyusulpengembangan(pembuatan)cachedalamkinerja?
1.6 MisalkancachepadaLatihan1.5harnsdirancangkembalisetiaptabun,danpengembangancompilerakandihentikanbilakinerjatelahdigandakan.Kapanbiayapengembangancachemenyusul(menyamai)biayapengembangancom-piler?
1.7 Evaluasilahmeanharmonik,geometrik,danaritmetikuntuksetpengukuranberikutini:25,40,33,16,25,27,50,44,22.
1.8 Buatlahrumusuntukmeanharmonikdalamhubungannyadenganmeanaritmetikseimbang.
1.9 UntukduasetpengukuranN, yaitu{~}dan{Yj},tunjukkanbahwarasiomeangeometrikmereka,yaitu
42
meangeometrikdari{~}
meangeometrikdari {Yj}
sarnadenganmeangeometrikdarirasioindividual,yaitu
{~}meangeometrikdari
1.10 Sebuahsistemmemorimempunyaiduakecepatanakses,yaituAl danA2.Al menyimpan20%dari aksestersebut,sedangkanA2 menyimpan(mengarnpu)sisanyayaitu80%.Beraparata-ratakecepatanakses?
1.11 Banyakbenchmarkyangdiiklankanmenunjukkannilaikinerjayangjauhlebihbesardaripadayangdapatdicapaidenganmasalahyangriil karenabenchmarktersebutkecildanmenggunakansetdatayangkecil.Sebutkanbeberapaalasanmengapamerekadapatberjalandenganbaikwalautidakmenurutsifatnya.
1.12 Misalkanandamempunyaiempatalgoritma.yaituAl sarnpaiA4, untukmenyortirdatan,danwaktusortirmerekaadalah:lOOnuntukAI, IOn log2n untukA2, 3n2untukA3, dan2 untukA4. Untukmetodeapatiapnilain tersebutpalingcocokdigunakan?Jika mesinpipelinedmemerlukanwaktu
. sebanyak0,03n2denganmenggunakanA3,yangmungkindikarenakanadanyavektorisasi,makabagaimanawilayahoptimalitas-nyaberubah?Jika untukn=100.000andakelirumemilihA3 daripadaAl atauA2, makaseberapabesarpenalti(kerugian)yangandabayar.
Latihan Untuk Referensi
1.13 DenganmenggunakanmanualCaseStudiesyangadadalarnbukuini,manualyangadadiperpustakaan,atauSiesiorek,Bell andNewell(1982),eveluasilahjumlah komputerdibandingkandengankriteriayang dikemukakanpadaBagian1.4.1.
43
Masalah Untuk Pembahasan Kelompok
1.14 Dalamproyekdesainkomputerbesar,parateknologmengeIjakanpeningkatankineIjasemikonduktor,sedangkanarsitekbekeIjauntukmengurangijumlahsiklusjam per instruksidan bekeIjauntukmenemukancarabaruuntukmembentukparalelisme.Padamasasebelumnya,sekarang,danyangakandatang,sebutkanpercepatanrelatifyangakandihasilkanoleharsitekdanteknologtersebut.
INDEKS
dayaterapunitaritmetikdanlogikabandwidth
benchmark
buffer(penyangga)unitpemrosesansentral(CPU)
detakjamperinstruksikompabilitas
sikluskomputasiarsitekturkomputer
arsitekturkomputerrumpunarsitekturarusdataalirandata
kompatibilitasmenurunefisiensi
gayakembangflagkomputergenerasikeempatmeangeometrikarsitektursistemhardwarearsitekturHarvard
operasiI/O perdetik
44
manfaatarsitektur
meanaritmetik
pengoperasianpemrosesanbatch
jutaanoperasifloating-pointper
detik(GFLOPS ataugigaflops)
siklusjam
arsitekturtertutup
komputersetinstruksikompleks
aplikasikomputasiintensif
rumpunkomputer
unitkontrol(CU)modelarusdata
benchmarkdebetlkredit
kemudahanpenggunaanarsitekturstackeksekusi
komputergenerasiketiga
kompatibilitaskedepan
generalitas
arsitektursistemmemoriglobalmeanharmonik
komputerhostffiM MIPS
sisteminput-output(I/O)counterinstruksi
penjemputaninstruksisetinstruksiukuraninstruksi
jaringaninterkoneksibenchmarksimpulLivermore
alamatlogikamemoriintimagnetis
integrasiskalamenengah(MSI)waktuaksesmemoriukuranmemori
jutainstruksiperdetik(MIPS)beberapaaliraninstruksi,
beberapaalirandata(MIMD)prosesormultiplekomputermultiprosesorsistempengoperasianmulti-
programmingoperandprosesorparalelPerfectClubSuitealamatfisik
pipeliningelemenpemrosesan(PE)
programreduced-instruction-setcom-
puter(RISC)sataliraninstruksi,beberapaalirandata(SI1vID)
integrasiskalakeeil(SSI)mesintujuankhusus
kineIjasistem
instruksi
eksekusiinstruksi
formatinstruksi
arsitektursetinstruksi
aliraninstruksi
benchmarkLINPACK
arsitektursistemmemorilokal
prosesorterangkairenggang
dayatempa
megabyteperdetik(MBS)bandwidthmemori
mikroprosesor
jutaoperasifloating-pointper
detik(MFLOPS ataumegaflops)
beberapaaliraninstruksi,satu
alirandata(MISD)
multiprosesor
jaringanintiarsitekturterbuka
kodeoperasi(opcode)
MIPS tertinggi
metrikkineIja
pipeline
prosesorpipelined
arrayprosesor
counterprogram(PC)
setregister
komputergenerasikeduasatualiraninstruksi,satualir-
andata(SISD)SPEC BenchmarkSuite
SPECmarks
komputergenerasiketiga
45
prosesorterangkaiketit
kompatibilitasmeningkatVAX MIPS
transaksiperdetik('IPS)
rasiokegunaan
unitkinerjaVAX (VUP)mesinvektor
integrasiskalasangatluassiklusmesinvonNeumann
Whets
vektorvektorisasi
mesinvonNeumann
meanaritmetikseimbangbenchmarkWhetstone
46
Bab 1: ArsitekturIstilah kunciPerspektif HistorisKlasifikasi arsitektur komputerMesin Von NeumannMesin non-von Neumann
Mengukur kualitas arsitektur komputerGeneralitasDaya terapEfisiensiDaya TempaKemudahan penggunaanDaya kembang
Faktor yang mempengaruhi keberhasilan arsitektur komputerManfaat arsitekturalKinerja sistemBiaya sistem
RingkasanLatihanIndeks