ISA.pdf

download ISA.pdf

of 40

Transcript of ISA.pdf

  • 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