650 likes | 1.03k Views
Bir Bilgisayar Nasıl Çalışır?. Bit & Byte. Bir Bilgisayarı Neler Oluşturur ?. Bilgisayar gibi düşündüğümüzde ilgilenmemiz gereken 3 alan bulunur Hardware: Bilgisayarın fiziksel kısmı System Software: Donanımı kullanmak ve kontrol etmek için kullanılan genel program (OS / İşletim Sistemi)
E N D
Bir Bilgisayar Nasıl Çalışır? Bit & Byte
Bir Bilgisayarı Neler Oluşturur? • Bilgisayar gibi düşündüğümüzde ilgilenmemiz gereken 3 alan bulunur • Hardware: Bilgisayarın fiziksel kısmı • System Software: Donanımı kullanmak ve kontrol etmek için kullanılan genel program (OS / İşletim Sistemi) • Application Software: Bilgisayarı çalıştıran veri ve uygulamalar
Bilgisayar Ana Ünitesi İçindeki Bileşenler • Processor (İşlemci) • Memory (Hafıza) • Anakart • Adaptör Kartları • Ses Kartı • Ekran kartı • Portlar • Sabit disk veya optik sürücülerve yuvaları • Power Supply (Güç kaynağı) Drive Bays Power Supply Processor Ports Memory Sound Card Video Card
İşlemci / Processor • CPU bilgisayarın beynidir • Tüm aritmetik işlemler • I/O birimleri yönetimi • Hafıza ve HDD üzerindekibilgi akışının organizesi • Kontrol işaretlerini üretme • Komutları yorumlama • Komutları işleme • CPU 2 ana bölümden oluşur • Control Unit • Arithmetic Logic Unit (ALU) İşlemci KontrolBirimi Aritmetik Birim (ALU) KomutlarVeriBilgi Hafıza(Bellek) Veri Bilgi Giriş Aygıtları Çıkış Aygıtları Komutlar VeriBilgi Depolama Aygıtları
İşlemcinin Ana Çalışma Döngüleri Bellek (RAM) 4. Evre: StoreSonuçlarhafızayageriyazılır 1. Evre: Fetch Veri yada programkomutlarıhafızadan alınır İşlemci İşlem Birimi (ALU) Kontrol Birimi 3. Evre: ExecuteKomutlarişlenir 2. Evre: DecodeAlınan komutlar yorumlanır
System Kristali / Saati (Clock) • Tüm bilgisayar işlemlerinin zamanlamasını kontrol eder • Sistemde çalışan parçaların senkron bir şekilde çalışması için düzenli elektronik pulse yada tick oluşturur • Sistem saatinin hızı clock speed ile ifade edilir • Genellikle saat hızları gigahertz’ler (GHz) seviyesindedir • 1 GHz, saniyede sistem saatinin bir milyar darbe oluşturmasıdır
Veri Gösterimi, İkili Sistem ve Bit Kavramı • Bilgisayarda veriler “digital” şekilde, yani ikili tabanda gösterilir • Bilgisayarlar yanlızca 1 ve 0 değerleri üzerinde işlem yaparlar • 1 ve 0, “on/off” veya “açık/kapalı” durumlarını tanımlar • Bu iki durumu tanılamak için ikili (binary) sistem kullanılır • İkili sistem 1 ve 0 sayılarındanoluşan matematiksel bir sayma sistemidir. • Her sayıya “binary digits”kelimelerinin kısaltılmışı olan “Bit” denir
Byte Kavramı • 8 Bit’in gruplanması ile oluşturulan birimdir • Veriler Byte ve Byte’ın katları olarak depolanır (KB, MB, GB) • 256 farklı karakterin gösterimi için “1” ler ve “0” lardan oluşan yeterli farklı kombinasyonu sağlar • Numaralar • Büyük ve küçük harfler • Noktalama işaretleri
Onlu (Decimal) Gösterim • Her basamak için 10 olası değer (0-9) • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ??? • Sonra ne yaparız? • En sağdaki basamak birler basamağı (0’dan 9’a), • Sonraki onlar basamağı (10’dan 90’a), • Sonraki yüzler basamağıdır (100 den 900 e) • vb... • 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, …, 98, 99, 100, vb. • Örneğin, 506 • 6 bir, 5 yüz • (6 x 100) + (0 x 101) + (5 x 102) = 506 • (6 x 1) + (0 x 10) + (5 x 100) = 506
İkili (Binary)Gösterim • Her basamakta sadece 2 olası değer (0 veya 1) • 0, 1, ??? • Sonra ne yaparız? • En sağdaki basamak birler basamağı (0 ve 1), • Sonraki ikiler basamağı (1’den 2’ye), • Sonraki dörtler basamağı (1’den 4’e) • vb... • 0, 1, 1 0, 1 1, 1 0 0, 1 0 1, …, 1 1 0 1, 1 1 1 1, vb. • Örneğin, 1 1 0 • 1 iki, 1 dört • (0 x 20) + (1 x 21) + (1 x 22) = 1 1 0 • (0 x 1) + (1 x 2) + (1 x 4) = 1 1 0
Veri Gösterimi (Input/Output) Bir harf nasıl ikili sisteme çevrilir ve geri döndürülür Adım 2.“D” harfi için elektronik sinyal sistem ünitesine gönderilir Adım1.Kullanıcı klavyeden “D” (shift+D) tuşuna basar Adım 3.“D” harfi için sinyal ASCII ikili koda (01000100) dönüştürülür ve işlenmek için hafızada saklanır Adım4. “D” harfinin ikili kodu üzerindeişlem yapıldıktan sonra kod görüntüye çevrilir ve çıkış aygıtında gösterilir
ASCII Nedir? • ASCII: American Standard Code for Information Interchange • Latin alfabesi üzerine kurulu 7 bitlik bir karakter setidir • ANSI X3.110-1963 adıyla bir standart olmuştur • Sembolleri gösterebildiğimiz tekyolun bu olmadığına dikkat edin Symbol DecimalBinary 7 55 00110111 8 56 00111000 9 57 00111001 : 58 00111010 ; 59 00111011 < 60 00111100 = 61 00111101 > 62 00111110 ? 63 00111111 @ 64 01000000 A 65 01000001 B 66 01000010 C 67 01000011
EBCDIC Nedir? • EBCDIC: Extended Binary Coded Decimal Interchange Code • IBM tarafından kullanılan bir karakter kümesi ailesidir • Daha çok OS/360 işletim sistemi ve S/390 sunucularında kullanılır • Harf, rakam, işaretleri karşılayan 256 farklı sembolü kodlayabilir ASCII Symbol EBCDIC 00110000 0 11110000 00110001 1 11110001 00110010 2 11110010 00110011 3 11110011
RAM Nedir? • RAM = Random Access Memory • İşlem sırasında kullanılacak verilerin saklandığı alandır • Kalıcı depolama amacıyla kullanılmaz • Performans ve yazılım desteği açısından yeterli ve kaliteli RAM’e sahip olmak kritiktir derecede önemlidir
Program Komutları ve RAM İşletim Sistemi Komutları İşletim Sistemi Arayüzü Adım 1: Windows’u açmak Web Tarayıcı Ekranı Web Tarayıcı Program Komutları Adım 2: Internet tarayıcı yazılımını açmak Word Yazılımı Program Komutları Word Yazılımı veWeb Tarayıcı Ekranı Adım 3: Word yazılımını açmak Web Tarayıcı Program Komutları Adım 2: Internet tarayıcı yazılımını kapatmak Kelime İşlemProgramı Ekranı
Yarı İletken Hafıza • Uçucu: RAM (Random Access Memory) • Her hafıza alanına eşit hız ile ulaşabilir • İsim yanıltıcıdır, ROM da aynı şekilde çalışır • Static (SRAM) vs. Dynamic (DRAM) güç tüketimine ve hıza etki eder • SRAM genellikle düşük güç tüketimi, hızlı • DRAM genellikle sistem hafızası olarak kullanılır • Birçok DRAM türü günümüzde kullanılmaktadır: SDRAM, DDR SDRAM, RDRAM, vb. • Kalıcı: ROM (Read Only Memory) • Her hafıza alanına eşit hız ile ulaşabilir • İçindeki verileri güç kesilse de koruyabilir
Salt Okunur Hafıza (ROM) • ROM: Read-Only Memory • Kalıcı veri ve komutları depolayan hafıza çipidir • ROM’lar üzerinde bulunan veri özel işlemler uygulanmadan değiştirilemez • Veriyi elektrik bağlantısı kesilse de saklar • Firmware: Kalıcı yazılmış veri, komut yada bilgiden oluşur
Hafıza Ölçüm Birimleri • Byte (B) = 8 bit • Kilobyte (KB) = 1024 Byte • Megabyte (MB) = 1024 KB = 1,048,576 Byte • Gigabyte (GB) = 1024 MB = 1,073,741,824 Byte • Terabyte (TB) = 1024 GB = 1,099,511,627,776 Byte
Basit Bilgisayar nasıl çalışır ? • 1. Adım: Komut sayacının değerine bakmak (Program Instruction Counter) • 2. Adım: Sayacın gösterdiği konuma bakarak program komutunu okumak • 3. Adım: İlgili işlemi gerçekleştirmek • 4. Adım: Komut sayacını 1 arttırmak • Bunun için kamut sayacı increment komutunu kendi üstünde yürütür • Bazı komutlar için bu adım atlanır • Branch’lar (dallanmalar) daha sonra tanıtılacak) • Dur denene kadar tekrarlama
Örnek CPU Komutlar • İşlem komutları • Add (Hafıza konumunda belirtilen sayıları topla) • Subtract (Hafıza konumunda belirtilen sayıları çıkar) • Hafıza komutları • Store (Hesap Makinesi Sonucu Hafıza Alanı) • Load (Hesap Makinesi Hafıza Alanındaki Değer) • Giriş / Çıkış komutları • Get (Giriş Değeri Hesap Makinesi) • Put (Hesap Makinesi Çıkış Alanı) • Dur
Makine Dilinde Örnek Bir Program • Programlar, çok basit bir şekilde sıralanmış komutlardır • Dikkatli küçük bir çocuk bile komutları takip edebilir. • İki sayıyı toplayan makine dilinde örnek bir yazılım: Get 2 Girdi aygıtından 2 değeri okunur Add 2 Okunan değerin, yani 2’nin üzerine 2 eklenir Put Elde edilen 4 değeri çıktı aygıtına gönderilir Stop Döngü bitirilir
Akış Şemasından Programa • Add • Hafıza Konumunda Belirtilen Sayıları Topla • Subtract • Hafıza Konumunda Belirtilen Sayıları Çıkar • Store • İşlemcideki Kaydedici > Hafıza Alanı • Load • İşlemcideki Kaydedici < Hafıza Alanındaki Değer • Get • Giriş değeri > Kaydedici • Put • Kaydedici > Çıkış Alanı Get 2 Add 2 Put Stop
0. Get İlk sayıyı al 1. Store 06 ilk sayıyı 6. konuma kaydet 2. Get ikinci sayıyı al 3. Add 06 6. Hafıza gözündeki ikinci sayıyı akümülatördeki değerle topla 4. Put Sonucu geçici alana yaz; buradan çıkışa aktar 5. Stop Programın Gözden Geçirilmesi
Branch (Dallanma) Komutları • Branch komutları program sayacının değerini değiştirir • Unconditional / Koşulsuz Branch: Program sayacına koşulsuz yeni bir değer yükler • Branch Zero: Program sayacını sadece akümülatördeki sonuç “0” ise değiştirir • Branch Positive: Program sayacını sadece akümülatördeki sonuç pozitif ise değiştirir • Branch Zero ve Branch Positive’de koşullar sağlanmıyorsa komut sayacı 1 arttırılır
PIPPIN Basit Bilgisayarı Doğrudan adresleme biti ( # )
PIPPIN Basit Bilgisayarı Örnek (Toplama): İlk programın adı toplama. Bu program iki bellek bölgesinde konumlanmış verileri toplamaktadır. Matematiksel olarak bu programın gösterdiği formül x+y=z şeklindedir. x=2, y=5 olacak şekilde değerleri baştan vermekte bunları 13 ve 14 adresli hafıza gözlerine saklamakta ve sonra da bunları toplamaktayız. Aşağıda bu programın 2'li düzende ve mnemonic'ler ile makina dilinde yazılmış halini görmekteyiz.
PIPPIN Basit Bilgisayarı İkinci programın adı sayaçtır. Bu program programcının ilk komutla belirttiği sayıya kadar sayar. Programın JUMP ve EQUAL komutları ile döngü yapısı içerdiğine dikkat edin. Her zaman accumulator içindeki değer azaltılarak istenilen miktara ulaşıp ulaşmadı denenir. Aşağıda bu programın da 2'li düzende ve mnemonic'ler ile makine dilinde yazılmış halini görmekteyiz.
Kontrol Fonksiyonları • Pek çok işlem belirli bir şartın doğrulanmasına bağlı olarak icra edilir • Yüksek seviyeli programlama dilinde bu durum “if” ifadelerine (statement)karşılık gelir • Dijital Sistemlerde bu ifade, kontrol fonksiyonu adı verilen kontrol işaretleri yardımıyla sağlanır • Kontrol işareti 1 ise, işlem gerçeklenir • RTL kullanılarak; aşağıdaki gibi yazılabilir if (P=1) then R2 R1 P: R2 R1 • P = 1 ise, register R1 içeriğinin register R2 ye transfer işlemi gerçeklenir
Transferin Donanımsal Gerçeklenmesi • Saat işareti, hem hedef registeri hem de kontrol işaretini üreten devreyi kontrol eder. • Registerler pozitif kenar tetiklemeli flip floplardan oluşmaktadır. Kontrol İşareti P P: R2 R1 Load Control Circuit P Blok Diyagram R2 Clock n R1 t t+1 Clock Zamanlama Diyagramı Load Transfer burada gerçekleşir.
Hafıza / ALU ve Kontrol Devresi • Kontrol devresi aritmetik işlem komutunu algılar • Toplanacak sayı B kaydedicisine alınır • B kaydedicisindeki veri akümülatördeki veri ile Logic devreler (Toplam işleminde bir Full Adder) ile toplanır ve sonuç tekrar akümülatörde saklanır • Akümülatördeki veribir sonraki işlemlerde kullanılmak için saklanır veya daha sonra tekrar yeni bir hafıza gözüne alınır Akümülatör + Yazıcı › Akümülatör
Demo: İkili Toplama Full Adder Devresi Örnek: Temel devreler.circ
Demo: ALU Aritmetic Logic Unit Devresi Örnek: 6bit_ALU.circ
Aritmetik & Lojik Birim Çıkartma: 710 – 510 710 0 1 1 1 0x23 + 1x22 + 1x21 + 1x20 510 0 1 0 1 0x23 + 1x22 + 0x21 + 1x20 1.Adım: Sayının Tersini al 510 1 0 1 0 1x23 + 0x22 + 1x21 + 0x20 2.Adım: Bir arttır 510 +1 1 0 1 1 1x23 + 0x22 + 1x21 + 1x20 3. Adım Topla 0 1 1 1 + 1 0 1 1 Sonuç : 210 0 0 1 0 0x23 + 0x22 + 1x21 + 0x20
ALU Aritmetic Logic Unit Devresi Örnek: 6bit_ALU.circ
Analog ve Digital İşaretler • Analog işaret zaman içinde süreklidir • Sayısal işaret ise ayrık “0” ve “1” lerden oluşur 1101100010111011001
Analog / Sayısal Dönüşüm • ADC (Analog Digital Converter) Sayısal İşaret Analog İşaret 111 110 101 100 011 010 001 000
Analog / Sayısal Dönüşüm • Analog bilginin 1 Bit, 2 Bit ve 3 Bit sayısala dönüşümünü görmek için tıklayınız
Analog / Sayısal Dönüşüm Analog İşaret Analog İşaret Analog İşaret
Analog / Sayısal Dönüşüm • SAR art arda ikili tabanda sayılar üretir (en ağırlıklı haneden başlayarak) daha sonra bu sayı aynen bizim yaptığımızgibi 128’den büyük mü diye DAC’den tekrar analog işarete çevirir ve karşılaştırma devresinde tahmin doğrumu karar verir. Daha sonra bir sonraki haneye geçilir. Successive Approximation Register Digital Analog Converter Karşılaştırma Devresi Analog Giriş
Analog İşarete Örnek: Ses • Bizim ses olarak algıladığımız şey gerçekte bizim sensor sistemimizin kulak zarımızdaki çok hızlı titreşimleri yorumlamamızdır • Ses dalgalar halinde iletilir, dalgalar bir elastik ortam yardımıyla iletilir • Örneğin, ses kulak zarımıza hava yada suda seyahat ederek ulaşır
Ses Oluşumu ve Kaydı Mikrofon Analog Sinyal
Sesin Grafiksel Gösterimi • X ekseni: zaman • Y ekseni: basınç • A: genlik (volume) • λ : dalga uzunluğu (frekansın tersi, ses perdesini belirler)
Sesin Grafiksel Gösterimi Düşük frekans (kayıt aygıtında çalan) Baskın frekansın bir çevrimi High Frequency (kayıt aygıtında çalan) Baskın frekansın bir çevrimi
Sesin Sayısallaştırılması • Encyclopedia Brittanica’daki Analog-Digital Conversion makalesine bakabilirsiniz Bu noktada genliği yakala Veri noktaları arasındaki tüm değişimler kaybolur Yaklaşılmış Düşük Frekanslı Sinyal