Electronic Letters on Science & Engineering 9(1) (2013) Available online at

Benzer belgeler
BÖLÜM 2 SAYI SİSTEMLERİ

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Gömülü Sistemler. (Embedded Systems)

DOKUZ EYLÜL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CSE 5051

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.

Electronic Letters on Science & Engineering 5(1) (2009) Available online at

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

İşletim Sistemleri (Operating Systems)

EEM 419-Mikroişlemciler Güz 2017

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2006

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

SPARC v8 İŞLEMCİ SİMÜLASYONU

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Bilgisayar Mimarisi Nedir?

Görüntü Bağdaştırıcıları

Mikrobilgisayar Sistemleri ve Assembler

Electronic Letters on Science & Engineering 5(1) (2009) Available online at

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 2. Hafta. Öğr. Gör. Dr. Barış Doğru

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

İşletim Sistemlerine Giriş

Electronic Letters on Science & Engineering 2(2) (2011) Available online at

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

Bilgisayar Sistemlerine Genel Bakış

Embedded(Gömülü)Sistem Nedir?

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

Programlanabilir Sayısal Sistemler

BLM 221 MANTIK DEVRELERİ

BM-311 Bilgisayar Mimarisi

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Bu Hafta Öğreneceklerimiz

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

Bilişim Teknolojileri Temelleri Dijital Dünyada Yaşamak

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

SAYISAL KONTROL 2 PROJESİ

TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011

Bilgisayar Donanım 2010 BİLGİSAYAR

Mühendislik Tasarım-3 ve Bitirme Çalışması Konuları

Mikroişlemcili Sistemler ve Laboratuvarı

(Random-Access Memory)

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

SİNYAL TEMELLERİ İÇİN BİR YAZILIMSAL EĞİTİM ARACI TASARIMI A SOFTWARE EDUCATIONAL MATERIAL ON SIGNAL FUNDAMENTALS

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Yrd. Doç. Dr. Caner ÖZCAN

Bilgisayara Giriş. Bilgisayarlar ilk geliştirilmeye başlandıklarından bugüne kadar geçen süre içerisinde oldukça değişmişlerdir.

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

BİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

EEM 419-Mikroişlemciler Güz 2016

BİLGİ TEKNOLOJİLERİ SMO103

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

Mantık Devreleri Laboratuarı

Bilgisayarların Gelişimi

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

İçerik. TBT 1003 Temel Bilgi Teknolojileri

3. Aşağıdakilerden hangisi B5 hücresinin değerini getirir (Kopyalar)? a-) =B5 b-) B5 c-) =B(5) d-) =5B

Bilgisayar Mimarisi ve Örgütleşimi (COMPE 331) Ders Detayları

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.

BM-311 Bilgisayar Mimarisi

1. PS/2 klavye fare 2. Optik S/PDIF çıkışı 3. HDMI Giriş 4. USB 3.0 Port 5. USB 2.0 Port 6. 6 kanal ses giriş/çıkış 7. VGA giriş 8.

Bitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER

Bilgisayar. Bilgisayarın Özellikleri. Giriş İşleme Çıkış. Bilgisayar Nedir? Bilgisayarın Çalışma Prensibi

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

MİKROİŞLEMCİ MİMARİLERİ

Mikroçita. Mikroçita Rapor 2:

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Ürün Profil ve Yapılandırma Kodu Tanımlama

Digital Design HDL. Dr. Cahit Karakuş, February-2018

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

BİTİRME ÖDEVİ VE TASARIM PROJESİ ARA RAPOR YAZIM KILAVUZU

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Electronic Letters on Science & Engineering 11(1) (2015) Available online at

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Bilgisayar en yavaş parçası kadar hızlıdır!

KELİME İŞLEMCİ MİCROSOFT OFFİCE WORD KULLANIMI

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Bilgisayar Donanım ANAKART ÜZERĐNDE YER ALAN GĐRĐŞ/ÇIKIŞ (I/O) BAĞLANTI NOKTALARI

Ünite-2 Bilgisayar Organizasyonu.

Seri Takibi Yenilikleri

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Logix5000 Kontrolörler

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

Transkript:

Electronic Letters on Science & Engineering 9(1) (2013) Available online at www.e-lse.org Display Area and Character Organization and Control for BZK.SAU.FPGA Micro Computer Architecture Halit Öztekin 1, Ali Gülbağ 2, Feyzullah Temurtaş 3 1 Bozok Üniversitesi, Bilgisayar Mühendisliği, Yozgat 2 Sakarya Üniversitesi, Bilgisayar Mühendisliği, Adapazarı 3 Bozok Üniversitesi, Elektrik Elektronik Mühendisliği, Yozgat Abstract: In order to obtain images in the display area, the color and synchronizing signals control signals of the VGA display hardware display hardware should be managed. Desired image is obtained with controlling these signals for lightening or deflating of pixels the display hardware. In this study, display controller that allows the formation of the image on the screen by controlling these signals was designed at logic gate level. BZK.SAU.FPGA mikro computer architecture was used and an VGA display with 640 480 pixel resolution was preferred for this purpose. Keywords: BZK.SAU.FPGA, VGA display BZK.SAU.FPGA Mikro Bilgisayar Mimarisi için Ekran Alanı ve Karakter Organizasyonu ve Kontrolü Özet: Ekran alanında görüntü elde edebilmek için VGA ekran donanımına ait kontrol sinyalleri olan renk ve senkronize sinyallerinin yönetilmesi gerekmektedir. Bu sinyaller kontrol edilerek ekran donanımındaki piksellerin yakılması veya söndürülmesi neticesinde istenilen görüntü elde edilir. Bu çalışmada, bu sinyalleri kontrol ederek ekrandaki görüntünün oluşmasını sağlayan ekran kontrolörü lojik kapı seviyesinde donanımsal olarak inşa edilmiştir. Bu amaçla, BZK.SAU.FPGA Mikro bilgisayar mimarisi kullanılmıştır ve 640 480 piksel çözünürlüğüne sahip VGA tipinde bir ekran tercih edilmiştir. Anahtar Kelimeler: BZK.SAU.FPGA, VGA monitör 1 Giriş Bilgisayar Mühendisliği ve buna benzer bilim dallarında önemli bir yer teşkil eden Bilgisayar Mimarisi ve Organizasyonu ile İşletim Sistemi derslerinde teorik olarak işlenen kavramların pratiğe dönüştürülmesi günümüz eğitim sisteminin problemleri arasında yer almaktadır [1 5]. Gelişen teknoloji ile beraber bu problemlerin çözümüne yönelik yazılımsal ve donanımsal yönde adımlar atılmıştır. Bu adımlar, ya bütünüyle yazılımsal olarak simüle etme yöntemini ya da temeli yazılıma dayanan emülator programlarında donanımsal yapılar kullanılarak simüle edilmek suretiyle sorunlar giderilmeye çalışılmıştır. Bu çözüm adımlarına son yıllarda, alanda programlanabilir kapı dizileri (FPGA- Field Programmable Gate Arrays) geliştirme kartları kullanılarak teorik bilginin uygulamaya geçirilmesine dair yeni bir yaklaşım getirilmiştir. Bu geliştirme kartları, simülasyon ortamındaki ideal şartların yerine gerçek dünya şartları altında gözlenebilen, çalıştırılabilen, elle tutulabilen eğitimsel amaçlı tasarımları ortaya çıkarmıştır [6, 7]. Teorik bilginin uygulamaya dönüştürebileceği yer olan laboratuar ortamları öğrencilerin çeşitli bilgisayar sistemleri tasarlamaları konusunda yardımcı olmaktadır. Teorik bilgi ile pratik bilgi * Corresponding author; Tel.: +(90) 533 5470618, E-mail:halit.oztekin@bozok.edu.tr ISSN 1305-8614 2013 www.e-lse.org All rights reserved. 1

arasındaki boşluğu azaltmaya yönelik eğitimsel çalışmalar yazılımsal tabanlı ve yeniden yapılandırılabilir donanım tabanlı olmak üzere 2 ana grupta toplanabilir [6,7]. Bu çalışmada BZK.SAU.FPGA Mikro bilgisayar mimarisi kullanılmıştır. Mikro bilgisayar mimarisinde 640 480 piksel çözünürlüğüne sahip VGA tipinde bir ekran tercih edilmiştir. Mimarinin sahip olduğu bellek boyutu kısıtlı olduğundan ve ABC80 [8], Apple I ve Apple II [9] gibi sistemlerde kullanılan ekran boyutunun 40 sütun 24 satır olması nedeniyle mikro bilgisayar sisteminde de 40 24 boyutunda bir ekran kullanımına gidilmiştir. Dolayısıyla ekranda bir anda gösterilebilen karakter sayısı 960 karakter olup her bir karakterin boyutu 8 piksel genişliğinde ve 16 piksel uzunluğundadır. Bunda dolayı ekrandaki verinin gösterilebilmesi için ana bellekte 7.5KB lık bir alan tahsis edilmiştir. Sistemde giriş birimi olarak diğer iletişim metotlarına nazaran daha basit olan PS/2 klavye tercih edilmiştir. 102 tuşlu geleneksel bir PS/2 klavyede bulunan fonksiyon tuşları hariç bütün tuşların kullanımına imkan tanınmıştır. Tuşlara kod atanması işleminde literatürde yer alan ASCII kod tablosundan faydalanılmıştır. 2 FPGA Mimarisi FPGA, programlanabilir mantık blokları ve bu bloklar arasındaki ara bağlantılardan oluşan ve geniş uygulama alanlarına sahip olan sayısal tümleşik devrelerdir (Şekil-1). Tasarımcının ihtiyaç duyduğu mantık fonksiyonlarını gerçekleştirme amacına yönelik olarak üretilmiştir. Dolayısıyla her bir mantık bloğunun fonksiyonu kullanıcı tarafından düzenlenebilmektedir. FPGA ile temel mantık kapılarının ve yapısı daha karmaşık olan devre elemanlarının işlevselliği artırılmaktadır. Alanda programlanabilir ismi verilmesinin nedeni, mantık bloklarının ve ara bağlantıların imalat sürecinden sonra programlanabilmesidir [6]. FPGA geliştirme ortamı ve mimarisi ile ilgili daha geniş bilgiye referans [7] da ulaşılabilir. Bu çalışmada Altera DE2 geliştirme ortamı kullanılmıştır. Şekil-1 FPGA yongasının genel görünümü 3 BZK.SAU.FPGA Mikro Bilgisayar Mimarisi Bu çalışmada BZK.SAU.FPGA Mikro bilgisayar mimarisi kullanılmıştır. Bu mimarinin detayları için 6 ve 7 nolu referanslara bakılabilir. BZK.SAU.FPGA Mikro bilgisayar sisteminin tasarım isterleri ve metrikleri Tablo-1 de verilmiştir. 2

Tablo-1 Mikro bilgisayar mimarisine ait tasarım isterleri ve metrikleri Özellik Açıklama Sistem Adı Sistemin İnşa Edildiği Donanım BZK.SAU.FPGA FPGA (Altera DE2-70) Çıkış Birimi VGA Monitör (640 480) Ekran Alanı Giriş Birimi Sistem Tanımlama Dili İşlemci Mimarisi İşlemci Tipi Adres Yolu Veri Yolu Sistem Kaydedicileri Ana Bellek İkincil Bellek Bellek Kelime Yerleşim Düzeni Komut Mimarisi Komut Seti Komut Yapısı Komut İşleme Metodu Adresleme Mod Çeşidi Kontrol Birim Yapısı ALU Birimi Sayı Sistemi İşletim Sistemi Dosya Sistemi Assembly Dili 40 sütun 24 satır(320 384) PS/2 klavye Şematik(Donanımsal) Von-Neumann(SISD mimarisi) 16-bit 16-bit 16-bit 10 adet(giriş ve çıkış kaydedicileri 8-bit diğerleri 16-bit genişliğinde) 64 KB 16 bit Flash Bellek(4 MB) 8 bit Big-Endian CISC Fonksiyonel, Kontrol, Transfer, Giriş-Çıkış ve Yığın Komutları(59 komut) 16 bit(15-12. bitler adresleme modu, 11-0. bitler opcode alanı) None Pipeline 6(İvedi, direkt, dolaylı, indeks, göreceli ve doğal) Donanımsal 16-bit(Sadece tamsayılar) 2 ye Tümleme Tek Kullanıcı-Tek Görev (BZK.SAU.OS) FAT-16 BZK.SAU.ASM Assembly dili 4 Ekran Alanı Organizasyonu ve Kontrolü Kullanılacak olan karakterler, bu karakterlere atanacak olan kodlar ve karakterlerin bit haritaları gibi işler ekran alanı organizasyonunda yapılması gereken başlıca işlemlerdir. Bu işlemler ekran alanını kontrol edecek donanımın inşasında etkin bir rol oynayacağı gibi bellek organizasyonunda da etkili olacaktır. Bu çalışmada standart 640 480 çözünürlüğünde VGA tipinde bir ekran kullanılmıştır. Yapılan çalışmalar sonucunda bu çözünürlüğe sahip bir ekranda her bir karakterin boyutunun 8 16 piksel ebatlarında ve temel RGB renklerinden kırmızın rengin kullanılmasına karar verilmiştir. Ayrıca ekran alanı mimarinin tasarım isterleri ve metrikleri bölümünde açıklandığı üzere 40 sütun ve 24 3

satırdan oluşmaktadır. Her bir karakterin 8 16 piksel ebatlarında olduğu göz önünde bulundurulursa 40 sütun ve 24 satırdan oluşan bir ekran alanı, tüm ekran alanının 320 384 piksellik kısmını kullanması anlamı taşımaktadır. Bu durum Şekil-2 de özetlenmektedir. Şekil-2 Mimaride kullanılan 640x480 çözünürlüğündeki ekranın organizasyonu Ekran alanında görüntü elde edebilmek için VGA ekran donanımına ait kontrol sinyalleri olan renk ve senkronize sinyallerinin yönetilmesi gerekmektedir. Bu sinyaller kontrol edilerek ekran donanımındaki piksellerin yakılması veya söndürülmesi neticesinde istenilen görüntü elde edilir. Ekranda iyi bir görüntü elde edebilmek için ekrandaki ilgili piksellerin sürekli olarak tazelenmesi gerekir. Bu sinyalleri kontrol ederek ekrandaki görüntünün oluşmasını sağlayan ekran kontrolörü lojik kapı seviyesinde donanımsal olarak inşa edilmiştir. Ekran kontrolörü 6 kısımdan oluşmaktadır. Ekran alanının 40 sütun ve 24 satırdan meydana gelmesinden dolayı imlecin sütun ve satır konumlarını gösteren sırasıyla Mod 40(Column Pixel Unit) ve Mod 24(Row Pixel Unit) sayıcıları, ekran alanındaki bir karakterin sütun genişliğinin 8 ve satır uzunluğunun 16 piksel olmasından dolayı ilgili karakterin ekrana basılan kısmın satır ve sütun numaralarını gösteren Mod 8(Column Pixel Pointer Unit) ve Mod 16(Row Pixel Pointer Unit) sayıcıları, bu dört sayıcının çıkışlarını kullanarak ekrana basılacak bilginin bulunduğu bellek adresini hesaplayan adres hesaplama birimi ve ekranın 320 384 çözünürlük bölgesinde olup olmadığını denetleyen kontrol biriminden oluşur. Ekran kontrolörün detaylı blok diyagramı Şekil-3 de verilmiştir. VGA tipindeki monitör donanımının ürettiği senkronize sinyaller(yatay ve dikey) ile ekran alanında işaret edilen ilgili pikselin satır(0 479) ve sütun(0 639) bilgisinin elde edilmesinde kullanılır. Elde edilen satır ve sütun bilgisi bu çalışmanın ekran alanı olan 320 384 çözünürlüğündeki bölgede ise Şekil-3 deki In-out control screen area Unit isimli birimin çıkışı lojik 1 olur. Bu birim dört adet 10 bitlik çıkarıcı devreden oluşmakta olup bu devreler çalışma ekran alanının başlangıç(159,47) ve bitiş(479,431) noktaları ile ekran donanımından gelen aktif piksel satır ve sütun bilgilerini karşılaştırma işlemi yapmaktadırlar. Bu birimden gelen ekran alanı bölgesindedir(lojik 1) sinyali ile ekran kontrolöründeki ekrana basılacak karakterin aktif 4

sütun piksel bilgisini veren sayıcıyı aktif hale getirecektir. Bu sayıcının çalışması birimdeki diğer sayıcılarında aktif olmasına neden olacaktır. Şekil-3 VGA monitör kontrolörü blok diyagramı [10] Ekran alanında görüntülenecek bilgi 0 A000 0 BFFF adres aralığında yer almaktadır. Kullanılan ekranın text ekran, bir karakterin boyutlarının 8 16 piksel ebatlarında ve bir bellek hücresinin 16 bit genişliğinde olduğu göz önünde bulundurulursa yukarıdaki adres aralığının her 16 hücrelik bellek alanında iki adet karakterin piksel haritası yer almaktadır. Ekran alanındaki karakterlerin ilgili bellek alanında yerleşimi Şekil-4 de görülmektedir. Şekil-4 Ekran alanının bellek yerleşim düzeni Ekran kontrolörü, kendi içindeki sayıcı birimlerden gelen bilgilere göre adres hesaplaması yapmakta ve bu adresteki bilginin ekranda görüntülenmesini sağlamaktadır. Ekranda görüntülenecek bilginin bellekteki başlangıç adresini hesaplarken şu formülü kullanmaktadır: 5

Başlangıç adresi=0 A000+(Row Pointer Unit* 0 14+(Column Pointer Unit)/2)* 0 10 Adresin işaret ettiği yerdeki 16 piksel uzunluğundaki karakterin ilk satır bilgisi, seçim uçları Column Pixel Pointer Unit sayıcısının çıkışları olan 2 adet 8 1 MUX yardımıyla monitör donanımının ilgili pikseli aktif veya pasif yapılmaktadır. Daha sonra hesaplanan adrese Row Pixel Pointer Unit sayıcısının çıkışları eklenerek karakterin diğer satır piksel bilgileri de ilk satırda olduğu gibi ekrana basılmaktadır. 4 Karakter Tablosu ve Organizasyonu Mikro bilgisayar mimarisinin ekran alanında kullandığı karakterler standart ASCII tablosunda yer alan karakterlerden meydana gelmektedir. ASCII tablosunun ilk 32 kontrol karakterinden sadece Backspace(0 08) ve Esc(0 27) karakterleri sağ, sol, yukarı ve aşağı ok tuşları için ise sırasıyla ASCII tablosunun 0 10, 0 11, 0 12 ve 0 13 kodları kullanılmıştır. ASCII tablosunun 0 32 0 FF arasındaki karakterlerin tamamı mikro bilgisayar mimarisi tarafından kullanılmaktadır. Karakterlerin bit haritaları ana belleğe(0 1000 0 1FFF) ASCII tablosundaki kod değerlerine göre yerleştirilmiştir. Ancak çalışmada kullanılan ana belleğin bir hücresinin 16 bit ve her bir karakterin bit haritasının genişliği 8 piksel olduğundan tek ve çift değerli kodlu ASCII karakterler aynı bellek hücresini paylaşmaktadır. Çift değerli ASCII koda sahip olan karakter belleğin yüksek anlamlı 8 bitini kullanırken, tek değerli ASCII koda sahip karakter ise belleğin düşük anlamlı 8 bitini kullanmaktadır. Örneğin B(ASCII kodu 0x42) ve C(ASCII kodu 0x43) karakterlerinin bellek yerleşimi Şekil-5 de görülmektedir. Her bir karakterin bellekteki bit haritasının başlangıç adresi şu şekilde hesaplanmaktadır. Başlangıç adresi: 0 1000+(ASCII kod/ 0 2)* 0 10 Şekil-5 B ve C karakterlerinin bellek haritasının bellekte yerleşimi Mikro bilgisayar mimarisinde giriş birimi olarak standart PS/2 tipinde bir klavye donanımı kullanılmaktadır. Projede klavye kontrolü yazılımsal olarak sağlanmaktadır. Vhdl dilinde yazılan klavye kontrolü alt programı[11], Alt ve Shift kontrolleri eklenerek yeniden düzenlenmiştir. Bu alt program, klavyeden bir tuşa basıldığında ilgili tuşun ASCII kodunu mimarinin giriş kaydedicisine(inpr) aktarmakta ve bir kesme üreterek klavye alt programına dallanmasını sağlamaktadır. Bu alt programda yapılan işlem adımlarına ait alt programın assembly komut içeriği [6] nolu referansda yer alan tezin EK-B sinde yer almaktadır. 6

Alt program çalışmasını bitirdikten sonra ekranda imleci belirli aralıklarla aktif/pasif yapan alt programa dallanır. Bu alt programın da assembly komutları ise [6] nolu referansın EK-C sinde bulunmaktadır. Bu alt programda başlıca yapılan işlem adımları süreci Şekil-6 da görülmekte olup şu şekilde özetlenebilir: Adım 1: Mimarinin giriş kaydedicisindeki veriyi alarak klavyeden basılan tuşun kontrol karakteri mi olup olmadığını denetle. Adım 2: Eğer kontrol karakteri ise bununla ilgili işlemlere dallan ve işlemler bittiğinde Adım- 6 ya dallan, değilse bir sonraki adıma atla. Adım 3: Klavyeden basılan karakterin bit haritasının başlangıç adresini yukarıda bahsedilen formülü kullanarak hesapla. Adım 4: Adım-3 de bulunan başlangıç adresini kullanarak karakter bit haritasını imlecin satır ve sütun konum bilgilerine göre ekran alanı bölgesine(0 A000 0 BFFF) aktar. Adım 5: İmlecin satır ve sütun konum bilgilerini güncelle. Adım 6: İmleç aktif/pasif alt programına dallan. Şekil-6 Klavyeden basılan karakterin ekrana yansıma süreci 7

3 Tartışma ve Öneriler Ekran alanında görüntü elde edebilmek için VGA ekran donanımına ait kontrol sinyalleri olan renk ve senkronize sinyallerinin yönetilmesi gerekmektedir. Bu sinyaller kontrol edilerek ekran donanımındaki piksellerin yakılması veya söndürülmesi neticesinde istenilen görüntü elde edilir. Bu çalışmada, bu sinyalleri kontrol ederek ekrandaki görüntünün oluşmasını sağlayan ekran kontrolörü lojik kapı seviyesinde donanımsal olarak inşa edilmiştir. FPGA geliştirme kartları Elektronik Mühendisliği ve Bilgisayar Bilimleri gibi bölümlerde dijital lojik devre tasarımının öğrenilmesinde kolaylık sağladığı ve ilgili derslerde motivasyonu artırdığı görülmüştür. Ayrıca FPGA geliştirme kartlarının yeniden yapılandırılabilir özelliğe sahip olması nedeniyle öğrencilerin farklı farklı tasarımlarını ek bir maliyet getirmeden mevcut geliştirme kartları üzerinde gerçekleştirmelerine imkan vermektedir. BZK.SAU.FPGA ortamında yapılan tasarım ve modülerlik sayesinde mevcut bilgisayar mimarisinin işleyişini aksatmadan kullanıcının kendine özgü tasarladığı birimi entegre edebilme olanağına kavuşturulmuştur. Bu sayede komple sistemin karmaşıklığı içinde kaybolmadan kendine özgü tasarımlarının çalışmasını izleme olanağı öğrenciler ve kullanıcılar için sağlanmıştır. Ayrıca mevcut sistemin bileşenleri modüler yapıda tasarlandığından sistemin geliştirilmesi üzerine çalışmalara ve mikro bilgisayar mimarisinin gelişiminin sürdürülebilirliğine olanak sağlanmıştır. Teşekkür Bu çalışma, 110E069 numaralı TÜBİTAK 1001 projesi kapsamında desteklenmiştir. References (Referanslar) 1. GARCIA, M.I., Rodriguez, S., Perez, A., Garcia, A., p88110: A Graphical Simulator for Computer Architecture and Organization Courses, IEEE Transactions on Education, 52, 2, 248 256, (2009). 2. NIKOLIC, Z., Radivojevic, J., Djordjevic, J., Milutinovic, V., A Survey and Evaluation of Simulators Suitable for Teaching Courses in Computer Architecture and Organization, IEEE Transactions on Education, 52, 4, 449 458, (2009). 3. STOJKOVIC, A., Djordjevic, J., Nikolic, B., WASP: A Web Based Educational System for Teaching Computer Architecture and Organization, International Journal Electrical Engineering Education, 44, 3, 197 215, (2007). 4. DJORDJEVIC, J., Nikolic, B., Milenkovic, A., Flexible Web-based Educational System for Teaching Computer Architecture and Organization, IEEE Transactions on Education, 48, 2, 264 273, (2005). 5. QINGQIANG, W., Langcai, C., Teaching Mode of Operating System Course for Undergraduates Majoring in Computer Sciences, 4th International Conference on Computer Science & Education, Xiamen- China, (2009) pp: 1412-1415. 6. ÖZTEKİN, H., Eğitim Amaçlı Yapılandırılabilir Modüler Donanım Üzerine Gömülü İşletim Sistemi Tasarımı, (Doktora Tezi), Sakarya Üniversitesi Fen Bilimleri Enstitüsü, (2012). 8

7. Proje Raporu: Proje No: 110E069 Proje Adı: Uzaktan Erişilebilir Yapılandırılabilir Donanım Üzerine Eğitim Amaçlı Mikro Bilgisayar Mimarisi ve Gömülü İşletim Sistemi Tasarımı (2012). 8. http://en.wikipedia.org/wiki/abc_80 (Erişim Tarihi: 20/02/2012) 9. en.wikipedia.org/wiki/list_of_home_computers_by_video_hardware (Erişim Tarihi: 20/02/2012) 10. ÖZTEKİN, H., TEMURTAŞ, F., GÜLBAĞ, A., A Modular Approach to VGA Monıtor Controller for BZK.SAU.FPGA10.1 Microcomputer Archıtecture Design, 2012 International Conference on Information and Computer Applications (ICICA 2012) 11. www.opencores.org (Erişim Tarihi: 05/06/2011) 9