Bilgisayarlar

JAVA ile Nesne Yönelimli Programlama
Veri temsiliMetinSaklanan programCPU ve bellekSoyutlama
Sercan KÜLCÜ · Giresun Üniversitesi

Giriş

Öğrenme Çıktıları

Sayı temsili

İkili sayıların ve sınırlı bit sayısının sonuçlarını açıklamak.

Metin temsili

ASCII, Unicode ve dizge kavramlarını ayırt etmek.

Program yürütme

Saklanan program ve getir-çöz-çalıştır döngüsünü açıklamak.

Mimari

CPU, bellek, yazmaç ve veri yolu ilişkisini yorumlamak.

Giriş

Bilgisayarın Temel Parçaları

Giriş
CPU
Bellek
Çıkış
CPU

Komutları yürütür.

Bellek

Veri ve komutları saklar.

Giriş / çıkış

Dış dünya ile veri alışverişi sağlar.

Veri Temsili

Bilgiden Bitlere

Sayılar, harfler, görüntüler ve program komutları bellekte bit dizileri olarak saklanır. Bit dizisinin anlamını veri türü ve kodlama belirler.

Gerçek dünya bilgisi
Kodlama
Bit dizisi
Program işlemi
Anlamlı çıktı

Veri Temsili

İkili Sayılar

12³=812²=402¹=212⁰=1
1101₂ = 8 + 4 + 1 = 13₁₀

n bit, işaretsiz olarak 0 ile 2n−1 arasındaki değerleri gösterebilir.

Veri Temsili

Taban Kavramı

SistemTabanRakamlarÖrnek
İkili20–11101₂
Sekizli80–715₈
Onluk100–913₁₀
Onaltılık160–9, A–FD₁₆

Veri Temsili

Negatif Tam Sayılar

Modern bilgisayarlar negatif tam sayıları çoğunlukla ikiye tümleyen gösterimle saklar.

Tek sıfır

Pozitif ve negatif sıfır ayrımı oluşmaz.

Aritmetik

Toplama devreleri pozitif ve negatif sayılarda aynı kuralları kullanabilir.

n bit aralığı

−2ⁿ⁻¹ ile 2ⁿ⁻¹−1 arasındadır.

8 bit: −128 … 127

Veri Temsili

Ondalıklı Sayılar

Kayan nokta

Çok büyük ve çok küçük değerleri bilimsel gösterime benzer biçimde saklar.

Sınırlı hassasiyet

Her ondalık değer sonlu bitlerle tam temsil edilemez.

Yuvarlama

Hesaplama sonuçlarında küçük farklar oluşabilir.

Karşılaştırma

Ondalıklı sonuçlar tolerans değeriyle karşılaştırılabilir.

0.1 + 0.2  ≈  0.30000000000000004

Metin Temsili

ASCII

ASCII, temel Latin harflerini, rakamları, noktalama işaretlerini ve kontrol karakterlerini sayısal kodlarla eşleştirir.

A

65

01000001
a

97

01100001
0

48

00110000
Satır sonu

Kontrol karakteri

LF

Metin Temsili

Unicode

Unicode, farklı yazı sistemlerindeki karakterlere benzersiz kod noktaları atar.

Kod noktası

Karakterin evrensel numarasıdır.

A → U+0041
UTF-8

Unicode karakterlerini değişken uzunlukta byte dizileriyle kodlar.

Geniş kapsam

Türkçe karakterler, farklı alfabeler, matematik sembolleri ve emoji.

Dosya kodlaması

Aynı kod noktası farklı Unicode dönüşüm biçimleriyle saklanabilir.

Metin Temsili

Dizgeler

Dizge (string), sıralı karakterlerden oluşan veri türüdür.

Uzunluk

Karakter veya kod birimi sayısı.

Birleştirme

İki dizgeyi ardışık hale getirme.

"Merhaba " + "Dünya"
Arama

Bir karakteri veya alt dizgeyi bulma.

Karşılaştırma

İçerik ve sıralama ilişkisini denetleme.

Unicode'da ekranda görünen sembol sayısı ile bellekteki kod birimi sayısı her zaman aynı değildir.

Veri Temsili

Yapılandırılmış Bilgi

Bitler daha büyük yapılar içinde düzenlenerek anlam kazanır.

Bit
Byte
Karakter
Alan
Kayıt
Dosya / veri tabanı
  • Bir öğrenci kaydı numara, ad ve not alanlarından oluşabilir.
  • Dosya biçimi, alanların nasıl sıralandığını ve yorumlandığını tanımlar.

Bilgisayar Mimarisi

Saklanan Program Kavramı

Program komutları ve işlenecek veriler aynı bellekte sayısal kodlar olarak saklanabilir. İşlemci, bellekteki komutları sırayla okuyup yürütür.

Esneklik

Aynı donanım farklı programlarla farklı görevler yapar.

Güncelleme

Davranış donanımı değiştirmeden yazılımla değişebilir.

Genel amaçlılık

Tek sistem hesaplama, iletişim ve medya görevlerini yürütebilir.

Bilgisayar Mimarisi

Bellek Hiyerarşisi

Yazmaçlar · işlemcinin içindeÖnbellek · çok hızlı erişimRAM · çalışan programlarSSD / HDD · kalıcı saklama

Üst katmanlar daha hızlı ve küçük; alt katmanlar daha yavaş ve büyüktür.

Bilgisayar Mimarisi

Getir–Çöz–Çalıştır Döngüsü

Getir (Fetch)
Çöz (Decode)
Çalıştır (Execute)
Sonucu yaz
  • Program sayacı bir sonraki komutun adresini tutar.
  • Kontrol birimi komut kodunu yorumlar.
  • ALU veya başka bir birim işlemi gerçekleştirir.

Bilgisayar Mimarisi

CPU'nun Temel Bölümleri

Kontrol birimi

Komutların sırasını ve veri hareketini yönetir.

ALU

Aritmetik ve mantıksal işlemleri yapar.

Yazmaçlar

İşlem sırasında kullanılan küçük ve hızlı depolama alanlarıdır.

Önbellek

Sık kullanılan veri ve komutları işlemciye yakın tutar.

Bilgisayar Mimarisi

Veri Yolları

YolGörev
Veri yoluCPU, bellek ve aygıtlar arasında veriyi taşır.
Adres yoluİşlem yapılacak bellek veya aygıt konumunu belirtir.
Kontrol yoluOkuma, yazma ve zamanlama sinyallerini taşır.

Bilgisayar Mimarisi

Bellek Adresleri

Adresİçerik
1000LOAD 1003
1001ADD 1004
1002STORE 1005
100312
10048
  • Her bellek hücresinin bir adresi vardır.
  • Komutlar adres kullanarak veriye ulaşır.
  • Aynı bit dizisi komut veya veri olarak yorumlanabilir.

Bilgisayar Mimarisi

von Neumann Mimarisi

Giriş / çıkış
Bellek
CPU
Giriş / çıkış
  • Program komutları ve veriler ortak bellekte tutulur.
  • CPU komutları sırayla işler; dallanma komutları bu sırayı değiştirebilir.
  • CPU ile bellek arasındaki aktarım hızı sistem performansını sınırlayabilir.

Bilgisayar Mimarisi

Komutların Kodlanması

Makine komutu genellikle yapılacak işlemi ve kullanılacak değer veya adresleri belirtir.

Opcode

İşlemin türünü tanımlar.

ADD
Operand

İşlemde kullanılacak yazmaç, değer veya adres.

R1, R2
Komut biçimi

Bit alanlarının sayısını ve yerini mimari belirler.

Komut kümesi

İşlemcinin doğrudan anlayabildiği komutların tamamı.

Programlama

Programlama Soyutlama Düzeyleri

Problem ve algoritmaYüksek seviyeli dil · JavaDerleyici / sanal makineAssemblyMakine komutlarıSayısal devreler

Programlama

Yüksek Seviyeli Dil ve Assembly

Java
int total = a + b;

İnsan tarafından okunabilir, taşınabilir ve üretkenlik odaklıdır.

Assembly
LOAD R1, a
ADD  R1, b
STORE total, R1

Belirli işlemci mimarisine yakın ve ayrıntılıdır.

Bilgisayar Mimarisi

Mimari Sınırlar

Sonlu bellek

Aynı anda saklanabilecek veri miktarı sınırlıdır.

Sonlu hız

Her komut zaman ve enerji tüketir.

Temsil hataları

Sınırlı bit sayısı taşma ve yuvarlama üretebilir.

Veri darboğazı

CPU, bellekteki veriyi beklerken boş kalabilir.

Paralellik sınırı

Her problem eşit ölçüde paralelleştirilemez.

Güvenlik

Program ve veri aynı sistem kaynaklarını paylaştığı için yalıtım gerekir.

Özet

Bölüm Özeti

  • Bilgisayar bütün verileri bit dizileriyle temsil eder.
  • İkili gösterim tam sayılar için kesin, kayan nokta bazı ondalıklar için yaklaşık olabilir.
  • ASCII ve Unicode karakterleri sayısal kodlarla eşleştirir.
  • Saklanan program yaklaşımında komutlar ve veriler bellekte tutulur.
  • CPU, komutları getir-çöz-çalıştır döngüsünde yürütür.
  • Yüksek seviyeli diller donanım ayrıntılarını soyutlar.

Özet

Kontrol Soruları

  1. 1101₂ sayısı onluk sistemde kaçtır?
  2. 8 bit işaretli tam sayı aralığı nedir?
  3. ASCII ile Unicode arasındaki temel fark nedir?
  4. Program komutlarının bellekte saklanması hangi avantajı sağlar?
  5. Veri, adres ve kontrol yollarının görevleri nelerdir?
  6. Java kodu işlemcinin anlayacağı komutlara nasıl dönüşür?

Özet

Kaynaklar

  • Kaynak sunum: Bölüm 1: Bilgisayarlar.
  • Patterson ve Hennessy, Computer Organization and Design.
  • Bryant ve O'Hallaron, Computer Systems: A Programmer's Perspective.
  • Unicode Consortium, The Unicode Standard.
  • IEEE 754, Floating-Point Arithmetic.

Son

Bilgisayarlar
1 / 1Sercan KÜLCÜ, Tüm hakları saklıdır.

← → veya boşluk ile gezinin · F: tam ekran · Home/End: ilk/son slayt