Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BLM113 Bilgisayar Bilimlerine Giriş

Benzer bir sunumlar


... konulu sunumlar: "BLM113 Bilgisayar Bilimlerine Giriş"— Sunum transkripti:

1 BLM113 Bilgisayar Bilimlerine Giriş
Ankara Üniversitesi Bilgisayar Mühendisliği Bölümü

2 Bölüm 2: Veri İşleme Bu bölümde, bir bilgisayarın veriyi nasıl işlediğini ve yazıcı, klavye gibi çevresel birimlerle nasıl haberleştiğini öğreneceğiz.

3 Bölüm 2: Veri İşleme Bu bölümde ele alınan konular;
Bilgisayar mimarisi Makine dili Program yürütme

4 2.1 Bilgisayar Mimarisi Bir bilgisayarda verinin işlenmesini kontrol eden devreye merkezi işlem birimi (CPU) veya kısaca işlemci adı verilir. 20 yy ortalarında üretilen CPU lar raf sistemine yerleştirilen elektronik devrelerden oluşmaktaydı.

5 2.1 Bilgisayar Mimarisi Günümüzde masaüstü yada dizüstü bilgisayarlarda kulolanılan CPU’lar küçük yassı, kare formlu yaklaşık 5X5 lik entegreler şeklinde üretilmektedir. Bu entegrelerin bağlantı bacakları makinenin ana devre kartı üzerinde bulunan bir sokete yerleştirilir.

6

7 2.1 Bilgisayar Mimarisi Akıllı telefonlar ve diğer mobil internet cihazlarında bulunan CPU lar ise yaklaşık olarak bir posta pulunun yarı ebatlarındadır. Küçük boyutlarından ötürü bu işlemcilere mikroişlemci adı verilir.

8 İşlemciler aslında transistör adını verdiğimiz yarı iletken elemanların birleştirilmesi ile oluşturulmuş devrelerdir. Başlarda 2000 transistör birleştirilerek yapılan işlemciler, teknolojinin gelişmesi ise 1 Milyar ve daha fazla transistör birleştirilerek yapılabilir bir seviyeye gelmiştir. Elektrik sinyalleri bu devreler üzerinde hareket eder Bilgisayarın yaptığı tüm işlemler; elektrik sinyalleri vasıtasıyla gerçekleşir. Devrede elektrik sinyalinin olması “1”, elektrik sinyalinin olmaması “0” ile ifade edilir.

9 CPU Temelleri Bir CPU 3 bölümden oluşur. Bunlar;
Aritmetik ve Mantık Birimi Kontrol Birimi Yazmaç Birimi

10 CPU Temelleri

11 CPU Temelleri Aritmetik/Mantık Birimi:
Aritmetik ve mantık işlemlerini gerçekleştiren bir dijital devredir. AMB en basit işlemi gerçekleştiren mikro denetleyiciden, en karmaşık mikroişlemciye sahip bir bilgisayara kadar tüm işlemcilerin yapı taşıdır. Modern bilgisayarların içinde bulunan mikroişlemcilerin ve ekran kartlarının içinde çok karışık ve güçlü AMB’ler bulunmaktadır.

12 CPU Temelleri Kontrol Birimi:
Bilgisayarda yapılan tüm işlemleri kontrol eden birimdir. Giriş ve çıkış birimlerinin denetimini, bellek ile ilgili işlemleri, komutların yorumlanmasını ve bilgisayarın bir bütün olarak çalışmasını sağlar.

13 CPU Temelleri Yazmaç Birimi:
CPU’nun içinde bilgilerin geçici olarak depolanması için kullanılan ve yazmaç adı veri depolama hücrelerinden oluşan birimdir. Yazmaçlar genel amaçlı yazman ve özel amaçlı yazmaç olarak iki bölüme ayrılır.

14 Genel Amaçlı Yazmaç(Saklayıcı)
Genel amaçlı yazmaçlar CPU tarafından işlenen verinin geçici olarak saklanması için kullanılırlar. Bir saklayıcı (register) bir flip-flop’un birden fazla bit (tutacak) saklayacak halde geliştirilmiş halidir. Saklayıcılar genellikle işlemcilerde geçici saklama işi olarak kullanılır (temporary storage).

15 Genel Amaçlı Yazmaç(Saklayıcı)
Ana bellekte saklanan bir verinin üzerinde bir işlem gerçekleştirmek için kontrol birimi sırasıyla ilgili veriyi bellekten genel amaçlı yazmaçlara taşır. Verinin hangi yazmaçta olduğunu aritmetik/mantık birimine bildirir. Aritmetik mantık birimindeki uygun devreyi aktif hale getirir ve aritmetik/mantık birimi işlem sonucunun hangi yazmaca yazılacağını söyler.

16 Bellekte yer alan iki sayının toplanması
Adım 1: toplanacak sayılardan birini bellekten al ve yazmaca yerleştir. Adım 2: Bellekten diğer sayıyı al ve başka bir yazmaca yerleştir. Adım 3: Adım 1 ve 2 deki yazmaçları giriş olarak kullanacak ve sonucu başka bir yazmaca yazacak şekilde toplama devresini çalıştır. Adım 4: Sonucu belleğe kaydet Adım 5: Dur

17 Veriyolu (Data Buses) İşlemci, hafıza elemanları ve çevresel birimlerle çift yönlü veri akışını sağlar. Birbirine paralel iletken hat sayısı veri yolunun kaç bitlik olduğunu gösterir. Örneğin, iletken hat sayısı 64 olan veri yolu 64 bitliktir. Yüksek bit sayısına sahip veri yolları olması sistemin daha hızlı çalışması anlamına gelir.

18 Önbellek Cpu ön bellek işlemcinin hemen yanında bulunan ve ana belleğe oranla çok düşük kapasiteye sahip olan bir yapıdır. işlemcinin sık kullandığı veri ve uygulamalara en hızlı biçimde ulaşmasını sağlamak üzere tasarlanmıştır. İşlemcinin ön belleğe erişmesi, ana belleğe erişmesine oranla çok kısa bir süredir. Eğer aranan bilgi ön bellekte yoksa işlemci ana belleğe başvurur. Yani önce ön belleğe bakmak çok kısa bir zaman alır.

19 Önbellek Bellek kontrolörü işlemciden gelen istemleri önbelleğe kaydeder, işlemci her istemde bulunduğunda ön belleğe kaydedilir ve en fazla yapılan istem listenin en üstüne yerleşir buna "cache hit" adı verilir. Önbellek dolduğunda ve işlemciden yeni istem geldiğinde; sistem, uzun süredir kullanılmayan kaydı siler ve yeni istemi kaydeder. Böylece sürekli kullanılan işlemler daima önbellekte tutulur ve az kullanılan işlemler önbellekten silinir.

20 2.2 Makine Dili Makine dili, işlemcinin verilen komutlar doğrultusunda çalıştırılmasını sağlayan ve işlemci mimarisine göre değişen en alt seviyedeki programlama dilidir. bu dil sadece 0 ve 1 ikililerinin anlamlı kombinasyonlarından meydana gelmektedir. Bu nedenle, makine dilinin anlaşılması çok güçtür.

21 Komut Listesi Sıradan bir CPU’nun çözmek ve yürütmek zorunda olduğu makine komutlarının listesi oldukça kısadır. Gerçekte, bir bilgisayar sistemi belirli temek görevleri yerine getirebiliyorsa yeni özellikler eklemek sistemin teorik kapasitesini artırmaz. Başka bir deyişle, belli bir noktadan sonra yeni özellikler eklemek sistemin bazı özellikleri daha kolay gerçekleştirmesini sağlar ama sistemin temel kapasitesine bir katkı sağlamaz.

22 CPU Mimarileri İşlemci tasarımları iki farklı mimaride şekillenir:
CISC (Complex Instruction Set Computer)(Karmaşık komut takımlı bilgisayar)  -Intel, AMD vb... RISC (Reduced Instruction Set Computer)(indirgenmiş komut tabanlı bilgisayar)  -Power PC, Sun Sparc vb...

23 CISC Mimarisi CISC (Complex Instruction Set Computer), geleneksel bilgisayar mimarisidir. 70’li yıllarda geliştirilen bu mimari, programlanması kolay ve etkin bellek kullanımı sağlayan tasarım felsefesinin ürünüdür.

24 Derleme Çözme İşleme Yüksek Düzeyli Dil Makine Dili Mikrokod ALU,
Yazılım Derleme Makine Dili Çözme Mikrokod Donanım İşleme ALU, Registerler… CISC tabanlı bir işlemcinin çalışma biçimi

25 RISC Mimarisi Bu mimari, CISC mimarili işlemcilerin kötü yanlarına piyasanın tepkilerine cevap olarak tasarımcı firmalardan IBM, Apple ve Motorola tarafından sistematik olarak tasarlanmıştır.

26 RISC Mimarisi RISC mimarisinin 3 felsefesi vardır:
Bütün komutlar tekbir çevrimde çalıştırılmalıdır. Belleğe sadece Load ve Store komutlarıyla erişilmelidir. Bütün icra işlemleri Mikrokod kullanmadan donanımdan çalıştırılmalıdır.

27 Ana Bellek Ana Bellek Ön Bellek Komut ve Veriyolu Veriyolu Kontrol
CISC Modeli RISC Modeli Ana Bellek Ana Bellek Ön Bellek Komut Ön Belleği Veri Ön belleği Komut ve Veriyolu Veriyolu Donanım Kontrol Kontrol Birimi Mikrokod ROM

28 CISC Mimarisinin Avantajları
Mikro programların yürütülmesi kolaydır. Geriye doğru uyumludur. Mikrokod ROM’A eklenen her bir komut ile CPU daha yetenekli olmaya başlamakta ve verilen bir görevi yürütmek için daha az zaman harcamaktadır.

29 RISC Mimarisinin Avantajları
Azaltılmış komut kümesi sayesinde daha hızlı çalışırlar. Komut kümesi az olunca donanımsal basitlik söz konusudur. CISC işlemcilere göre daha çabuk tasarlanabilirler.

30 CISC Mimarisinin Dezavantajları
CPU yapısı her kuşak işlemci ile beraber daha karmaşıklaşmıştır. Farklı komutlar farklı sayıda saat çevrimine gerek duyacaklarından performans düşmesi gözlenir.

31 RISC Mimarisinin Dezavantajları
RISC işlemcinin performansı işlediği kodun algoritmasına çok bağlıdır. Eğer programcı veya derleyici komut programlamada zayıf kalırsa, işlemci atıl durumda kalarak bir parça gecikme oluşturulur.

32 İşlemci Komutları Bir işlemcinin komutları RISC ve CISC olmasına bakılmaksızın üç gruba ayrılırlar. Veri aktarma komutları Aritmetik ve mantık komutları Kontrol komutları

33 Veri Aktarma Komutları
Bu grupta verinin bir yerden başka bir yere aktarılmasını sağlayan komutlar yer alır.

34 Aritmetik Mantık Komutları
Bu grup; işlemci içerisindeki kontrol birimine, aritmetik ve mantık biriminde bir işlem gerçekleştirilmesini söyleyen komutlardan oluşur. Bu işlemler basit matematik işlemleri ile AND,OR gibi mantıksal işlemlerdir.

35 Kontrol Komutları Bu gruptaki komutlar veriyi işlemek yerine programın çalışmasını yönetirler. Koşullu atlama, koşulsuz atlama gibi komutlar bu gruba girmektedir.

36 Sanal Makine Dili Sanal bir bilgisayar komutları nasıl kodluyor?
Bu amaç için kullanılacak bilgisayar sisteminde 16 adet genel amaçlı yazmaç ve her biri 8 bit kapasiteye sahip olan 256 adet ana bellek hücresi bulunmaktadır.

37 Sanal Makine Dili Yazmaçlar 0-15 arasında sayılarla etiketlendirilirken, bellek hücrelerine 0 dan 255 e kadar adres değerleri verilmiştir. Kolaylık açısından bu adres ve etiket değerleri 16lık sayı düzeninde gösterilebilir. Bu durumda, yazmaçlar 0-F arasındaki sayılarla etiketlenirken, bellek adresleri 00 başlayıp FF de son bulur.

38 Sanal Makine Dili Bir makine komutunun kodlanmış hali 2 bölümden oluşur: İşlem kodu (op-code) ve işlenen (operand). İşlem kodu bölümünde yer alan bitler komutun hangi temel işlemi (KAYDET, KAYDIR veya ATLA gibi) gerçekleştireceğini belirtir. İşlenen bölümü ise işlem koduyla belirlenen işlem hakkında daha detaylı bilgi verir.

39 Sanal Makine Dili

40 Sanal Makine Dili Bu bölümde ele aldığımız sanal makine dili sadece 12 temel komut içermektedir. Bu komutların her biri 16 bit olarak kodlanmıştır ve 4 basamaklı 16lık sistem sayıları ile gösterilebilirler.

41 Sanal Makine Dili Her komutun ilk 4 biti, başka bir ifadeyle ilk onaltılık basamağı, işlem kodudur. Bu işlem kodları 1-C arasındaki onaltılık işlem kodlarıyla gösterilir.

42 Sanal Makine Dili Kitaptaki EK-C de kodların tamamı verilmiştir. Bu tablo incelendiğinde, onaltılık sistemdeki 3 rakamıyla başlayan komutların KAYIT işlemi, onaltılık sistemdeki A rakamıyla başlayan komutların ise ÇEVİRME işlemi olduğu görülür.

43 EK-C ÖZet 1 yükle 2 yükle 3 kaydet 4 taşı 5 topla
6 Kayan noktalı topla 7 or uygula 8 topla ve yerleştir. 9 OR uygula A 1 bit sağa kaydır B ATLA C DUR

44 Sanal makine dilinin komutları

45 Sanal makine dilinin komutları
Sanal makine dilindeki komutların işlenen bölümü 3 adet 16lık basamaktan yani 12 bitten oluşur ve işlem koduyla belirten işlemi açıklar. Örneğin 35A7 işleminde 3 işlem kodu bir yazmacın içeriğinin, bir bellek hücresine yazılacağı anlamına gelir. 5 İşlenen bu bölümü hangi yazmacın içeriğinin belleğe kayıt edileceğini belirtir. A7 İşlenenin bu bölümü verinin kayıt edileceği bellek hücresinin adresini verir.

46 Program Yürütme Bir bilgisayar belleğinde bulunan bir komut programı belli sırayla CPU ya kopyalayarak çalıştırır. CPUya alındıktan sonra çözülür ve komutun gerektirdiği işlem gerçekleştirilir. CPU görevini, bilgisayar çevrimi adı verilen 3 adımlık bir işlemi sürekli tekrar ederek gerçekleştirir.

47 Program Yürütme Bu 3 adım Getir(fetch), çöz(decode) ve yürüt (execute) komutlarıdır.

48 2 sayının toplanması örneği

49 2 sayının toplanması örneği

50 2 sayının toplanması örneği


"BLM113 Bilgisayar Bilimlerine Giriş" indir ppt

Benzer bir sunumlar


Google Reklamları