24 Aralık 2024 Salı English Abone Ol Giriş Yap

Katalog

B İ L G İ S A Y A R D Ü N Y A S I Programcı açısından mikroişlemciler "Microprocessors: A Programmer's View" adlı kitap hakkında ve konuyla ilgili görüşler. Kitap, "RISC nedir, yeni IBM System 6000 serisinin mimarisi nasıldır" gibi sorulara yanıt veriyor. aşka herkes gıbı programcılar da en ılerı makınelerı tercıh eder Ancak PC programcılarının çoğu komut setlerını adresleme modlarını ve regıster'ları (8088 veya 68000 olsun) ne kadar 1yı bılırlerse bılsınler 80386 ve 68030 gıbı gerıyp doğru uyumlu olsa da temelden (arklı yongaların detaylarını kullanma7İar 80386 kullanıyor olsalar da programcıların çoğu hâlâ esasta 8088 programcısıdır, yuksek duzey mıkro ışlemcı mımarısı konusunda hayret edılecek bır kayıtsızlık ıçındedır Bu konuyla ılgılı olarak akla şu sorular gelır RISC nedır? Intel 80486 ve Motoro la 68040 RISC yongaları mıdır? Yenı IBM System 6000 serısının mımarısı nasıldır7 Sun SPARCstatıon'ların yapıları nasıldır7 Bunlar nasıl programlanır7 Tum bu sorulara Robert Devvar ve Matthevv Smosna "Microprocessors A Programmer's Vıew" adlı kıtaplarıyla (McGrawHıll yayını) sağlam cevaplar verıyorlar Yazarlar Intel 80386 (uç bolum) ve Motorola 68030 (ıkı bolum) konusunda derın bır bakış açısı sunuyorlar Onların ardından, en onemlı RISC (Redecud Instructıon Set Computer Archıtectura) yapıları MIPS (Mıcroprocessor vvıthout Interlocked Pıpelıne Stages), Sun SPARC, Intel ı860, IBM (hem IBM RT'de bulunan ROMP mımarısı hem de yenı System/6000 serısınde kullanılan RlOS) ve INMOS transputer konularında bırer bolumluk bılgıler verılıyor RISC mıkroışlemcılerı daha az açıkla ma gerektırıyor çunku RISC yongaları gerçekten daha basıt yapıya sahıptır Dewar ve Smosna'nın belırttığı gıbı bu durumun bır nedenı, Intel ve Motorola gerıye doğru uyumluluk gereğının getırdığı koşullara bağlı olmayaçalışırken RISC ımalatçılarının temız bır temel ıle ışe başlamalarıdır Devvar ve Smosna NYU Courant Instı tute of Mathematıcal Scıences'da profe sordur ve derleyıcıler uzerındekı çalışmalarda 25 yıllık deneyıme sahıptırler Yenı donanımla ılgılı bır kitap yazarken derleyıcıler konusunda bılgı ve deneyım sahıbı olmak onemlıdır Çunku lyı ya da kötu dıyelım yuksek duzey ışlemcılerde çalışan kodun buyuk kısmı derleyıcının urettığı koddur Bu nedenle, bır mıkroışlemcının hangı ozellıklerının kullanılaca B ğı konusunu buyuk olçude derleyıcı yazanlar belırler Başlangıçta RISC araştırmasına yol açan şey ışlemcılerın çoğundakı komut dızılerı ve adresleme modlarının yalnız kuçuk bır alt setının kullanılmakta oluşunun gozlenmesı ıdı Bır derleyıcının 80386'dakı komut setı nın ınce ozellıklerının çoğundan yararlanması zordur 80386 IMUL komutunun 64 bıt ınteger'ları kullanabılen ozel bır şeklıne sahıptır, ancak buna karşılık gelen 64 bıt ınteger'lar ıçın bır C data tıpı yoktur, bu durumda bu komut 64 bıtlık ınteger'ları ele alması gereken kodlamada bıle çok az kullanılır Bır mıkroışlemcınm 64 bıtlık ınterger'lar ıle ılgılı ışlemlerı yapacak bır komutu olması, 64 bıt'lık ınteger'lar ıle uğraşan bır kodlamanın bu komutu kullanacağı anlamına gelmez Daha muhtemel olan şey, mevcut kodun 64 bıtlık ınteger'lar ıle ılgılı yenı donanım desteğının avantajından yararlanmak uzere hıç değıştırılmemesıdır Yazarlar ayrıca yenı ozellıklerden yarar lanmak uzere kodlamanın sık sık değıştı rılmemesı gerektığını de belırtıyor Yazarlar "Sadece var olduğu ıçın bır komutun kullanılması gerektığını duşunmemelısınız" dıyor ve Intel'ın ENTER ve LEAVE komutları konusunda derın bır bakış açısı sunuyorlar Bır konuda "donanım desteğı" olması hep o ışı "yazılımla halletmek"ten daha lyı gıbı görunur Devvar ve Smosna durumun mutlaka boyle olmadığını belırtıyor Yıne 80386 bu konuda pek çok ornek sağlıyor Yazarlar bır 386 da hedefı task state segment (TSS) olan bır FAR JMP komutu ıle nasıl kolayca ortam değışıklığı sağlandığını ele alıyor ve bırden fazla program çalışmasına uygun hazırlanan yazılımların bu muhteşem donanım desteğını dıkkate al mayıp yazılımla geçışler yapmaları konusunu araştırıyorlar Bu durumun nedenının donanımla sağlanan geçışın kolayca 300 saat dongusu alabılmesı olduğunu belırtıyorlar Pek fazla kullanılmayan karmaşık komutlar konusu yazarları RISC yapısını ele almaya goturuyor Yazarlar IBM'den Dan Prener'ın sozlerını aktararak RlSC'ın ko mutların ındırgenmış bır setı olmayıp ındırgenmış komutlardan oluşan bır set olduğunu belırtıyorlar RlSC'ın amacı, saat dongusu başına bır komutun ışlem gormesıdır Bu ıse sadece basıtleştırılmış komutlar değıl ayrıca ışlemcının komut hattının en tyı şekılde kullanılmasını gerektırır Devvar ve Smosna'nın açıkladığı gıbı bır tek komut ıçın 5 saat dongusu sure varsa ve komut alma, yorumlama ve uygulama gıbı ışler dığer komutların benzer aşamaları ıle bırbırıne geçebılecek 5 aşamaya ayrılabılırse, o raman ortalama verım, saat dönqusu basına bır komut şeklınde olabılır RlSC'ın komut setını karmaşıklığını azaltmasında anahtar çozumu bır "yukle/sakla" mımarısı getırmesıdır Bellekle ışı olan tek komutlar yalnızca LOAD ve STORE'dur Tum dı^er komutlar regıster'dan regıster'a çalışır Bu durum adresleme modlarının sayısını buyuk ölçude azaltır, bu da ışlemcının komut yorumlama unıJesını basıtleştırır Load/store mımarısı potansıyel olarak buyuk performans gelışımı sağlar Bellek erışım surelerı her zaman mıkroışlemcınm saat hızından yavaş olur Kase'ler bu sorunu ancak kısmen çözumler Load/Store mımarısı tum bellek erışımlerını ıkı komut ıle yapacağı ıçın yenı bır kuralla performans yukselışı sağlanır Load komutunu ızleyen komut çalışmaya başladığında load komutunun ıstedığı bılgı henuz hazır değıldır Boyle olunca ışlemcı bellekten okuma tamamlanmadan yenı komutu ışlemeye geçebılır Şuphesız tek koşul bır sonrakı komutun load komutunun sonucunu beklıyor olmaması koşuludur Devvar ve Smosna'nın kıtabında load komutunu ızleyen komutun çalışma şeklı uzun uzun anlatılıyor lyı bır derleyıcı, ko du yenıden duzenleyerek Load komutunun ardındakı arada faydalı şeyler yapılmasını sağlayabılır Fakat bu ıse RlCS'ın avantajlarmdan yararlanmak ıçın lyı derleyıcılere gereksınım olduğu anlamına gelır. RISC yapısı, ışlemcller ıle bellek arasındakı hız farkı gıbı donanım ozellıklerı nı gızlemek yerıne, ortaya çıkarır RISC programlama, yazılımda bır komuttan dığerıne aktarmalar konusunda uzman olmak demektır Programcıların çoğunun bellekten yukleme ışının zaman alacak bır fızıksel olay olduğunu hatırlamasına gerek bırakmayacak lyı derleyıcıler gerekır Kıtapta anlatılan çeşıtlı RISC yapıları komutlar arası geçış konusunu gızleme veya açığa çıkarma açısından buyuk farklılıklar gösterıyor örneğın MIPS yongaları "load delay slot" denen yukarda anlatılan sureyı değerlendırme konusunda donanımdan zıyade yazılım olanaklarından yararlanır ı860 bu konuda daha çok görunen ışlemler gerektırıyor Yazarlar ı860 programlamanın tamamen komutlar arası geçışlerın duzenlenışı gıbı olduğunu belırtıyorlar IBM System/6000'dekı RlOS mımarısı ıse oldukça kolay görunuyor Yazarlara göre RIOS ı860 gıbı yongalara kıyasla bır avantaı getırıyor Devvar ve Smosna "olup bıten hakkında çok az bıl gı ıle esas olarak hemen hesaplanan sonuçların kullanılmaması kuralıyla programcı, sofıstıke ve kodu uygun hale getıren bır derleyıcı olmadan, oldukça etkılı derlemeye uygun kodlar yazabılır" dı yorlar Yazarlar "RISC'ı mıkroışlemcılerın açık ça tanımlı bır özellığı olarak duşunmekten zıyade, performansı arttıracak tasarım teknıklerı toplamı olarak duşunmek gerekır" dıyor Çoğu zaman ışlemcının detay ozellıklerının avantajlarından yararlanmak zordur Yonga'nın ozellıklerınden tam olarak yararlanılmaması endustrımızın temel sorunudur Sık sık soylendığı gıbı yazılım donanımın gerısınde kalıyor RISC daha basıt yongalar dızaynı ıçın bır çozumdur Başka bır çözum assembly dılının daha çok kullanılmasıdır 80386'nın ozellıklerının tam kullanılmaması durumunda bır başka çozum DOS extender denen urunlerın kullanılmasıdır Bılgısayar kıtaplar gıttıkçe homojen bır yapıya yönelırken bu kitap zevkle okunacak yararlı bır eserdır azıcı ımalatçılarının herbırının kendı yazıcılarının kabul edeceğı kodlar konusunda farklı uygulamaları vardır Bu durum her makıneye uygun yazıcı "suruculerı" gerekmesıne yol açmıştır Bu alanda bır dızı endustrı 'standart'ları gelışmıştır Noktalı matrıs yazıcı dunyasında bu standart, Epson'un gelıştırdığı kodlar dızısıdır O kadar çok Epson yazıcı satılmıştır kı, pek çok dığer ımalatçı kendi yazıcılarının aynı kod setını anlamasını sağlamaya çalışıyor PC'den yazıcıya Y r Neden RISC? PC dunyasındakı dığer standart IBM Proprınter standardıdır Bu standart Epson standardının bır turudur, ancak yazıcı satın alınırken, dıkkat edılmesını gerektırecek olçude larklıdır Epson, yazıcılanna yenı ozellıkler ekler ken bu standardı da genışlettığı ıçın, Epson standardı sabıt değıldır Daha eskı yazıcılarda kullanılan standart yenı komutların bır alt setı olarak korunurken, dığer ımalatçtların getırdığı uyumluluğu ızlemenız ve onların yazıcılarının FX yerıne EpsonLX ıle uyumlu olmasından emın olmani7 gerekır Akılda tutulması gereken bır başka standart da PostScript (ır Noktalı matrıs yazıcıları tanımlarken bu anlamsız görunebılır, ancak bır yazılım urunu emulatör ıle bu tur yazıcılar ıçın de PostScript standardı mevcuttur GoScrlpt ve Freedom of Press, herhangı bır uygulama programından 9 pın ve 24 pın yazıcılarda PostScript dosyalar uretebılen ıkı urundur Bellı bır olçude, GoScrıpt veya FoP yazıcınızı desteklerse dığer standartları unutabılırsınız 13
Abone Ol Giriş Yap
Anasayfa Abonelik Paketleri Yayınlar Yardım İletişim English
x
Aşağıdaki yayınlardan bul
Tümünü seç
|
Tümünü temizle
Aşağıdaki tarih aralığında yayınlanmış makaleleri bul
Aşağıdaki yöntemler yoluyla kelimeleri içeren makaleleri bul
ve ve
ve ve
Temizle