[Linux] Re: azıcık konu dışı i386, i486 vs

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: Serdar KÖYLÜ (serdarkoylu@yahoo.com)
Date: Fri 22 Mar 2002 - 03:37:52 EET


Selamlar..

Genel olarak dogru fakat biraz daha deselim. Nasil olsa, cay molasindayiz..

Linux gibi VM sistemlerin calismasi icin, bir MMU ve Korumali mod ihtiyaci vardir genellikle. MMU, bellek yoneticisi diyebiliriz kabaca. Korumali mod ise, bellekteki verilerin kod mu, data mi oldugunu belirleme ve kodlarin, tipki dosya erisim haklari gibi haklara sahip olabilmesi icindir. 386 bunlari saglayan x86 serisi ilk CPU'dur. 486 ise, 8 KB cache bellek ve bir FPU (DX serisinde, FPU=Kesirli sayi islemlerini cabucak yapiveren ozel bir donanim) icerir. Pentium ise biraz daha buyuk bir cache (16K) ve ayni anda iki komutu birden yurutmeyi saglayan bir mekanizma icerir. MMX ve ustunde, P4'e kadar cok bir fark yoktur. P4, bir CPU icinde cift CPU gibi calisan bir mekanizmaya sahiptir.

Simdi optimizasyon nasil yapilir ? Bu yeni ozelliklerin getirdigi komutlar kullanilirsa, program o CPU'ya optimize edilmis olur. i386 olarak derlerseniz, FPU islemleri vs. yazilim yoluyla halledilecekmis gibi dusunulur. Kod parcaciklari vs. optimizasyonu zayiftir. Yani en basit kullanima gecilir. 486 icin optimize derseniz, hem 486 FPU'nun komut seti, hem de 486 uzerinde bulunan cache buyuklugune optimize bir kod uretilir. Buda, saf CPU yukunde %5 - %10 kadar bir performans getirebilir. Eger Pentiumunuz var ve i586'ya gore optimize derlenirse paket, bu defa bilhassa arka arkaya gelen makine komutlarinin secimi oyle yapilirki, Pentium dallanma tahmin mekanizmasi ve her iki komut kuyrugu maksimum kullanilabilir. Bu durum, %10...%150 kadar performans artisi getirebilir. Elbette, her yeni islemci nesli, bazi islemlerin daha hizli yapilmasini saglayan yeni komutlar da getirir. Bunlarinda isin icine girmesi hizda bir miktar etkili olur. Nedir bu tur yeni komutlar ? Mesela big-endian sayilari (Intel formati) Motor
ola formati sayilara cevirmekte cok faydali olan BSWAP (486+), sekiz bayti birden karsilastirip degistirebilen CMPXCHG8B (586+) gibi. Fakat bu yeni komutlarin hiz getirisi cok yuksek olmaz. Dramatik hiz artisi saglayabilen komutlar ise, MMX komut seti ve SIMD komut seti olabilir. Bunlar bir komutla birden cok verinin islenebilmesini saglarlar. Bilhassa ses isleme, goruntu isleme vs. konularinda bir hayli hiz saglarlar. Bunun yaninda o CPU'nun uzerinde calistigi yeni veri yolu mimarilerini dusunerek te bir takim optimizasyonlar yapilir. Mesela, Bellek cerceveleri 32 Bit, 64 Bit bloklar halinde duzenlenir. Bu, islemcinin bellekten veriyi maksimum hizda cekebilmesi / yazabilmesi icin faydali olur.

Elbette optimizasyon bu kadar kisaca anlatilabilecek bir sey degil. Fakat, Elinizde bir PIII varsa, bunun uzerinde 386 optimize bir kod calistiriyorsaniz, cache belleklerin ve yuksek saat hizinin getireceklerinden fazla bir hiz kazanci elde edemezsiniz. Oysa, ayni kodu, 686 icin optimize ederseniz, MMX komutlari, Bellek erisim metotlari filan derken, %30 - %40 daha hizli programlar elde edebilirsiniz. Bilhassa bu bir multimedya uygulamasi veya kernel ise ciddi performans kazanci saglayabilirsiniz. Gerci bir sistemin hizi, en yavas bilesenin hizi kadar olur. Bu da harddisk->RAM->L2 Cache->L1 Cache->CPU seklinde siralanir. Eger program yogun CPU islemi degilde, Harddisk islemi yapiyorsa, hissedilebilir bir hiz artisi gormeniz mumkun olmaz. Ayni sekilde RAM'den Cachelere veri akisi, tahmin ettiginizden cok yavastir. RAM'in PC133 olmasi onun 133 MHz clock ile calismasi analmina gelir. Fakat, RAM'lar bu saatin her cevriminde bir word transfer edemez. Bazen, burst modunda arka arkaya gelen belli sayida kelimeyi tr
ansfer edebilirler. Fakat bu erisim zamaninin kucuk bir kesrini tesekkul eder. Iste, Masaustunde calisan 100 MHz veriyolu olan Celeron 1000A ile PC800 veriyolu olan 1700 MHz PIV'un arasindaki hiz farkinin Max. %10 filan olarak kalmasinin sebebi budur. Diger donanim ayni kalmak sartiyla tabii ki... Fakat is agir yuk altindaki bir sistemde degisir. Simultane 1000 kullaniciya hizmet veren bir web serverde aradaki hiz farki %60 filan seviyesine cikabilir. Elbette, uygun optimizasyonlarin yapilmasi sartiyla..

Saygi ve sevgiler..

On Thu, 21 Mar 2002 15:01:22 +0200
Onur Kucuk <okucuk@yahoo.com> wrote:

>
>
> OO> Merhabalar,
> OO> Bu linux dağıtımlarındaki i386, i486... gibi versiyon farklılıkları tam olarak neyin nesi?
> OO> Bir belge veya bilgi verebilirseniz sevinirim... Teşekkürler...
>
> Yuzeysel olarak konusursak,
>
> Bilgisayarinizin (intel tabanli) cpu sunun mimarisi.
>
> 386 intel 386 lar, 486 malum 486, 586 pentiumlar, 686 pentium 2 ve
> uzeri (ve benzer mimarideki celeronlar) demek.
>
> Paketlerdeki mantik ise, paketin hazirlanirken hangi mimariye gore
> optimize edilerek hazirlandigi, yani paketin icindeki programin hangi
> mimariye gore optimize ederek derlendigi.
>
> Teorik olarak i586 olarak hazirlanmis paket icindeki program
>
> 386 ve 486 cpularda (dogru) calismaz,
> 586 larda ve 686 larda calisir.
>
> Ayni paket i686 olarak hazirlanmis ise bir pentium 2 makinada,
> i586 olarak hazirlanmis paketten daha iyi / hizli calisir.
>
> Tabi bunlar teorik. Isin icine o kadar cok etmen giriyor ki bu farki
> pek anlayamiyoruz.
>
>
> Onur Kucuk
>
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
> -----------------------------------------------------------------------
> Liste üyeliğiniz ile ilgili her türlü işlem için
> http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.
>
> Listeden çıkmak için: 'linux-request@linux.org.tr' adresine,
> "Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz.
> -----------------------------------------------------------------------

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

-----------------------------------------------------------------------
Liste üyeliğiniz ile ilgili her türlü işlem için
http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.

Listeden çıkmak için: 'linux-request@linux.org.tr' adresine,
"Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz.
-----------------------------------------------------------------------


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.