25 Kasım 2024 Pazartesi 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. B 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 re gıster'ları (8088 veya 68000 olsun) ne kadar lyı bılırlerse bılsınler, 80386 ve 68030 gıbı gerıye doğru uyumlu olsa da temelden farklı 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 mikro ış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 Motorola 68040 RISC yongaları mıdır? Yenı IBM System 6000 serısının mımarısı nasıldır9 Sun SPARCstatıon'ların yapıları nasıldır? Bunlar nasıl programlanır? Tum bu sorulara Robert Dewar ve Matthevv Smosna "Microprocessors A Programmer's Vıew' adlı kıtaplarıyla (McGravvHı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 wı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 Rl OS) ve INMOS transputer konularında bı rer bolumluk bılgıler verılıyor RISC mıkroışlemcılerı daha az açıklama 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 sördur 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 ğı konusunu buyuk ölçude derleyıcı yazanlar belırler Başlangıçta RISC araştırmasına yol açan şey ışlemcılerın çoğun dakı komut dızılerı ve adresleme modlarının yalnız kuçuk bır alt setının kul lanı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'iar ıçı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ının 64 bıtlık ınterger'lar ıle ılgılı ışlemlerı yapacak bır komutu olması, 64 bıt lık ınteger'iar ıle uğraşan bır kodlamanın bu komutu kullanacağı anla mına gelmez Daha muhtemel olan şey mevcut kodun 64 bıtlık ınteger'iar ı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ı gorunur 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 ça lış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 yazartarı RISC yapısını ele almaya göturuyor 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 RISC ı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 lyı ş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 zaman ortalama verım, saat dongusu başına bır komut şeklınde olabılır RlSC'ın komut setını karmaşıklığını azaltmasında anahtar çözumu 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ının saat hızından yavaş olur Kase'ler bu sorunu ancak kısmen çozumler 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ı, kodu yenıden duzenleyerek Load komutunun ardındakı arada faydalı şeyler yapılmastnı sağlayabılır Fakat bu ıse RlCS'ın avantajlarından yararlanmak ıçın lyı derleyıcılere gereksınım olduğu anlamına gelır RISC yapısı, ışlemcıler ı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ın dan 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 gorunuyor Yazarlara gore RIOS ı860 gıbı yongalara kıyasla bır avantaj 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 et kılı derlemeye uygun kodlar yazabılır" dı yorlar Yazarlar "RISC'ı mıkroışlemcılerın açık ça tanımlı bır ozellığı 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 çözum DOS extender denen urunlerın kullanılmasıdır Bılgısayar kıtaplar gıttıkçe homojen bır yapıya yonelırken bu kitap zevkle okunacak yararlı bır eserdır azıcı ımalatçılarının herbırının ken dı yazıcılarının kabul edeceğı kod lar konusunda farklı uygulamaları vardır Bu durum her makıneye uygun yazıcı "suruculen" 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ıği kodlar dızısıdır O kadar çok Epson yazıcı satılmıştır kı pek çok dığer ımalatçı kendı yazıcılarının aynı kod setını anlamasını sağlamaya çalışıyor PC'den yazıcıya Y PC dunyasındakı dığer standart IBM Proprınter standardıdır Bu standart Epson standacdının bır turudur, ancak yazıcı satın alınırken, dıkkat edılmesını gerektırecek ölçude farklıdır Epson, yazıcılarına yenı ozellıkler ekler Neden RISC? 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çıları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 olmanız gerekır Akılda tutulması gereken bır başka stan dart da PostScript tır Noktalı matrls ya zıcıları tanımlarken bu anlamsız görune bılır, ancak bır yazılım urunu emulatör ıle bu tur yazıcılar ıçın de PostScript standardı mevcuttur GoScript ve Freedom of Press, herhangı bır uygulama programından 9 pın ve 24 pın yazıcılarda PostScript dosyalar uretebıien ıkı urundur Beliı bır olçude, GoScript veya FoP yazıcınızı desteklecse 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