MIPS mimarisi

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

MIPS, Microprocessor without Interlocked Pipeline Stages, MIPS teknolojileri adlı firma tarafından 1985 yılında geliştirilmiş indirgenmiş komut kümesi türü bir mikroişlemci mimarisidir.

İndirgenmiş komut kümeli bilgisayar terimini ilk kullanan bilgisayar MIPS'dir. Her komut aynı boyuttadır ve komut bilgisayar donanımı tarafından kolayca çözülebilir. Intel x86 ise karmaşık komut kümeli bilgisayar sayılır. Komutların boyutları farklıdır ve komutları çözebilmek için bilgisayar donanımına gömülmüş programlar (microcode) gereklidir.

RISC yapısından ötürü tasarımı çok temiz ve basittir. Sistem karmaşık işlemleri destekleyen yapılar yaratmaktansa sık yapılan basit işlemleri iyileştirme üzerine kuruludur. Bu tasarım avantajından dolayı üniversitelerdeki bilgisayar mimarisi derslerinde genellikle MIPS mimarisi okutulur. Yine basit ve sağlam tasarımından ötürü çoğu modern mikroişlemci mimarisi (IBM/Motorola PowerPC, DEC, ARM) MIPS mimarisinden esinlenerek geliştirilmiştir.

1990 itibariyle üretilen her üç RISC işlemciden birinin MIPS mimarisinde olduğu tahmin edilmektedir. İlk MIPS tasarımları 32 bit, daha yeni tasarımlar ise 64 bittir.

MIPS mimarisi SGI bilgisayarlarından gömülü sistemlere kadar geniş bir yelpazede kullanılmaktadır. Günümüz itibariyle Nintendo 64, Sony PlayStation, Sony PlayStation 2 ve Sony PSP MIPS mimarisi ile çalışan işlemcilere sahiptirler.

Yazmaçlar[değiştir | kaynağı değiştir]

MIPS 32 işlemcisinin parçaları:

  • 32 tane genel-amaçlı yazmaç (her yazmaç 32 bit büyüklüğünde)
  • Birkaç özel-amaçlı yazmaç (PC, HI, LO, vs.)
  • Arithmetic Logic Unit (ALU)

MIPS Assembly Dili[değiştir | kaynağı değiştir]

MIPS assembly diğer Assembly'lere göre çok daha kullanışlı ve basittir. Intel 80x86 assembly dilinin karmaşık yapısına kıyasla tasarımı takip eden, mantıklı bir yapıdadır.

Yorumlar[değiştir | kaynağı değiştir]

Assembly kodunda yorumlar # karakterinden sonra başlar ve sıra sonuna kadar devam eder.

# Bu bir yorumdur
# Bu da yeni bir sırada yer alan yorumdur

Etiketler[değiştir | kaynağı değiştir]

Etiketler kodun bir sırasını işaretler ve sonra bu sıraya yeniden dönülmesini sağlar.

loop: blt $a0, 1, end      # loop etiketi tanımlanıyor  
      mul $v0, $v0, $a0
      sub $a0, $a0, 1
      b loop               # loop etiketi çağrılıyor

Komutlar[değiştir | kaynağı değiştir]

Her komut bir sıra alır.

# Eksiltme komutu (sub)
# $a0 = $a0 - 1
sub $a0, $a0, 1

İşlem kodu[değiştir | kaynağı değiştir]

İşlem kodu komut türünü tanımlar.

# Komut türü = blt (branch if less than)
blt $a0, 1, end
# Eğer $a0 yazmacında bulunan sayı 
# 1'den az ise end etiketine atla

Register[değiştir | kaynağı değiştir]

Merkezi İşlem Biriminde bulunan, belli sayıdaki hızlı saklama aygıtları

end: j $ra  # $ra bir yazmaçtır

SPIM Simulatörü[değiştir | kaynağı değiştir]

MIPS R2000 mimarisinin ücretsiz dağıtılan simulatörü SPIM, Unix, MS Windows ve Macintosh OS X altında kolayca kullanılabilen bir yazılımdır.

Dış bağlantılar[değiştir | kaynağı değiştir]