BLM113 Bilgisayar Bilimlerine Giriş

Slides:



Advertisements
Benzer bir sunumlar
İŞLEMCİ MİMARİLERİ – Derya Işık
Advertisements

BULUT BİLİŞİM GÜVENLİK VE KULLANIM STANDARDI M. Raşit ÖZDAŞ Huzeyfe ÖNAL Zümrüt MÜFTÜOĞLU Ekim 2013.
ODTÜ Bilgisayar Mühendisliği Tanıtım Günleri Temmuz 2005.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Donanım Birimleri.
SAYISAL DEVRELER BÖLÜM-2 Sayı Sistemleri ve Kodlar
SUNUCU İŞLETİM SİSTEMİ Öğr. Gör. Ümit ATİLA.  1980’li yıllardan günümüze geldikçe, bilgi toplumuna yönelişte teknolojik rota, telekomünikasyon ve iletişim.
DONANIM VE YAZILIM.
BSE 207 Mantık Devreleri Sayı sistemleri Sakarya Üniversitesi.
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
İÇİNDEKİLER GRID COMPUTING NEDİR? NASIL ÇALIŞIR? GRID COMPUTING YAPISI
Program Tasarım Modelleri
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
ÇOK BOYUTLU SİNYAL İŞLEME
EK DONANIM KARTLARI.
HARİCİ VERİ DEPOLAMA SİSTEMLERİ. HARİCİ VERİ DEPOLAMA NEDİR?  Harici Veri Depolama: Verilerimizi saklamak ve gelecekte kullanmak amacıyla kullanılan.
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DONANIM VE YAZILIM.
DİJİTAL VATANDAŞLIK NEDİR?
İnternet'e Bağlanmak İçin Neler Gereklidir?
Üretim teknolojisi ve bilişim teknolojisindeki değişim
Mikrobilgisayar Tasarım Yapıları
İŞLETİM SİSTEMLERİ ISE 206 Dr. Tuğrul TAŞCI.
PROGRAMLI ÖĞRETİM Tanımı:
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Donanım ve Sistem Yazılımı
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
Mikroişlemciler Temel I/O Arayüzleri.
Problem Çözme ve Algoritmalar
PROGRAMLAMA TEMELLERİ
BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ
Mikroişlemcili Sistemler ve Laboratuvarı
EKRAN KARTLARI.
Mikroişlemciler Temel I/O Arayüzleri.
BİLGİSAYAR ÇEŞİTLERİ.
Bilgi ve İletişim Teknolojileri
Mikroişlemci Sistemleri
DOSYA BÜYÜKLÜKLERİ İkili Sistem Dosya Büyüklükleri ve Hesaplamalar
Öğretim Görevlisi Emel ALTINTAŞ
Bilgisayar Donanım ve Sistem Yazılımı
STORAGE BÜŞRA KARADENİZ
İŞLETİM SİSTEMLERİ Bilişim Teknolojileri Araçlarında
Bilgisayar nedir? Bilgisayar; Zor ve karışık hesaplar yapabilen büyük miktarlardaki bilgileri depolama kapasitesine sahip otomatik bir cihazdır.
Temel Bilgisayar Bilgileri
PROBLEM ÇÖZME VE ALGORİTMALAR
BİLGİSAYAR NEDİR ? Samet AYDEMİR Metin KARAARSLAN
Bilgisayar Mühendisliğine Giriş
Bilgisayar Mühendisliğine Giriş
Bilgisayar Sisteminin Anatomisi
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
NİŞANTAŞI ÜNİVERSİTESİ
Mikrobilgisayar Tasarım Yapıları
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Bilimi Koşullu Durumlar.
EĞİTİME GİRİŞ Mehmet Akif Ersoy Üniversitesi
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
SABİT DİSKLER.
Bilgi Teknolojileri Hafta 01
Bilgisayar Donanımı BELLEKLER –ROM.
NİŞANTAŞI ÜNİVERSİTESİ
İşlemciler.
Ders 2: Yazılım Geliştirme
NİŞANTAŞI ÜNİVERSİTESİ
Hata ayıklama da denilen programlama hatalarını bulma ve düzelme işlemine ne denir? a) Veri b) Yazılım c) Bug d) Debugging e) Donanım.
BLM113 Bilgisayar Bilimlerine Giriş
NİŞANTAŞI ÜNİVERSİTESİ
Veri Saklama Birimleri
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgehan Arslan, Süreyya Gülnar
Sunum transkripti:

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

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.

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

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ı.

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.

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.

İş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.

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

CPU Temelleri

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.

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.

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.

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).

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.

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

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.

Ö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.

Ö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.

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.

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.

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...

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.

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

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.

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.

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

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.

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.

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.

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.

İş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ı

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

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.

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.

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.

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.

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.

Sanal Makine Dili

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.

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.

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.

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

Sanal makine dilinin komutları

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.

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.

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

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

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

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