• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

BİLGİSAYAR MİMARİSİ-I (Computer Architecture)

Merhaba değerli arkadaşlar, Bu yazımızda sizlerle Bilgisayar Mühendisliğinin en önemli yapı taşı olan Bilgisayar Mimarisine dair bir paylaşımda bulunacağım.

14.08.2012

Yazar: Muhammed ÖNAL (Google+)

Kategori: Güncel

23290

 BİLGİSAYAR MİMARİSİ-I

(Computer Architecture)

Merhaba değerli arkadaşlar,

Bu yazımızda sizlerle Bilgisayar Mühendisliğinin en önemli yapı taşı olan Bilgisayar Mimarisine dair bir paylaşımda bulunacağım. Üniversitelerin Bilgisayar Mühendisliği veya Mekatronik Mühendisliği gibi bölümlerinde okumakta olan arkadaşlara mikroişlemci tasarımında ve bilgisayar mimarisi tasarımında hem bir ders notu hem de yol gösterici amacıyla bir makaleden ziyade ders notu niteliğinde hazırlamış oldum. Kendi üniversite yıllarım içinde Bilgisayar Mimarisi dersini Hindistanın onursal bilim adamı olan Prof.Dr.Karuppanan Balasubramanian hocamızdan uygulamalar eşliğinde alma şansım oldu. Ve zaman buldukça hem kendi bilgi ve birikimimi hem de hocamızın ders anlatımı ve uygulamalar esnasında tutmuş olduğum ders notlarını buradan ders notu şeklinde paylaşımda bulunacağım.

Bilgisayar Mimarisi:
Bilgisayar Mühendisliğinde bir bilgisayar sisteminin temel kullanıma hazır yapısı ve kavramsal tasarımı olarak açıklanabilir.
Bilgisayar Mimarisi en az 3 ana alt kategoriden oluşur. Bu alt kategorileri şu şekilde sıralayabiliriz.

{C}1-      Instruction Set Architecture ( Komut Kümesi Mimarisi ) veya ISA (Instruction Set Architecture)

-          Komut Kümesi Mimarisi (ISA) bir bilgisayar donanımının, alt düzey programcıya

(sistem programlarına) görünen yüzüdür.

{C}-          Assemby Dili

{C}2-      Micro Architecture (Mikro Mimari)

{C}3-      System Design (Sistem Tasarımı)

{C}-          Bilgisayar Bus’larını ve Switch’lerini Sisteme bağlamak

{C}-          Memory kontrolcüsü ve hiyerarşileri

{C}-          CPU off load mekanizmasının bazı memory’lre direkt girişi

{C}-          Multi-Processing gibi önemli noktalar.

 ISA ve Micro Mimari, Donanım içinde kendine has tasarımları mevcuttur. Bu tasarım işlemi Implementation olarak adlandırılır. Implementation genellikle donanım tasarım mühendisliği için mimarisel bir tanım olarak düşünülmemelidir.

Implementation safhası 3 parçaya ayrılır, bunlar:

{C}-          Logic Implementation
Bu safhada Gate seviyelerde micro mimari içinde Blockların tasarımı tanımlanır

{C}-          Circuit Implementation

Bu safhada ise bazı büyük blockların (ALU,cache vb) ve transistor seviyesi temel elementlerinin (gate’ler, multiplexer’lar,latch’lar vb) tasarımı yapılır.

{C}-          Physical Implementation
Bu safhada ise, kablo bağlantılarının yolu belirlenerek ve bir tahta (bord) üzerinde farklı devre elemanlarının yerleştirilmesidir. Fiziksel tasarım yapılır.

Bir Bilgisayar Sisteminin Katman yapısı ve modeli aşağıdaki şekildeki gibi olabilir: Şekillerimiz hem İngilizce olarak hem de Türkçe olarak verilmiştir. Daha iyi kavrayabilmek ve kıyaslama yapabilmek adına.



 

 

 

Şimdi dilerseniz, Bu açıklamaların hemen ardından Temel Bilgisayar Organizasyonunu ve Tasarımı’nda bilmemiz gereken birkaç tanımı birlikte irdeleyelim. Burada mesela, Bilgisayarın Fonksiyonu ve çalışma prensiplerini anlatacağım. Bu yazımızı yazarken kısmen de olsa Assembly dili komutları hakkında bilgi sahibi olduğunuzu varsayarak anlatıma giriş yaptım.

Genel anlamda, Bilgisayar Organizasyonu (Donanım) , aşağıdaki şekildeki gibi ayrışabilir.

 

è Bilgisayarın Yapısı ve  Fonksiyonu

Bilgisayar Sistemi milyonlarca elektronik bileşenleri içeren karmaşık bir sistemdir. Bilgisayar Sistemini Structure(Yapı) ve Function(Fonksiyon) terimleri ile tanımlanır.

 

Bir Bilgisayar Sisteminin yapısına göz attığımızda 4 ana yapısal bileşenin olduğunu görürüz. Bu bileşenleri maddeler halinde verecek olursak:

{C}-          CPU (Central Processing Unit) denilen Merkezi İşlem Birimi

{C}-          Main Memory olarak adlandırılan Ana Hafıza

{C}-          Dış Çevre Birimleri ve Bilgisayar arasında veri taşıyan Giriş-Çıkış üniteleri (Input/Output)

{C}-          Sistemin Birbirine bağlı olması (System Interconnection): Bunu açıklayacak olursak, Bazı mekanizmaların Input/Output ,CPU ve Ana Hafıza arasında iletişimi sağlaması olarak açıklayabiliriz.

Bilgisayar Bileşenleri (Computer Component):

Bir program, sıralı komut (Sequential instruction) kümesidir. Her aşamada veya adımda bir aritmetik veya mantık işlemi yapılır.ve Her işlem için çok sayıda kontrol işareti üretilmiş olur.Kontrol işaretleri üretilme aşamasına göz attığımız zaman nasıl açıklayalım, her işlem için aynı zamanda tekil bir kod sağlanır.(ADD, MOVE gibi) Sağlanan bu tekil kodlar,donanım tarafından alınarak nihayetinde belirtmiş olduğumuz Kontrol işaretleri üretilir.

En önemli bileşen yapısına baktığımızda Kontrol Birimi(Control Unit) ya da ünitesi ve Aritmetik Mantık Birimi(ALU-Arithmetic Logic Unit) mikroişlemciyi oluşturur.

Veriler (Data) ve komutlar(İnstructions) sistem içine dışarıdan alınır veya sistem içinden dışarı aktarılır. (Input/Output)

Program ve verilerin geçici saklanması için geçici bir depolama birimine gereksinim duyulur. Bu geçici depolama birimine ise Main Memory(Ana Hafıza) denir

          Şimdi bir bilgisayar sisteminin yapısını aşağıdaki şekillere bakarak daha net bir şekilde kavrayabiliriz:


Kontrol Unitesinin (Control Unit) birkaç uygulama yaklaşımı vardır.

Hardwired Control  (Donanımsal Kontrol)
Microprogrammed Control (Mikroprogram Kontrol)

MOV  A , [x]  à  Ana komut, Kontrol hafızası içine yüklenirken mikro komutların kurulumu tarafından Mikroişlemciye alınan her bir komutun (Fetch) ,çalıştırılması (Execute) Micro-Programmed Kontrol yaklaşımı ile Mikroprogram içine alınmasıdır.

 

Bir bilgisayar sisteminin yapısını inceledikten sonra hemen şimdide bir Bilgisayar Sisteminin Fonksiyonuna bakalım:

Bir Bilgisayar şu temel fonksiyonları yerine getirir:

{C}-          Data Processing (Veri İşleme)

{C}-          Data Storage (Veri Depolama)

{C}-          Data Movement(Veri Taşıma)

{C}-          Control (Kontrol)

Çalışma Çeşitlerine(Types of Operation) göz attığımızda ise aşağıdaki şekilleri incelersek, Bir bilgisayar sisteminin çalışma çeşitleri hakkında bilgi edinmiş oluruz:


Bu figüre baktığımızda,
              Bir Peripheral’dan başka bir Peripheral’a veri taşır .

Bilgisayarın işlevine baktığımızda, Mikroişlemci(Microprocessor)gerçekleştireceği işlemleri ve adımları programdaki komutları kullanarak görevini yerine getirir. En basit haliyle bir Mikroişlemci(Microprocessor) gerçekleştireceği işlemleri iki aşamada yerine getirir.
Bu aşamaları aşağıdaki gibi maddeler halinde verecek olursak:

 

 

{C}1-      Birinci aşamada söz konusu komutlar Mikroişlemciye alınır. Bu olay Fetch olarak adlandırılır.

{C}2-      İkinci aşamada ise Mikroişlemciye alınan komutlar çalıştırılır. Bu olay ise Execute olarak adlandırılır.

              Mikroişlemci(Microprocessor) tarafından gerçekleştirilen bu iki aşama Komut Döngüsü(instruction Cycle) olarak adlandırılır.

Evet, değerli arkadaşlar isterseniz daha ayrıntıya inerek Komut Döngüsü yani instruction Cycle dediğimiz aşamaları biraz daha açalım ve bir blok diyagram üzerinde çalışma prensibini gösterelim.

Yukarıda bahsettiğimiz Mikroişlemci tarafından gerçekleştirilen ikinci aşama yani Execute aşaması birden fazla alt aşamadan oluşabilir. Örnek verecek olursak; Komut operand gerektiriyorsa operandların alınması Execute aşamasında gerçekleştirilir.

Yukarıdaki blok diyagramda gösterilen Fetch Cycle’ a değinecek olursak, birinci aşamada komutlar Mikroişlemciye alınmıştı ve bu olaya biz Fetch demiştik. Şimdi bu Fetch döngüsü içinde yani Fetch Cycle’ın gerçekleştirmiş olduğu adımlar:

-          Program Counter (PC) Mikroişlemci içine alınan komutlardan bir sonraki komutun adresini tutma görevini üstlenir.

-          İşlemci Program Counter ile gösterilen adresten komutu alır.

-          Program Counter alınan komut boyutu kadar artırılır(Eğer atlama(JUMP) komutu çalışırsa farklı bir adrese geçilir)

-          Hafızadan alınan komut, Komut Kaydedicisine yani Instruction Register’a (IR) aktarılır.

-          İşlemci alınan komutu yorumlayarak gereken işlemleri gerçekleştirir.

Bir diğer döngümüz ise Execute Cycle’dır. Bunu açıklayacak olursak:

Mikroişlemciye alınan komutların çalıştırıldığı aşama Execute aşaması idi. Ve yine yukarıda belirtmiştik. Execute aşaması içinde birden fazla alt aşama gerçekleşir. Ve farklı işlemler yapılabilir:

-          CPU(Central Processing Unit)-Hafıza

Merkezi İşlem Birimi (CPU) ile Hafıza arasında veri aktarılır.

-          CPU-I/O (input/output)

Merkezi İşlem Birimi(CPU) ile İnput/Output cihazları arasında veri aktarılır.

-          Veri üzerinde işlem

Aritmetik ve mantık işlemlerinden birisi yapılır.

-          Kontrol (Control)
Program içerisindeki komutların çalışma esnasında değişiklik yapılır.

 

Yazmış olduğumuz bu farklı işlemlerden bir kaç tanesi birlikte yapılır.

 

 

 

Bugünlükte bizden bu kadar diyor ve makalemizin sonuna gelmiş bulunuyoruz. Kafanıza takılan soru işaretleri var ise mail yoluyla sorularınızı iletebilirsiniz.

Bilgisayar Mimarisine dair bir sonraki yazımızda görüşmek dileğiyle.

 NOT:
Bu makalemizde de gerek yerli gerek yabancı kaynakları tarayarak ve gerek kendi bilgi ve tecrübelerimizden kattığımız Bilgisayar Mimarisine kısa bir giriş yaparak sizlerle paylaşımda bulundum. Bir sonraki yazımızda ise Bilgisayar Sistemi fonksiyonlarında Interrupt yani Kesmeler konusunu zaman buldukça sizlerle paylaşmaya çalışacağım. Üniversitelerin Bilgisayar Mühendisliği veya Mekatronik Mühendisliği, Elektrik –Elektronik Mühendisliği gibi mühendislik alanlarında Mikroişlemci Sistemleri tasarımı ya da Bilgisayar Mimarisi dersini almakta olan arkadaşlara ve Akademisyenlere yol gösterici olması amacıyla faydalı olması dileğiyle. Bir sonraki makalemizde görüşmek dileğiyle şimdilik hoşça kalın.

Kaynak:   Muhammed ÖNAL,2012.Bilgisayar Organizasyonu ve Mimarisi & Mikroişlemci Tasarımı                          
                 Morris Mano, Computer Architecture,3rd Edition
                 Prof.Dr.K.Balasubramanian –Microprocessor Systems and Comp.Org.& Architecture


Saygılarımla;

Muhammed ÖNAL
Bilgisayar Mühendisi
RFID Sistemleri Uzmanı
BT Yönetişimcisi

Blog:  http://www.muhammedonal.com
Web : http://www.yazilimdilleri.net


Copyright © Muhammed ÖNAL , 2012

 

 

 

 

 

 

 

 

 



 

 

Yazar Hakkında

Muhammed ÖNAL

Muhammed ÖNAL

www.muhammedonal.com

Bilgisayar Mühendisi | RFID Sistemleri Uzmanı | BT Yönetişimcisi | Strateji Planlama ve İş Geliştirme 2015 itibariyle sağlık sektöründe Bilgi Sistemleri Yöneticisi ve Üst yönetim Stratejik Planlama ve İş Geliştirme Koordinatörü pozisyonunda çalışmaktadır.

Sosyal Medya

ORANLAR

  • 23290izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 124113
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 71306
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51908
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ