Sxe 11.2 FİX 5 WALL hack indir, Sxe 11.2 FİX 6 AiM BOT, Sxe 11.3, Sxe 11.3 FİX 1

MasterGameTr.Com Sponsorumuz olmuştur.
|- Desteklemek için arkadaşlarınıza tavsiye ediniz.
|İşlemleriniz MasterGameTrde' hızlıca yapılmaktadır.
|- Oyun paraları premium ve alttaki özellikler MasterGameTr de barınmaktadır.
|Teşekkür ederiz !

W w w . M a s t e r G a m e T R . c o M



Master, Oyun, Oyun satış, knight online, hero online, metin2, gb, goldbar, premium, CASH , KOXP, DARKORBİT, EPİN rapidshare premium, facebook poker chip

Sxe 11.2 FİX 5 WALL hack indir, Sxe 11.2 FİX 6 AiM BOT, Sxe 11.3, Sxe 11.3 FİX 1


    İşlemci Nedir (CPU) Nasıl Çalışır?

    Paylaş

    Ne[x]oN
    AdmiN
    AdmiN

    Rep : 63
    Cinsiyet : Erkek
    Paylaşım Puanı : 214751187
    Nerden : Ankara
    Mesaj Sayısı : 3323

    İşlemci Nedir (CPU) Nasıl Çalışır?

    Mesaj tarafından Ne[x]oN Bir Cuma Nis. 16, 2010 6:19 pm

    CPU'nun (Central Processing Unit, Merkezi İşlem
    Birimi), bilgisayarlarımızın temel parçası olduğunu rahatlıkla
    söyleyebiliriz. Bir sistemdeki herhangibir parça ne işe yararsa yarasın
    mutlaka işlemciye (yazının daha başı ama kalan bölümde CPU yerine
    hepimizin kullandığı işlemci kelimesini kullanacağım) bağımlı olarak
    çalışır. Klavyedeki tuşlara her basışınız, yaptığınız her fare hareketi
    bile bir şekilde işlemciye uğrar. Kullandığınız işlemci, herşeyden önce
    sisteminizin performansını ve kullanabileceğiniz işletim sistemlerini
    belirler. Hatta çoğumuz bilgisayar alırken ilk önce işlemciyi
    belirleriz. Şimdi AMD - Intel savaşını (çok istediğinizi biliyorum ama
    bu yazının amacına pek uygun değil) bir yana bırakıp işlemcilerin nasıl
    çalıştığına bir göz atalım.
    <blockquote><blockquote><blockquote><blockquote><blockquote><blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote>kullanın
    çalışma prensibi aynıdır: Bir işlemci elektriksel sinyalleri 0 ve 1
    (ikili sistemle çalışan bilgisayarlarımız için anlamlı olan tek
    değerler) şeklinde alır ve verilen komuta göre bunları değiştirerek
    sonucu yine 0'lardan ve 1'lerden oluşan çıktılar halinde verir. Sinyal
    yollandığı zaman ilgili hatta bulunan voltaj o sinyalin değerini verir.
    Örneğin 3.3 voltla çalışan bir sistemde 3.3 voltluk bir sinyal 1, 0
    voltluk bir sinyal de 0 değerini üretir.

    İşlemciler aldıkları sinyallere göre karar verip çıktı oluştururlar.
    Karar verme işlemi her biri en az bir transistörden oluşan mantık
    kapılarında yapılır. Transistörler, girişlerine uygulanan akım
    kombinasyolarına göre devreyi açıp kapayabilen ve bu sayede de
    elektronik bir anahtar görevi gören yarıiletken devre elemanlarıdır.
    Modern işlemcilerde bu transistörlerden milyonlarca tanesi aynı anda
    çalışarak çok karmaşık mantık hesaplarını yapabilirler. Mantık kapıları
    karar verirken (yani akımın geçip geçmeyeceğini belirlerken) Boolean
    Mantığı'nı kullanırlar. Temel Boolean operatörleri AND (ve), OR (veya)
    ve NOT'tır (değil). Bu temel operatörlerle birlikte bunların değişik
    kombinasyonları kullanılır, NAND (not AND) gibi.

    Bir AND kapısının 1 değerini verebilmesi (yani akımı iletebilmesi için)
    iki girişindeki değerin de 1 olması (yani iki girişinde de akım olması)
    gerekir. Aksi takdirde 0 değerini verecek; yani akımı iletmeyecektir. OR
    kapısında ise akımın iletilmesi için girişlerin ikisinde de akım olmalı
    veya ikisinde de akım olmamalıdır. NOT kapısı ise girşindeki değerin
    terisini çıkışına verir.

    OR Kapısı



    AND
    Kapısı




    NOT
    Kapısı





    NAND kapıları çok kullanışlıdır, çünkü bu kapılar sadece iki transistör
    kullanarak üç transistörlü AND kapılarından daha fazla işlevsellik
    sağlarlar.

    NAND Kapısı




    Bunların yanında NOR (not OR), XOR (eXclusive OR) ve XNOR (eXclusive not
    OR) gibi değişik kapıların değişik kombinasyonlarından oluşan ve çok
    daha farklı aritmetik ve mantık işlemleri için kullanılan kapılar
    vardır.

    Bu mantık kapıları dijital anahtarlarla beraber çalışırlar. Oda
    boyutundaki bilgisayarların zamanında bunlar bildiğimiz fiziksel
    anahtarlardı fakat günümüzde MOSFET (Metal-Oxide Semiconductor
    Field-Effect Transistor) denen bir çeşit
    transistör kullanılır. Bu transistörün basit ama hayati öneme sahip bir
    görevi vardır: Voltaj uygulandığında devreyi açarak veya kapatarak tepki
    verir. Genel olarak kullanılan MOSFET türü, üst sınırda veya ona yakın
    voltaja sebep olan bir akım uygulandığında devreyi açar, uygulanan
    voltaj 0'a yaklaşınca da devreyi kapatır. Bir programın verdiği
    komutlara göre milyonlarca MOSFET aynı anda çalışarak gerekli sonucu
    bulmak için akımı gerekli mantık kapılarına yönlendirir. Her mantık
    kapısı bir veya daha fazla transistör içerir ve her transistör akımı
    öyle kontrol eder ki, sonuçta devre kapalıyken açılır, açıkken kapanır
    veya mevcut durumunu korur.
    <blockquote><blockquote><blockquote><blockquote></blockquote></blockquote></blockquote></blockquote>AND
    ve OR kapılarının şemalarına bakarak nasıl çalıştıkları hakkında fikir
    sahibi olabiliriz. Bu iki kapıda iki sinyal alıp onlardan bir sinyal
    üretir. AND kapısından akım geçmesi için girişlerine uygulanan
    sinyallerinin ikisinin düşük de voltajlı (0) veya ikisinin de yüksek
    voltajlı (1) olması gerekir. OR kapısında ise giriş sinyallerinden
    birinin değerinin 1 olması yeterlidir akımın geçmesi için.

    Her girişteki elektrik akışını o girişin transistörü belirler. Bu
    transistörler devrelerden bağımsız ayrı elemanlar değillerdir. Çok
    miktarda transistör yarı-iletken bir maddenin (çoğu zaman silikonun)
    üzerine yerleştirilip kablolar ve dış bağlantılar olmadan birbirine
    bağlanır. Bu yapılara entegre devre denir ve ancak bu entegre devreler
    sayesinde karmaşık mikroişlemci tasarımları yapılabilir.

    Güncel işlemciler mikroskobik boyuttaki transistörlerin dirençler,
    kondansatörler ve diyotlarla bir araya getirilmesinden oluşan
    milyonlarca karmaşık mantık kapısından oluşur. Mantık kapıları entegre
    devreleri oluştururken entegre devreler de elektronik sistemleri
    oluşturur.

    CISC ve RISC Kavramları

    Yıllar geçtikçe iki işlemci ailesi piyasaya hakim olmaya başladı: Intel
    Pentium ve Motorola PowerPC. Bu iki işlemci aynı zamanda uzun yıllar
    boyunca kullanılacak ve günümüze kadar değişmeyecek iki farklı mimariye
    sahiplerdi.

    CISC (Complex Instruction Set Computer),
    geleneksel bilgisayar mimarisidir. İşlemci kendi üzerinde bulunan
    microcode adlı minyatür bir yazılımı kullanarak komut setlerini
    çalıştırır. Bu sayede komut setleri değişik uzunluklarda olabilir ve
    bütün adresleme modellerini kullanabilirler. Bunun dezavantajı çalışmak
    için daha karmaşık bir devre tasarımına ihtiyaç duyulmasıdır.

    İşlemci üreticileri daha komlpleks (ve güçlü) işlemciler üretmek için
    sürekli daha büyük komut setleri kullandılar. 1974 yılında IBM'den John
    Cocke bir çipin daha az komutla çalışabilmesi gerektiğini düşündü ve
    ortaya sadece sınırlı sayıda komut setleri kullanabilen RISC (Reduced
    Instruction Set Computer) mimarisi çıktı. Bu
    mimaride komutların uzunluğu sabittir ve bu yüzden de direk olmayan
    adresleme modu kullanılamaz. Sadece tek bir saat döngüsünde veya daha az
    sürede çalıştırabilecek komutlar işleme konabilir. RISC işlemcilerin en
    büyük avantajları komutları çok çabuk işleyebilmeleridir çünkü bu
    mimaride komutlar çok basittir. Bu sayede RISC işlemcileri tasarlayıp
    üretmek daha ucuzdur, çünkü bu basit komutlar için daha az transistör ve
    daha basit devreler gerekir.

    En Basit Haliyle Bir İşlemci
    <blockquote><blockquote><blockquote></blockquote></blockquote></blockquote>Execution Unit (Core=Çekirdek): Bu ünite
    komutları çalıştırır ve pipeline (işhattı) denen yollarla beslenip
    tamsayıları kullanarak okuma, değiştirme ve komut çalıştırma işlemlerini
    yapar. Artimetik hesaplamalar için ALU (Arithmetic and Logic
    Unit) denen aritmetik ve mantık üniteleri kullanılır, ALU için
    işlemcilerin yapıtaşıdır diyebiliriz.

    Branch
    Predictor
    :
    Bu ünite bir program çalışırken başka bir satıra
    atlayacağı zaman hangi satırların işleme konacağını tahmin etmeye
    çalışarak Prefetch (komutların bellekten ne zaman çağrılacağına
    karar verir ve komutları Decode ünitesine doğru sırayla gönderir) ve Decode
    (bu ünite de kompleks makina dili komutlarını ALU'nun ve registerların
    kullanabileceği basit komutlara dönüştürür) ünitelerine hız kazandırmaya
    çalışır.

    Floating Point Unit:
    Bu ünite tamsayı olmayan floating point (kayar nokta) hesaplamalarından
    sorumludur.

    L1 Cache:
    İşlemci için önbellek. Önemli kodlar ve veriler bellekten buraya
    kopyalanır ve işlemci bunlara daha hızlı ulaşabilir. Kodlar için olan Code
    ve veriler için olan Data cache olmak üzere ikiye ayrılır.
    Güncel işlemcilerde L2 (Level 2, 2. seviye) önbellek de bulunur.
    Önceleri L2 önbellek anakartta bulunurdu. Daha sonra slot işlemciler
    ortaya çıktı ve işlemci çekirdeğinin de üzerinde bulunduğu kartuj
    şeklindeki paketlerde önbellek çekirdeğin dışında ama işlemciyle aynı
    yapıda kullanılmaya başlandı. Bu kısa geçiş döneminden sonraysa önbellek
    işlemci çekirdeklerine entegre edildi.

    BUS
    Interface
    : İşlemciye veri – kod
    karışımını geitirir, bunları ayırarak işlemcinin ünitelerinin
    kullanmasını sağlar ve sonuçları tekrar birleştirerek dışarı yollar. Bu
    arayüzün genişliği işlemcinin adresleyebileceği hafızayı belirler.
    Örneğin 32 bitlik hafıza genişliğine sahip bir işlemci 232 byte (4 GB)
    hafızayı adresleyebilir ve bu hafızadan aynı anda 32 bit üzerinde işlem
    yapabilir. Günümüzde masaüstü pazarına 32 bitlik işlemciler hakimken
    sunucu uygulamarı ve bilimsel çalışmalar için de 64 bitlik işlemciler
    yaygın olarak kullanılır.


    Bir işlemcideki bütün elemalar saat vuruşlarıyla çalışır. Saat hızı bir
    işlemcinin saniyede ne kadar çevrim yapabileceğini belirler. 200 MHz
    saat hızı 200 MHz olan bir işlemci kendi içinde saniyede 200 çevrim
    yapabilir. Her çevrimde işlemcinin ne kadar işlem yapabileceği
    işlemcinin yapısına göre değişir. Bu saat vuruşları anakart üzerindeki
    Clock Generator denen yongayla üretilir. Bu yonganın içinde çok hassas
    kristaller vardır. Bu kristallerin titreşimleri saat vuruşlarını
    oluşturur.

    Program Counter (PC) denen birim
    içinde çalıştırılacak bir sonraki komutun hafızadaki adresini
    bulundurur. Bu komutun çalıştırılma zamanı geldiğinde kontrol ünitesi
    komutu işlenmek üzere hafızadan alır ve işlemci üzerindeki Instruction
    Register denen bölüme işlenmek üzere aktarır. Yazmaç da diyebileceğimiz
    registerlar hafızadan verilerin veya kodların yazılabildiği geçici
    saklama alanlarıdır. İçindeki adresi gerekli
    yazmaca aktaran PC daha sonra bir arttırılır ve bir sonraki komutun
    zamanı geldiğinde Instruction Register'a aktarılmak üzere hazırda
    beklemesi sağlanır.


    Komut işlendikten sonra hesaplamayı yapan birim Status Register
    (SC) denen yazmacın değerini değiştirir, bu yazmaçta bir önceki işlemin
    sonucu saklıdır. Kontrol ünitesi bu yazmaçtaki değeri kullanarak sonuca
    göre gerekli komutları çalıştırabilir.

    Bu okuduklarınızın tamamı komutun uzunluğuna ve işlemcinin mimarisine
    göre bir veya daha fazla saat vuruşunda yapılabilir.

    Makina
    Dili


    Bir işlemcinin yaptığı işleri temelde üçe ayırabiliriz:

    - Bir işlemci ALU'sunu veya FPU'sunu kullanarak tamsayılarla ve ondalık
    sayılarla matematiksel işlemleri yapabilir
    - Verileri bir bellek alanından diğerine hareket ettirebilir.
    - Verdiği karara göre bir programın farklı bir satırına
    atlayıp yeni bir komut çalıştırabilir.


    Bir programcının rahatlıkla anlayabileceği gibi bu üç temel işlem bir
    programı çalıştırmak için yeterlidir. işlemciler komutları bizim
    yazdıklarımızdan çok daha farklı bir şekilde algılarlar. Bir komut bit
    (binary digit, 0 veya 1 değerini alabilen ikili sistemdeki basamaklar)
    dizilerinden oluşur fakat bu bit dizilerini akılda tutmak çok zordur. Bu
    yüzden komutlar bit dizileri yerine kısa kelimelerle ifade edilir ve bu
    kelimelerden oluşan dile Assembly Dili denir. Bir assembler bu
    kelimeleri bit dizilerine çevirerek işlemcinin anlayabileceği şekilde
    hafızaya yerleştirir. Komutlara örnek verelim:

    LOADA mem – bellek adresini A yazmacına yükle

    LOADB mem - bellek adresini B
    yazmacına yükle

    CONB con – B
    yazmacına sabit bir değer ata

    SAVEB
    mem
    – B yazmacını bellek adresine kaydet

    SAVEC mem - C yazmacını bellek adresine kaydet
    ADD – A ile B'yi toplayıp sonucu C'ye
    kaydet

    SUB – A'dan B'yi çıkartıp
    sonucu C'ye kaydet

    MUL – A ile
    B'yi çarpıp sonucu C'ye kaydet

    DIV
    – A'yı B'ye bölüp sonucu C'ye kaydet

    COM
    – A ile B'yi karşılaşıtırıp sonucu teste kaydet

    JUMP addr – adrese atla
    JEQ addr – eşitse adrese atla
    JNEQ addr – eşit değilse adrese atla
    JG addr – büyükse adrese atla
    JGE addr – büyük veya eşitse adrese atla
    JL addr – küçükse adrese atla
    JLE addr – küçük veya eşitse adrese atla
    STOP – işlemi durdur

    Şimdi aşağıdaki C kodlarının assembly diline derlendikten sonra neye
    benzediklerine bakalım.

    a=1;
    f=1;
    while (a <= 5)
    {
    f = f * a;
    a = a + 1;
    }

    C bilmeyenler için kısaca anlatmakta fayda var: a değişkeni 5 olana
    kadar her seferinde bir arttırılarak f değişkeninin değeriyle çarpılıyor
    ve f değişkeninin değeri 5 faktöryel oluyor. Küme parantezleri içindeki
    while döngüsü bittikten sonra parantez içindeki koşul tekrar kontrol
    ediliyor ve doğru olduğu sürece döngü tekrar tekrar işleme konuyor.

    Bir C derleyicisi bu kodları assembly diline çevirir. RAM'in 128,
    assembly programını barındıran ROM'un da 0 numaralı hafıza adresinden
    başladığını varsayarsak işemcimiz için yukarıdaki C kodları aşağıdaki
    şekilde görünür:

    // adres 128'deki a'yı
    al

    // adres 129'daki f'i al
    0 CONB 1 // a=1;
    1
    SAVEB 128

    2 CONB 1 // f=1;
    3 SAVEB 129
    4 LOADA
    128 // a>5 ise 17'ye atla

    5 CONB 5
    6 COM
    7 JG 17
    8 LOADA 129 // f=f*a;
    9 LOADB 128
    10 MUL
    11 SAVEC 129
    12
    LOADA 128 // a=a+1;

    13 CONB 1
    14 ADD
    15 SAVEC
    128

    16 JUMP 4 // 4. satırdaki if
    koşuluna geri dön

    17 STOP

    Şimdi bu komutların hafızada nasıl göründüğüne bakalım. Bütün komutlar
    ikili sistemdeki sayılarla gösterilmeli. Bunun için her komuta opcode
    denen bir numara verilir:

    LOADA - 1
    LOADB - 2
    CONB - 3

    SAVEB - 4
    SAVEC mem - 5
    ADD - 6
    SUB - 7
    MUL - 8
    DIV - 9
    COM - 10
    JUMP addr - 11
    JEQ
    addr - 12

    JNEQ addr - 13
    JG addr - 14
    JGE addr -
    15

    JL addr - 16
    JLE addr - 17
    STOP - 18

    Programımız ROM'da şöyle gözükür:

    //
    adres 128'deki a'yı al

    // adres
    129'daki f'i al

    Addr opcode/value
    0 3 // CONB 1
    1 1
    2 4 // SAVEB 128
    3
    128

    4 3 // CONB 1
    5 1
    6 4 // SAVEB 129
    7 129
    8 1 //
    LOADA 128

    9 128
    10 3 // CONB 5
    11 5
    12 10 // COM
    13
    14 // JG 17

    14 31
    15 1 // LOADA 129
    16
    129

    17 2 // LOADB 128
    18 128
    19 8 // MUL
    20 5 // SAVEC 129
    21 129
    22 1 // LOADA
    128

    23 128
    24 3 // CONB 1
    25 1
    26 6 // ADD
    27 5
    // SAVEC 128

    28 128
    29 11 // JUMP 4
    30 8
    31 18 // STOP

    Gördüğünüz gibi C'de 7 satır tutan kod assemblyde 17 satıra çıktı ve
    ROM'da 31 byte kapladı. Instruction Decoder (komut çözücü, bir önceki
    başlıkta bahsettiğimiz Decode ünitesi), opcedeları alarak işlemcinin
    içindeki değişik bileşenleri harekte geçirecek elektriksel sinyallere
    dönüştürür.

    Üretim

    İlk işlemciler valflar, ayrık transistörler ve çok kısıtlı bir şekilde
    entegre edilebilmiş devrelerden oluşuyordu fakat günümüz işlemcileri tek
    bir silikon yonga üzerine sığabiliyorlar. Çip üretiminde temel madde bir yarıiletken olan silikondur.
    Üretim sırasında çeşitli işlemler yapılır. Önce silicon ignot denen
    ilindirik bir yapı üretilir. Bunun hammaddesi saflaştırılmış silikondan
    elde edilen bir çeşit kristaldir. Daha sonra bu silindirik yapı ince
    ince dilimlenerek wafer denen dairesel tabakalar oluşturulur.
    Wafer tabakaları yüzeyleri ayna gibi olana kadar cilalanır. Çipler bu
    wafer tabakaları üzerinde oluşturulur. Aşağıdaki resimde bir wafer
    tabakasıyla üzerindeki çipleri görebilirsiniz.

    <blockquote><blockquote><blockquote><blockquote></blockquote></blockquote></blockquote></blockquote>Çipler
    üst üste katmanlardan oluşur ve bu katmanlar için değişik hammaddeler
    vardır. Örneğin yalıtkan yüzey olarak silikon dioksit kullanılırken
    iletken yollar ploisilikonla oluşturulabilir. Silikona iyon bombardımanı
    yapılarak silikondan transistörler üretilir ve bu işleme doping
    denir.

    Bir katman photoresist (ışığa duyarlı) bir maddeyle kaplanır ve
    bu katmana istenen şeklin görüntüsü projeksiyonla yansıtılır. Bu
    işlemden sonra ışığa maruz kalan yüzey maskelenir ve kalan madde bir
    çözücü yardımıyla temizlenir. Maskelenen bölümde transistörler ve yollar
    oluşturulduktan sonra etching denen kimyasal bir işlemle
    istenmeyen maddeler katmandan uzaklaştırılarak katmana son şekli
    verilir. Bu işlem bütün çip hazır olana kadar her katman için ayrı ayrı
    yapılır. Katmanlardaki yapılar bir metrenin milyonda birinden daha küçük
    olduğu için bir toz tanesi bile (toz tanelerinin boyutları 100
    mikronluk ölçülere kadar çıkabilir ki bu da işlemcideki yapıların 300
    katından daha büyüktür) çok büyük problemler çıkarabilir. Bunun için
    koruyucu giysilerle girilebilen tozsuz odalarda üretim yapılır.

    Başlarda yarı-iletken üretiminde hata payı %50 civarındaydı ve çoğu
    zaman üretilen çiplerin ancak yarıya yakını sağlam çıkıyordu. Bu oran
    %100 olamasa da geliştirilen üretim teknikleriyle günümüzde oldukça
    yükselmiştir. Wafera eklenen her katmandan sonra testler yapılır ve
    hatalar tesbit edilir. Die denen wafer üzerindeki ”çıplak” çipler
    birbirinden ayrılır ve yapılan testlerden sonra sağlam olanlar
    kullanıma uygun şekilde paketlenir. Günümüzde işlemciler PGA(Pin
    Grid Arrays) formunda paketlenir. Bu paketlerde seramik
    bir dörtgenin altına dizilmiş pin denen bağlantı noktaları
    vardır. İşlemci çekirdekleri paketlendikten sonra aşağıdaki gibi
    görünür.
    <blockquote><blockquote><blockquote><blockquote></blockquote></blockquote></blockquote></blockquote>Intel'in
    entegre çip tasarımıyla üretilen ilk işlemcisi olan 4004 10 mikronluk
    bir üretim tekniğiyle üretiliyordu. İşlemci içindeki en küçük yapı bir
    metrenin on milyonda biri kadardı. Günümüzdeyse 0,13 mikronluk üretim
    teknikleri kullanılıyor ve çok yakında 0,1 mikronun da altına inilecek.

    Moore Yasası

    1965 yılında Intel'in kurucularından Gordon Moore'un ortaya attığı Moore
    Yasası'na göre işlemcilerdeki transistör sayısı 18 ayda bir ikiye
    katlanır. Moore, bu yasanın sonraki on yıl boyunca geçerliliğini
    koruyacağını tahmin etmişti ama Intel bu yasayı günümüze kadar
    çiğnemeden devam ettirmeyi aşağıdaki grafikte de görebileceğiniz gibi
    başardı.
    <blockquote><blockquote><blockquote></blockquote></blockquote></blockquote>Fizik
    yasaları, mühendislerin saat hızlarını sonsuza kadar arttırabilmelerini
    engeller. Silikonun sınırlarına neredeyse ulaşılmak üzereyken saat
    hızlarının hala arttığını görüyoruz. Saat hızı her zaman performans
    anlamına gelmiyor, bu yüzden mühendisler işlemcilerin her saat vuruşunda
    daha fazla komutu işleyebilmeleri için de uğraşıyorlar aynı zamanda. 4
    bitlik bir işlemci bile iki tane 32 bitlik sayıyı toplayabilir ama bunun
    için pek çok komutu işlemesi gerekir. 32 bitlik bir işlemci bu
    toplamayı tek bir komutla yapabilir.

    İşlemcilerin saat vuruşlarında işlem yaptıklarını söylemiştik. Normal
    yöntemlerle bir komutu yüklemek, çözmek, kullanacağı veriyi almak,
    çalıştırmak ve son olarak da sonucu yazmak için beş saat vuruşu gerekir.
    Bu sorunu çözmek için günümüz işlemcileri pipelining denen teknolojiyi
    kullanılır. Bu teknolojide bir işlemi yapmak için değişik aşamalar ard
    arda dizilir ve bir işlemin bir aşaması yapılırken boştaki kaynaklarla
    da başka bir işlemin herhangi bir aşaması yapılabilir. Bu teknolojiyle
    bir komutu tek bir saat vuruşunda bitirebilmek mümkün olur. Superscalar
    denen bir mamariyle paralel pipellinelar kullanılarak performans daha
    da arttırılabilir. Bu konudaki son gelişme Intel'in Hyperthreading teknolojisidir.
    Komutları paralel olarak çalıştırmak için çift işlemciye ihtiyaç
    duyulur. Bu teknolojideyse olaya şu şeklide yaklaşılır: Komutlar thread
    denen parçalardan oluşur ve çift işlemciyle komut seviyesinde
    paralellik yerine tek işlemciyle thread seviyeinde paralellik sağlanır.
    Komutlar threadlere ayrılır ve bu threadler paralel olarak işlenip
    çıkışta tekrar birleştirirler. Tek bir işlemci tam anlamıyla olmasa da
    belirli bir seviyede çift işlemci gibi çalışır. Bu yöntem sadece tek bir
    işlemcinin kaynakları kullanıldığı için çift işlemcinin yerini tutamasa
    da bazı uygulumalarda belirli bir performans artışı sağlar. En büyük
    dezavantajı komutların parçalanıp tekrar birleştirilmesi sırasında
    kaybedilen zaman yüzünden aynı anda birden çok komutun işlenmesine
    ihtiyaç duymayan programlarda az da olsa performans düşüşü yaşanmasıdır.


    Bir İşlemcinin Performansı

    Bir işlemcinin performansını belirleyenler arasında kullanıcıların en
    çok tartıştıkları aşağıdakilerdir:

    - İşlemci
    Mimarisi
    : Burayı
    çoğu kimse atlasa da en önemli etken budur. Bir işlemcinin bir saat
    döngüsünde ne kadar uzunlukta kaç tane komutu aynı anda işleyebildiğini
    saat hızı ya da önbelleği değil sadece mimarisi belirler.


    - Saat Hızı: İşlemcinin çalışma frekansıdır ve günümüzde GHz
    mertebesine kadar ulaşmıştır. Saat hızı ne kadar yüksek olursa
    saniyedeki saat vuruşu (ve işlemci çevrimi) sayısı da o kadar yüksek
    olacağından saat hızının performansa etkisi oldukça yüksektir. Yalnız
    burada yapılabilecek çok büyük bir hata farklı mimarideki işlemcileri
    saat hızlarına göre karşılaştırmaktır. Saat hızı kullanılarak ancak aynı
    işlemci ailesi içinde gerçekçi karşılaştırmalar yapılabilir. Bir
    işlemcinin saat hızını sistem hızıyla (FSB, Front Side
    Bus) işlemcinin çarpanının çarpımı belirler. Sistem hızı fazla
    yüksek olmasa da işlemci kendi içinde çarpanlarını kullanarak çok daha
    yüksek hızlara çıkabilir. Örneğin oldukça popüler olan 1.8 GHz hızında
    çalışan bir Pentium 4 işlemci 18×100 MHz'te çalışır.


    - L1/L2 Cache: Önemli veriler işlemcinin ihtiyaç anında onlara daha
    hızlı ulaşabilmesi için önbellekte tutulur. 1. seviye önbellek daha
    önceliklidir ve buradaki verileri işlemci daha çok kullanır. Önbellek
    miktarlarını karşılaştırırken işlemci mimarisi yine çok önemlidir.
    Mesela 16 KB L1 cache bir Pentium 4 için yeterliyken aynı performansta
    çalışan bir AMD Athlon işlemcide 128 KB L1 cache bulunur. Önemli olan
    önbelleğin ne şekilde kullanıldığıdır.


    Ham işlemci performansını ifade etmek için MIPS (Million Instructions
    Per Second, saniyede işlenebilen komut sayısı) ve MFLOPS
    (Million Floating Point Operations Per Second,
    saniyede yapılabilen kayar nokta hesabı) birimleri kullanılır ve
    performans konusunda evrensel geçerliliği olan tek kavramlar bunlardır.

    Yazılım Uyumluluğu

    Bilgisayarların ilk günlerinde herkes kendi yazılımını yazdığı için
    işlemci mimarisi biraz daha arkaplandaydı. Geçen zamanla birlikte
    yazılımlar da oldukça gelişti ve bugünse yazılım başlı başına bir
    sektör. Günümüzde her ihtiyacımız için oturup kendi yazılımlarımızı
    hazırlmamamız imkansız, bir o kadar da gereksiz. Belirli bir
    standartlaşmayla beraber işlemcilerin önemi de arttı.

    Günümüz PC'leri Intel 80×86 mimarisini kullanır. Bu mimari 70'li
    yıllardan bugüne kadar gelmiştir, güncel CISC işlemciler hala bu
    mimariyi kullanır. Bu standartlaşmanın sonucu olarak programlar
    işlemcilere göre değil komut setlerine göre yazılır ve 80×86 mimarisine
    göre yazılmış bir programın bir Intel işlemcide çalışıp da bir AMD
    işlemcide çalışmaması (ya da bunun tersi) mümkün değildir. İşlemcilere
    özel bazı ek komut setleri olsa da (SSE, 3D Now! gibi) bunlar sadece
    işlemciye yönelik optimizasyonlardır ve programlar temelde aynıdır.
    80×86 miamarisine göre yazılmış 32 bitlik bir program aynı mimarideki 32
    bitlik bütün işlemciler tarafından sorunsuzca çalıştırılabilir.



    Kod:
    Rar paSSworD: [Linkleri görebilmek için üye olun veya giriş yapın.]






      Forum Saati Perş. Ara. 08, 2016 12:13 am