şükela:  tümü | bugün soru sor
  • ks. central processing unit. türkçe'de merkezi işlem birimi ya da halk diliyle "işlemci". bilgisayarın makine dili kodlarını işleyen birimi. cpu hafızadan okuduğu makina kodlarının söylediğini yapar. hafızadan okur, hafızaya yazar, dışsal donanıma sinyal yollar, gelen sinyali okur, aritmetik işlemler yapar. bunları doğru sırada yaptığında kendinizi angry birds oynarken bulursunuz.
  • overclock yapilir
  • (bkz: risc)
  • işlem ünitesi. transistörlerden oluşan programlanabilir elektronik parça.
  • cpu (central processing unit, merkezi i$lem unitesi), sistemin beynidir. bilgi depolama icin kullanilan ce$itli yazmaclar, aritmetik mantık birimi, komut cozucu, sayici ve denetim hatlarından olu$ur. bellekten komutlari okur ve gerekli i$lemleri yapar. diger birimler ile ileti$imi saglar. alu (aritmetik logic unit, aritmetik mantık birimi), toplama cikarma gibi aritmetik i$lemler ile ve, veya ve seckin veya gibi mantiksal i$lemleri yapan birimdir.
    yazmac birimi, cali$ma esnasinda, gecici veya kalici olarak bilgi depolanan yazmaclari iceren kisimdir.
  • (bkz: z80)
    (bkz: x86)
    (bkz: 6502)
    (bkz: 680x0)
    (bkz: power pc)
    (bkz: strongarm)
    (bkz: mips)
    (bkz: alpha)
    (bkz: sparc)
  • "gunumuzde cpu'lar cok onemlidir. ataturk de cok severdi cpu'lari ama sahip cikamadik.."
    -ecv, 2003(computer organization and design ilk dersinde cpu nedir sorusuna kar$ilik olarak)

    gunumuzde bir bilgisayarin performansini etkileyen pek cok faktor vardir. lakin pek cok durumda bu faktorlerden en onemlisi cpu degildir. bu yazi pek cok anlamsiz tarti$mayi sona erdirmek amacli degil, bilhakis kizi$tirmak amacli yazilmi$tir.. nihohoohoho..

    evet bundan sonra ciddi olacagim..

    cpulari pek cok kritere gore ce$itlendirmek mumkundur. bu kriterlerden biri komutlarin cali$tirilma yoludur. gunumuzde ki$isel bilgisayarlarinizda kullaniyor oldugunuz cpular multi-cycle bir cali$tirilma yolunu secerler. bunun manasi tek bir i$lemin yapilabilmesi icin, birden fazla clock-cycle'a ihtiyac duyuldugu, yani i$lemcinin i$lemi tek seferde nihai sonuca erdiremedigidir. bazi cpular ise i$lemleri tek bir clock-cycleda sona erdirirler. ilk ture ornek olarak intel'in pentium(tm) i$lemcileri verilebilir. ikinci duruma ornek ise mips 64 bit(tm) olabilir.

    bununla birlikte i$lemcilerin bazilari pipelineli bazilari ise pipelinesizdir(oha). bir i$lemcinin pipelinei olmasi; bir clock-cycle suresince birden fazla i$lemin basamaklarinin sigdirilabilmesidir. gunumuzde pipelinei olmayan bir cpu yoktur. varsa da bilmiyorum, hatta olmaz olsun. (bkz: arti hayvansin)

    bununla birlikte i$lemcilerin pek cogunun uzerinde cali$iyor olduklari instruction set, hadi buna komut kumesi diyelim; farklidir. yani her i$lemci belli bir i$i yapmak icin gerekli minimum i$lem basamagini kar$ilayacak komutlara yer vermeyebilir komut kumesinde. bununla birlikte bu durum yani i$lemlerin ve komut kumelerinin basite indirgenilmesi, maliyetleri du$urucu, hizlari artirici bir rol oynar.

    $uphesiz ki i$lemcilerin bir de cache sahibi olan ve de olmayanlari bulunur. cache kisaca bir hafizanin ufak ve dolayisi ile, aslinda sadece ufakligindan kaynaklanmasa da, daha hizlisidir. i$lemciler cacheleri varsa memory ile aralarindaki ileti$imi her zaman dogrudan saglamak zorunda kalmazlar. bu da pek cok i$e yarayabilir. sik kullanilan datalar oralarda tutulur, kolayca ula$ilir, manipule edilir herke$ mutlu yarinlara ko$ar.

    bununla birlikte bu cache denen nane, tek bir tipte degildir, bunun da turleri vardir. dogrudan manipule edenleri(direct mapped demeye cali$iyorum), multipage olanlari, set-associative olanlari, fully assosciative olanlari vardir. butun cachelerin bir de boyutu vardir tabi, icerlerinde saklayabilecekleri kelime miktari cinsinden diyelim.

    bununla birlikte bir de second level cache de denilen hafiza turu vardir, bu da demin bahsettigim cacheden daha yava$ ve buyuk(not necessarily) memory'den daha kucuk ve hizlidir(necessarily). bu nane de ikisinin arasinda durabilir, performansi zaman zaman arttirdigi gorulmu$tur.

    her neyse, bir de bu cpularin bizim programlar icin error handling dedigimiz mekanizmalari vardir. hazard/interrupt handling diyelim buna da. pipelineli makinelerde i$lemler her zaman toz pembe bir dunyada gercekle$emeyecegi icin, bir cycleda execute edilmeye gecilecek instruction sayisi her zaman pipelinenin boyuna e$it olmaz, olamaz.. bu durumlar birer data hazard yaratabilir, bu durumlar her bir a$amada kontrol edilmeli, gerektiginde bubble verilmeli, gerektiginde cpu stall edilmelidir. branch predictioni da burada anlatalim. kimi zaman afacan compilerlar sizlerin o kullanmaya bayildigi if, else statementlarini duzgun olarak compile edip nadide bir source cikarirlar. bu sourceda bir satira gelinir ki, hagaden bir karar verilmeli, instructionlar nadide nadide cali$tirilmalidir. lakin bu branchler, hadi bunlara da dal diyelim, sizin i$leme hali hazirda soktugunuz i$lemlerin yapilmamasini isteyebilir. bu durum da genellikle cift bitli bir memoryde kontrol edilir, i$lemleriniz heba olmasin diye.

    bir cpunun performansini etkileyen pek cok nadide $eyden tek bir tanesidir sadece clock frekansi. yani gunumuzde bir i$lemciyi alirken "bu 2000mhz" diye almi$ olmaniz o i$lemcinin 500mhz saat frekansli bir i$lemciden, aka. mips, daha yuksek performans gosterecegini hicbir $ekilde ifade etmez.

    cpunun cache hit/miss orani, cache ula$im suresi, branch teknolojisinin geli$mi$ligi, ortalama olarak aritmetik/mantiksal i$lemleri kac cycle'da yaptigi, instruction mimarisinin akilciligi, pipeline stage sayisi, hazard protectioni i$lemcinin uzerinde frekansin etkisinden cok daha buyuk, hatta cok cok daha buyuk etki birakmaktadir.

    bununla birlikte bilgisayar uzerinde cali$an bir yahut bir kac programin performansini belirleyen $ey tek ba$ina cpu olmamaktadir. hatta cpunun rolu gunumuzde pek cok alanda geri plandadir. en basitinden 2400mhz bilgisayarlarin 120mhz bilgisayarlarin 20'de biri surede acilmadigini gormek gereklidir. $u anda bilgisayar dunyasinin hiz probleminin, ki yava$ oldugumuzdan kaynaklanan bir problem degil bu, en onemli sebepleri manyetik disklerin ve ondan cok cok daha hizli olmasina ragmen memorylerin, daha sonra da buslarin yava$ligidir.

    durum boyle iken, cpu normal bir ev bilgisayarinin cali$ma hayatinda %5-6 gibi surelerde bottlenecki olmakta iken cpulara bu kadar yuklenmenin "daha daha" demenin bir manasini gorememekteyim ben.

    ki$isel bir kullanicinin i$lemci alirken, "abi nedir kac cycle nerde bunun pipelini gormek istiyorum ben" demeyecegini biliyorum gayet. ama akilda bulundurulmasi gereken $eylerden biri tek mevzunun frekans olmadigini anlamaktir. bilindigi uzere amd bu durumdan zarar gormemek icin i$lemcilerine frekans olarak anla$ilacak isimler vermektedir. normal bir kullanicin, ki ben ve ssg haric hepiniz normal kullanicisiniz nihohohoh, i$lemci konusunda karar verirken guvenebilecegi $eyler, diger mamullerin alinmasinda da mevcut olan durumlara ek olarak -aka. garanti, teknik destek, fiyat, guvenilirlik vs.- benchmark ba$arilaridir. (yani gofret alirken pek bakmiyorum ben benchmark degerlerine)

    bununla birlikte gunumuz cpularinin benchmarklarini yapmak bir hayli zordur. bu i$ icin bir yazilimin secilmesi kimi ba$ agrilari getirebilmekle birlikte; oyun esnasinda, yada rendering ile "abi bu on saniyede yapti bu yirmi" demek pek saglikli degildir. cunku cpularin her i$lem esnasindaki performanslari, fiziksel ko$ullar esnasindaki performanslari ve belki de pek dikkat edilmemekle birlikte, di$ birimler ile uyumlari durumu cok etkilemektedir. her i$lemci her anakart ile ayni ba$ariyi yakalayamamaktadir bilhakis, bununla birlikte bir fabrikadan cikan iki ayni ram ayni hizda olmayabiliyor. yani her $ey kutunun uzerinde yazdigi gibi degil.

    bunun icin ben acikcasi bu konuda dergilerin, televizyonlarin, websitelerin vs. yaptigi testlere -ki ne kadar iyi niyetli olduklarindan da $uphe etme hakkinizi sakli tutabilirsiniz- pek guvenmemekteyim.

    "eh peki sen ne yapiyorsun arkada$im hasta ettin?" diyenlere "ben almiyorum babam aliyor" demeyecegim elbet.

    ben $imdiye kadar pek cok intel, ve bir dene de amd i$lemci kullandim. ikisi de sparc kadar iyi degiller ehehe..
    acikcasi bu i$lemcilerin hepsi beni uc a$agi be$ yukari memnun ettiler. hicbiri yanmadi, curumedi bi $ey olmadi. i$lemciler zaten normal $artlar altinda, normal normal kullanildiklarinda gayet $eker $eylerdir, ba$larina bir i$ gelmez. korkuya tela$a mahal yoktur, bununla birlikte diger urunleri alirken gosterdiginiz hassasiyeti, onlara da gostermek gerekir.(tadi guzel mi, kokusuz mu, son kullanma tarihi gecmi$ mi..)
  • tüm işlemleri yöneten bilgisayar birimi.
  • swg dilinde "credit per unit".

    (bkz: star wars galaxies terminolojisi)