Motorola 68000 serisi - Motorola 68000 series

Motorola 68000 serisi
tasarımcı Motorola'nın
bitler 32 bit
tanıtıldı 1979 ; 42 yıl önce ( 1979 )
Tasarım CISC
Dallanma Koşul kodu
endianness Büyük
Kayıtlar

Motorola 68000 serisi (olarak da bilinen 680x0 , M68000 , m68k veya 68k ) ailesidir 32-bit karmaşık komut setli bilgisayar (CISC) mikroişlemciler . 1980'lerde ve 1990'larda, onlar popüler olan kişisel bilgisayarlar ve iş istasyonları ve birincil rakipleri vardı , Intel 'in x86 mikroişlemci. Bunlar en iyi Apple Macintosh , Sharp X68000 , Commodore Amiga , Sinclair QL , Atari ST , Sega Genesis (Mega Drive), Capcom System I (Arcade), AT&T UnixPC'de kullanılan işlemciler olarak biliniyordu . Tandy Model 16/16B/6000 , Sun Microsystems Sun-1 , Sun-2 ve Sun-3 , NeXT Computer , Texas Instruments TI-89 / TI-92 hesap makineleri, Palm Pilot (Palm OS 4 çalıştıran tüm modeller) .x veya daha eski) ve Uzay Mekiği . Hiçbir modern masaüstü bilgisayar 680x0 serisindeki işlemcileri temel almasa da, türev işlemciler gömülü sistemlerde hala yaygın olarak kullanılmaktadır .

Motorola , 1994 yılında 680x0 serisi mimarisinin geliştirilmesini durdurdu ve onun yerine AIM ittifakının bir parçası olarak IBM ve Apple Computer ile birlikte geliştirilen PowerPC RISC mimarisini aldı .

Aile üyeleri

İyileştirme geçmişi

68010 :

  • Sanal bellek desteği (yeniden başlatılabilir yönergeler)
  • Daha hızlı dize ve bellek kitaplığı ilkelleri için 'döngü modu'
  • çarpma talimatı daha az 14 saat işareti kullanır

68020 :

68030 :

  • Her biri 256 baytlık bölünmüş talimat ve veri önbelleği 
  • Çip üzerinde bellek yönetim birimi (MMU) (68851)
  • Düşük maliyetli EC = MMU yok
  • Burst Bellek Arayüzü

68040 :

  • Her biri 4 KB'lık talimat ve veri önbellekleri 
  • Altı aşamalı boru hattı
  • Çip üzerinde kayan nokta birimi (FPU)
  • FPU, IEEE aşkın işlev yeteneğinden yoksundur
  • FPU öykünmesi 2E71M ve sonraki yonga revizyonlarıyla çalışır
  • Düşük maliyetli LC = FPU yok
  • Düşük maliyetli EC = FPU veya MMU yok

68060 :

  • Her biri 8 KB'lık talimat ve veri önbellekleri
  • 10 kademeli boru hattı
  • İki döngülü tamsayı çarpma birimi
  • Şube tahmini
  • Çift talimat boru hattı
  • Adres oluşturma birimindeki (AGU) talimatlar ve dolayısıyla sonucu ALU'dan önce iki döngü sağlar
  • Düşük maliyetli LC = FPU yok
  • Düşük maliyetli EC = FPU veya MMU yok

Özellik haritası

Yıl İşlemci paket Frekans (maks) [MHz olarak] Adres veri yolu bitleri MMU FPU
1979 68000 64 pinli çift ​​hat içi paket (DIP) , 68 pinli LCC , 68 pinli pin ızgara dizisi (PGA) 8–20 24 - -
1982 68010 64-pin DIP , 68-pin PLCC , 68-pin PGA 8–16.67 24 68451 -
1984 68020 114 pinli PGA 12,5–33,33 32 68851 68881
- 68 EC 020 100-pin Dörtlü Düz Paket (QFP) 16.7–25 24 - -
1987 68030 132-pin QFP (maks 33 MHz ), 128-pin PGA 16-50 32 MMU 68881
68 EC 030 132 pinli QFP , 128 pinli PGA 25 32 - 68881
1991 68040 179 pinli PGA , 184 pinli QFP 20-40 32 MMU FPU
68 LC 040 PGA , 184 pinli QFP 20–33 32 MMU -
68 EC 040 20–33 32 - -
1994 68060 206 pinli PGA 50–75 32 MMU FPU
68 LC 060 206 pinli PGA , 208 pinli QFP 50–75 32 MMU -
68 EC 060 206 pinli PGA 50–75 32 - -

Ana kullanımlar

Sega Genesis, bir 68000 ana CPU olarak 7.67 MHz hızında kullanılır.

680x0 işlemci serisi, modern üst düzey Texas Instruments hesap makinelerinden ( TI-89 , TI-92 ve Voyage 200 hatları) Palm Pilot serisinin tüm üyelerine kadar çeşitli sistemlerde kullanılmıştır. OS 1.x ila 4.x (OS 5.x, ARM tabanlıdır) ve hatta Uzay Mekiği'nin kritik kontrol sistemlerinde radyasyonla sertleştirilmiş sürümler .

Bununla birlikte, 680x0 CPU ailesi en çok Apple Macintosh , Commodore Amiga , Sinclair QL , Atari ST , SNK NG AES / Neo Geo CD , Atari Jaguar gibi gelişmiş masaüstü bilgisayarları ve video oyun konsollarını çalıştıran işlemciler olarak bilinir hale geldi. , Commodore CDTV ve diğerleri. 680x0 ayrıca 1980'lerde AT&T'nin UNIX PC'si , Tandy'nin Model 16/16B/6000 , Sun Microsystems'in Sun-1 , Sun-2 , Sun-3 , NeXT Computer , Silicon Graphics gibi Unix iş istasyonları ve sunucuları için tercih edilen işlemcilerdi. (SGI) ve çok sayıda diğerleri. Başlangıçta Atari ST işletim sistemi olması önerilen CP/M-68K adlı 68000 CP/M sürümü vardı , ancak Atari bunun yerine Atari TOS'u seçti . Sisteme özel birçok CP/M-68K bağlantı noktası mevcuttu, örneğin TriSoft, Tandy Model 16/16B/6000 için bir CP/M-68K bağlantı noktası sundu.

Ayrıca ve belki de en önemlisi, Adobe'nin PostScript yorumlayıcılarının ilk birkaç sürümü 68000 tabanlıydı. Apple LaserWriter ve LaserWriter Plus'taki 68000 , Macintosh bilgisayarlarda kullanılan sürümden daha hızlı saat hızına sahipti. Standart çözünürlüklü LaserWriter IIntx, IIf ve IIg (ayrıca 300 dpi), daha yüksek çözünürlüklü LaserWriter Pro 600 serisi (genellikle 600 dpi, ancak minimum RAM takılıyken 300 dpi ile sınırlıdır) dahil olmak üzere sonraki PostScript yorumlayıcılarında hızlı bir 68030 ve çok yüksek çözünürlük Linotronic görüntü ayarlayıcılar, 200PS (1500+ dpi) ve 300PS (2500+ dpi). Bundan sonra, rakipleri PostScript klonlarıyla zaten RISC'leri, genellikle bir AMD 29000 serisini kullanmış olduklarından, Adobe işlemcisi için genellikle bir RISC'yi tercih etti. Erken 68000 tabanlı Adobe PostScript yorumlayıcıları ve donanımları, Soğuk Savaş dönemi ABD roketleri ve füzeleri için adlandırıldı : Atlas, Redstone, vb.

Bugün, bu sistemler ya hat sonu (Atari durumunda) ya da farklı işlemciler kullanıyor (Macintosh, Amiga, Sun ve SGI durumunda). Bu platformlar 1980'lerde en yüksek pazar paylarına sahip olduklarından, orijinal üreticileri artık bu donanım için bir işletim sistemini desteklemiyor veya çalışmıyor. Ancak Linux , NetBSD ve OpenBSD işletim sistemleri hala 68000 işlemci için destek içermektedir.

68000 işlemci , ana CPU olarak Sega Genesis (Mega Drive) ve SNK Neo Geo konsollarında da kullanıldı. Sega Saturn gibi diğer konsollar 68000'i ses işleme ve diğer I/O görevleri için kullanırken, Atari Jaguar'da temel sistem kontrolü ve giriş işleme için tasarlanmış bir 68000 bulunuyordu, ancak Jaguar'ın alışılmadık heterojen işlemcileri nedeniyle aynı zamanda oyun mantığını çalıştırmak için sıklıkla kullanılır. Birçok arcade kartı, Capcom, SNK ve Sega'dan gelen kartlar da dahil olmak üzere 68000 işlemci kullandı.

68000 ailesinden türetilen mikrodenetleyiciler çok çeşitli uygulamalarda kullanılmıştır. Örneğin, CPU32 ve ColdFire mikro denetleyicileri, otomotiv motor denetleyicileri olarak milyonlarca üretilmiştir.

Birçok tescilli video düzenleme sistemi 68000 işlemci kullandı. Bu kategoride, kullanımı kolay bir grafik arayüze sahip bir kara kutu olan MacroSystem Casablanca adını verebiliriz (1997). Amatör ve hobi kameraman pazarı için tasarlandı. Aynı zamanda (1995), çığır açan "Draco" olarak adlandırılan önceki, daha büyük ve daha profesyonel muadili dikkati çekiyor Quantel Paintbox erken tabanlı 24 bit boya ve efekt sisteminin Serisi Orjinal 1981 yılında piyasaya sürüldü ve kullanım ömrü boyunca neredeyse kullanılan tasarımında hiç uygulanmayan 68060 hariç, tüm 68000 ailesi işlemci serisi. Video arenasındaki diğer bir rakip olan Abekas 8150 DVE sistemi 680EC30'u kullandı ve daha sonra Globecaster olarak yeniden adlandırılan Trinity Play birkaç 68030 kullanıyor. Robert Bosch Corporation, daha sonra BTS (1983) tarafından üretilen Bosch FGS-4000/4500 Video Grafik Sistemi, ana işlemcisi olarak bir 68000 kullandı; Gouraud ve Phong gölgelendirmesini kolayca uygulayabilen bir bilgisayarda 3D animasyon gerçekleştirmek için birkaç kişiyi yönlendirdi. Modifiye edilmiş bir Motorola Versados ​​işletim sistemi çalıştırıyordu.

Mimari

Motorola 68000 serisi kayıtlar
3 1 ... 2 3 ... 1 5 ... 0 7 ... 0 0 (bit konumu)
Veri kayıtları
D0 Veri 0
D1 Veri 1
D2 Veri 2
D3 Veri 3
D4 Veri 4
D5 Veri 5
D6 Veri 6
D7 Veri 7
Adres kayıtları
A0 Adres 0
A1 adres 1
A2 Adres 2
A3 Adres 3
A4 Adres 4
A5 Adres 5
A6 Adres 6
Yığın işaretçileri
A7 / USP Yığın İşaretçisi (kullanıcı)
A7' / SSP Yığın İşaretçisi (gözetmen)
Program sayıcı
bilgisayar Program sayıcı
Durum Kaydı
  1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (bit konumu)
  T S m 0 ben 0 0 0 x n Z V C SR

PDP-11 veya VAX'a aşina olan kişiler genellikle 68000 serisi ile kendilerini rahat hissederler. Genel amaçlı kayıtların özel veri ve adres kayıtlarına bölünmesi dışında, 68000 mimarisi birçok yönden 32-bit PDP-11'dir.

Öncesi (örn., 8080) ve sonra gelen (örn., x86) birçok işlemcininkinden daha ortogonal bir talimat setine sahipti. Yani, belirli yönergelerle belirli adresleme modlarını kullanmakla sınırlandırılmak yerine, işlemleri işlenenlerle özgürce birleştirmek genellikle mümkündü. Bu özellik, programlamayı insanlar için nispeten kolaylaştırdı ve ayrıca derleyiciler için kod üreteçleri yazmayı da kolaylaştırdı.

68000 serisinde sekiz adet 32 ​​bit genel amaçlı veri kaydı (D0-D7) ve sekiz adet adres kaydı (A0-A7) bulunur. Son adres kaydı yığın işaretçisidir ve montajcılar SP etiketini A7'ye eşdeğer olarak kabul eder.

Ayrıca, 16 bitlik bir durum kaydına sahiptir. Üst 8 bit sistem baytıdır ve bunun değiştirilmesi ayrıcalıklıdır. Alttaki 8 bit, durum kodu kaydı (CCR) olarak da bilinen kullanıcı baytıdır ve bunun değiştirilmesi ayrıcalıklı değildir. 68000 karşılaştırma, aritmetik ve mantık işlemleri, daha sonraki koşullu atlamalarda kullanılmak üzere sonuçlarını kaydetmek için koşul kodlarını değiştirir. Koşul kodu bitleri "sıfır" (Z), "taşıma" (C), "taşma" (V), "uzatma" (X) ve "negatif" (N). "Genişlet" (X) bayrağı, taşıma bayrağından ayrı olduğu için özel olarak anılmayı hak ediyor . Bu, aritmetik, mantık ve kaydırma işlemlerinden elde edilen ekstra bitin, kontrol akışı ve bağlantı için taşımadan ayrılmasına izin verir.

68000'in bir "süpervizör modu" olsa da , durum kaydını başka bir kayda kopyalayan 'MOVE from SR' adlı tek talimat nedeniyle Popek ve Goldberg sanallaştırma gereksinimlerini karşılamadı, ayrıcalıksız ama hassastı. In Motorola 68010 üstü ve bu daha iyi destek sanallaştırma yazılımına, ayrıcalıklı yapıldı.

68000 serisi komut seti aşağıdaki geniş kategorilere ayrılabilir:

Motorola 68020 (68060 çıkarıldı) bir çoklu işlem sisteminin yazılım yönetimi için bazı gözetmen durumuna bazı küçük iyileştirmeler ve uzantıları içeren yeni talimatlar, çeşitli talimatlar, çok alışması yoktu üst düzey diller için bazı desteği eklendi (ve gelecekteki 680x0 işlemcilerden kaldırıldı), daha büyük çarpma (32×32→64 bit) ve bölme (64÷32→32 bit bölüm ve 32 bit kalan) komutları ve bit alanı manipülasyonları.

Standart adresleme modları şunlardır:

  • Doğrudan kayıt olun
    • veri kaydı, örneğin "D0"
    • adres kaydı, örneğin "A0"
  • Dolaylı kayıt
    • Basit adres, örneğin (A0)
    • Artış sonrası adres, örn. (A0)+
    • Ön eksiltmeli adres, örneğin −(A0)
    • 16 bitlik işaretli ofsetli adres, örn. 16(A0)
    • İndeks kaydı ve 8 bitlik işaretli ofset ile dolaylı kayıt yapın, örneğin 8(A0,D0) veya 8(A0,A1)
    (A0)+ ve −(A0) için gerçek artış veya azalma değerinin işlenen boyutuna bağlı olduğuna dikkat edin: bir bayt erişimi adres kaydını 1, bir kelimeyi 2 ve bir uzunu 4'e ayarlar.
  • PC (program sayacı) göreli yer değiştirme
    • Göreceli 16-bit işaretli ofset, örneğin 16(PC). Bu mod, pozisyondan bağımsız kod için çok kullanışlıydı.
    • İndeksli 8 bit işaretli ofset ile göreli, örneğin 8(PC,D2)
  • Mutlak bellek konumu
    • Ya bir sayı, örneğin "4000$" ya da montajcı tarafından çevrilen sembolik bir isim
    • Çoğu montajcı, onaltılık için "0x" veya sondaki H yerine "$" sembolünü kullandı.
    • Bu adresleme modunun 16 ve 32 bit sürümleri vardı
  • Acil mod
    • Talimatta saklanan veriler, örneğin "#400"
  • Hızlı acil mod
    • Opcode'da saklanan değerle 3 bit işaretsiz (veya moveq ile imzalanmış 8 bit)
    • addq ve subq'da 0, 8'e eşittir
    • örneğin moveq #0,d0 clr.l d0'dan daha hızlıydı (her ikisi de D0'ı 0'a eşit yapsa da)

Artı: durum kaydına ve sonraki modellerde diğer özel kayıtlara erişim.

Motorola 68020, ölçeklenmiş bir indeksleme adres modu ekledi ve önceden var olan modların çoğuna başka bir dolaylılık düzeyi ekledi .

Komutların çoğu, işlemlerin 8 bitlik bayt (".b"), 16 bitlik sözcükler (".w") ve 32 bitlik uzun sözcükler (".l") üzerinde gerçekleşmesine izin veren nokta harfli soneklere sahiptir.

Komutların çoğu dyadic , yani işlemin bir kaynağı ve bir hedefi vardır ve hedef değiştirilir. Önemli talimatlar şunlardı:

  • Aritmetik: ADD, SUB, MULU (işaretsiz çarpma), MULS (işaretli çarpma), DIVU, DIVS, NEG (toplamsal olumsuzlama) ve CMP (argümanları çıkararak ve durum bitlerini ayarlayarak yapılan bir tür karşılaştırma, ancak kaydetmedi. sonuç)
  • İkili kodlu ondalık aritmetik: ABCD, NBCD ve SBCD
  • Mantık: EOR (özel veya), VE, DEĞİL (mantıksal değil), VEYA (dahil veya)
  • Kaydırma: (mantıksal, yani sağa kaydırmalar en anlamlı bitte sıfırı koyar) LSL, LSR, ( aritmetik kaydırmalar , yani en anlamlı biti işaret-uzantı) ASR, ASL, (eXtend ile döner ve değil) ROXL, ROXR, ROL, ROR
  • Bellekte veya veri kaydında bit testi ve manipülasyon : BSET (1'e ayarlı), BCLR (0'a net), BCHG (ters çevir) ve BTST (değişiklik yok). Bu komutların tümü önce hedef biti test eder ve sırasıyla hedef bit 0 (1) ise CCR Z bitini ayarlar (temizler).
  • Çoklu işlem kontrolü: TAS, test ve ayarla , bölünmez bir veri yolu işlemi gerçekleştirerek, tek bir belleği paylaşan birkaç işlemciyi senkronize etmek için semaforların kullanılmasına izin verir.
  • Kontrol akışı: JMP (atlama), JSR (alt rutine atlama), BSR (alt rutine göreli adres atlama), RTS ( alt rutinden dönüş), RTE ( istisnadan dönüş , yani bir kesme), TRAP (benzer bir yazılım istisnasını tetikler) yazılım kesintisine), CHK (koşullu bir yazılım istisnası)
  • Dal: Bcc ("cc", durum kaydındaki koşul kodlarının 14 testinden birini belirtir: eşittir, büyüktür, küçüktür, taşır ve durum kaydından elde edilebilen çoğu kombinasyon ve mantıksal ters çevirme). Kalan iki olası koşul (her zaman doğru ve her zaman yanlış) ayrı talimat anımsatıcılarına, BRA (dal her zaman) ve BSR'ye (daldan alt programa) sahiptir.
  • Azaltma ve dal: DBcc (burada "cc", dal talimatlarında olduğu gibi), koşulun false olması koşuluyla, bir D kaydının düşük kelimesini azalttı ve sonuç -1 değilse ($FFFF) , bir hedefe dallanmış. Sonlandırma değeri olarak 0 yerine -1'in bu kullanımı, sayım 0 olduğunda hiçbir şey yapmak zorunda olmayan ve döngüye girmeden önce başka bir kontrole gerek kalmadan döngülerin kolay kodlanmasına izin verdi. Bu aynı zamanda DBcc'nin yuvalanmasını da kolaylaştırdı.

68050 ve 68070

68050 yoktu, ancak bir noktada Motorola içinde bir projeydi. Tek sayılı sürümler her zaman önceki çift sayılı bölümde gündeme getirilen sorunlara tepkiler olmuştur; bu nedenle, genellikle 68050'nin 68040'ın güç tüketimini (ve dolayısıyla ısı yayılımını) azaltması, FPU'da istisna işlemeyi iyileştirmesi, daha küçük bir özellik boyutu kullanması ve talimatların program kullanımına uygun olarak mikro kodu optimize etmesi bekleniyordu. Bu optimizasyonların çoğu 68060'a dahil edildi ve tasarım hedeflerinin bir parçasıydı. 68060'ın geliştirilme aşamasında olması, Intel 80486'nın Motorola'nın varsaydığı kadar hızlı ilerlememesi ve 68060'ın zorlu bir proje olması gibi birçok nedenden dolayı, 68050 geliştirme aşamasında erken iptal edildi.

Motorola, 68000 ve 88k işlemci hatlarından yeni PowerPC işine geçme sürecinde olduğu için 68060'ın revizyonu da yoktur , bu nedenle 68070 hiçbir zaman geliştirilmemiştir. Öyle olsaydı, muhtemelen üstün bir FPU'ya sahip, revize edilmiş bir 68060 olurdu (boru hattı Usenet'te yaygın olarak speküle edildi).

Motorola esas olarak 68000, 68020, 68040 ve 68060 gibi CPU çekirdeğindeki büyük revizyonlar için çift sayıları kullandı. 68010, 68000'in çekirdeğe yapılan küçük değişikliklerle revize edilmiş bir versiyonuydu ve aynı şekilde 68030, biraz daha güçlü olan revize edilmiş bir 68020 idi. özellikleri, hiçbiri çekirdeğe yapılan büyük bir yükseltme olarak sınıflandırılacak kadar önemli değil.

Temel bir DMA denetleyicisi, I²C ana bilgisayarı ve bir çip üzerinde seri bağlantı noktasına sahip 16/32-bit 68000'in lisanslı ve biraz daha yavaş bir versiyonu olan 68070 atamalı bir CPU vardı . Bu 68070, Philips CD-i'de ana CPU olarak kullanıldı . Ancak bu CPU, Philips tarafından üretildi ve resmi olarak Motorola'nın 680x0 serisinin bir parçası değildi.

Son nesil

4. nesil 68060 , Intel P5 mikro mimarisinin özelliklerinin çoğuna eşdeğer işlevsellik (yönerge seti mimarisi uyumluluğu olmasa da) sağladı .

Diğer varyantlar

Kişisel Bilgisayarlar XT/370 ve AT/370 PC tabanlı IBM uyumlu ana bilgisayarların her biri, S/370 ana bilgisayar talimatlarını taklit etmek için özel mikro kodlu iki değiştirilmiş Motorola 68000 işlemci içeriyordu .

Ana hat 68000 işlemcilerin ölümünden sonra, 68000 ailesi bir ölçüde mikrodenetleyici ve gömülü mikroişlemci sürümlerinde kullanılmıştır. Bu yongalar, yani CPU32 (aka yukarıdaki "diğer" başlığı altında listelenen olanlar arasında, 68330 ), ColdFire , QUICC ve DRAGONBALL .

FPGA teknolojisinin ortaya çıkmasıyla birlikte, uluslararası bir donanım geliştiricileri ekibi, 68000'i bir FPGA çekirdeği olarak birçok geliştirmeyle yeniden yarattı . Çekirdekleri 68080 olarak bilinir ve Vampir markalı Amiga hızlandırıcılarda kullanılır.

Magnetic Scrolls , metin maceralarında sanal makine için bir temel olarak 68000'in talimatlarının bir alt kümesini kullandı .

yarışmacılar

masaüstü

68000 yaygın masaüstü bilgisayarlar kullanıldı 1980'lerde ve 1990'ların sırasında, esas olarak karşı yarıştı Intel 'in x86 kullanılan mimarinin IBM PC uyumlular . 1. Nesil 68000 CPU'lar, esas olarak 16-bit 8086 , 8088 ve 80286 ile rekabet etti . 2. Nesil 80386'ya (ilk 32 bit x86 işlemci) ve 3. nesil 80486'ya karşı yarıştı . Dördüncü nesil, P5 Pentium serisiyle rekabet etti , ancak eski 68000 pazar yerinin çoğu ya feshedilmiş ya da neredeyse (Atari ve NeXT'de olduğu gibi) ya da daha yenisine dönüştürüldüğü için öncekiler kadar yaygın olarak kullanılmadı. mimariler ( Macintosh ve Amiga için PowerPC , Sun için SPARC ve Silicon Graphics (SGI) için MIPS ).

gömülü

Gömülü sistemlerde başarılı olan onlarca işlemci mimarisi vardır . Bazıları 68000'den çok daha basit, daha küçük ve daha ucuz olan mikro denetleyicilerdir, diğerleri ise nispeten karmaşıktır ve karmaşık yazılımları çalıştırabilir. 68000'in yerleşik sürümleri genellikle PowerPC , ARM , MIPS , SuperH ve diğerlerine dayalı işlemci mimarileriyle rekabet eder .

Referanslar

bibliyografya

  • Howe, Dennis, ed. (1983). Ücretsiz Çevrimiçi Bilgi İşlem Sözlüğü . Imperial College, Londra. http://foldoc.org . 4 Eylül 2007'de alındı.

Dış bağlantılar