tadalafil
ilginiz.com | Blogunuz

How to Configure VLANs on a Cisco Switch

Ağu.18, 2010, Kategori Network

Güzel Bir VLAN(Virtual Local Area Network) örneği

How to Configure VLANs on a Cisco Switch.

Yorum Devamı...

Network Temelleri

Nis.23, 2010, Kategori Genel – Common Area, Network

İkiden fazla bilgisayar arasında kurulan bağlantıya network(ağ) denir.

Fiziksel Port : Bir host(istemci) yada bir ağa bağlanmak için kullanılan ortam aygıtıdır. Bir kablo girişidir.

Mantıksal port : Her birine pozitif sayı verilen, sunucu hizmetlerinden faydalanmak için kullanılan soyut bağlantı noktalarıdır. Bazı sunucu programları belirli portlardan hizmet verir örneğin : telnet-23.port, Web (www-http)-80.port, Pop3-110.port

QoS :Servis kalitesi anlamına gelen QoS(Quality of Service) Ağ üzerindeki uygulamaları önceliklendirir yani gecikmeyi en aza indirir böylece zaman kaybını azaltır. Bant genişliği(bandwidth)nin en verimli şekilde kullanılmasını sağlar. Eğer QoS destekli bir ADSL modeminiz varsa istediğiniz servisleri önem sırasına göre önceliklendirebilirsiniz. QoS her veri paketine farklı öncelik verir. Özellikle VoIP(ses) paketleri sürekli kontrol edilir. VoIP(ses) paketlerinden yüksek kalitede ses(genelde insan sesi) elde edebilmek için QoS şarttır. Örneğin Msn yada Skype da sesli konuşma yaparken sesin kesilmemesi, kalitesi QoS tarafından sürekli yapılan ses paketi kontrolü ile sağlanır. Ses paketlerinden sonra öncelik görüntüye verilir.

TCP – UDP Portları : Internet üzerinde her bilgisayarın bir IP’si vardır ve bu IP üzerinde çok fazla sayıda port vardır. Toplamda 65,535 TCP ve 65,535 UDP portu vardır. Örneğin TCP port numarası 20 ve 21 FTP sunucusu için kullanılmaktadır. 80 Web için kullanılır. Bir bilgisayar TCP protokolünü kullanarak bize veri gönderdiğinde yada veri aldığında, bu veri TCP portunu kullanır. UDP portuda bu şekildedir.

Port adresleme : istemci(client) yazılımının, uzakdaki host üzerindeki server işlemi ile ilişkilendirildiğini bilmesidir. Hedef port default(varsayılan) yada manuel olarak yapılandırılmıştır.

Örneğin :  Bir web browser uygulaması, bir web browser a bir istekde bulunduğu zaman, manuel olarak port numarası belirtilmediyse, browser TCP ve 80 port numarasını kullanır. Çünkü TCP port 80 default olarak web uygulamalarına atanmıştır.

TCP/IP Protokolü : Network üzerinde en yaygın kullnılan protokoldür. 6 temel protokolden oluşmuştur bunlar : TCP, UDP, IP, ICMP, IGMP ve ARP dir.

TCP protokolü : Veri iletimi yapılmadan önce iki bilgisayar arası bağlantı kurulur. Veri iletimi sadece bu bağlantı üzerinden yapılır. Bu bağlantıya Unicast adı verilir. Kaynak bilgisayar verileri paketler halinde gönderir. Hedef bilgisayar paketleri birleştirerek orjinal veriyi elde eder. Parçaların iletildiğine dair kaynak bilgisayara doğrulama bilgisi gönderilir. Eğer doğrulama bilgisi gelmez ise o paket tekrar gönderilir. Yani TCP verinin gönderildiğini onaylar. Güvenli veri iletimini sağlar.  Kaynak ve hedef uygulamalarında port bilgiside gönderilir. Veri gönderildikten sonra bağlantı kesilir. TCP de iletilen veri paketlerine segment denir.  TCP kullanılan uygulamalara örnek olarak Web Browsers, E-mail, Dosya transferini verebiliriz.

UDP protokolü : Veriyi bağlantı kurmadan iletir. “transaction” yönlendirmeli bir protokoldür. Verinin iletildiğine dair doğrulama bilgisi gönderilmez. Dolayısıyla güvenilir değildir. UDP sadece port numarası sağlar. Bağlantı kurma işlemi ve doğrulama bilgisi gibi işlemleri yapmadığı için hızlıdır. Küçük boyutlu veri iletiminde elverişlidir. UDP de iletilen veri paketlerine datagram denir. UDP içeren uygulamalara örnek : Domain Name System(DNS), Video Streaming, Voice over IP (VoIP).

IP protokolü : Paketler TCP veya UDP üzerinden geçerken IP protokolünü kullanırlar. IP protokolü, paketler hedeflerine ulaşmadan rotalarını belirler. Her hangi bir pakette kaynak ve hedef bilgisayarın IP adresi, Paket başlığı gibi bilgiler ve gönderilecek veri vardır. Bu paket diğer ağların durumuna göre daha küçük parçalara bölünebilir ve hedef bilgisayarda geri birleştirilir.

ICMP protokolü : Hata mesajı gönderir. Örneğin bir bilgisayara paket ulaştırma işlemi başarısız olduğunda ICMP, “Destination unreachable” mesajını kaynak bilgisayara gönderir.

IGMP protokolü : Multicast yönetimini organize eden protokoldür. Network ortamında IP Multicasting grup adreslerini yönetir. Multicast yönetimi çoklu bilgisayar ortamında veri taşınmasıdır. Multicast Group yani seçilmiş alıcı gruplara gönderilmiş mesajlara ait işlemlere IP Multicasting denir.

ARP protokolü : Bir IP adresini bir MAC adresine denk yapan protokoldür. Kaynak ve hedef  bilgisayarın MAC adresine göre veri gönderir.

ARP cache : IP adresine karşılık gelen MAC adresleri ARP önbelleğine kaydedilir. Bu şekilde bir sonraki bağlantı istenmesinde daha hızlı yanıt gelir.

MAC ADRESİ NEDİR?

Ethernet kartı(Network Interface Card-NIC-Ağ arabirim kartı) 12 karekterlik(48 bit) hexadecimal ve eşsiz bir numaraya sahiptir. Bu numaraya MAC adresi(fiziksel adres) denir. Mac adresinin formatı aa:aa:aa:aa:aa:aa şekilde ikili gruplar şeklindedir. MAC adresinin yarısı (6 karakter) üretici firmayı belirler ve diğer yarısı her bilgisayarda farklı olacak şekilde belirlenmişdir.

LAN

Aynı yerel alan içerisinde(bir bina, bir kampüs gibi) bulunan bilgisayarlar arasındaki ağ, LAN(Local Area Network) olarak adlandırılır. LAN yapısının büyüklüğüne göre : küçüklerde switch, büyüklerde router kullanılabilir. İki bilgisayar arasında LAN kurarken, 100metre uzaklığa kadar sinyal taşıyabilen, Twisted-Pair kablo modellerinden CAT5 kullanmak yeterlidir.

İkiden fazla bilgisayar arasında LAN kurarken iki yol vardır. Birincisi BNC kablo ile seri olarak kurulan baglantıdır. Bu sistem cok eski ve dezavantajları olduğundan günümüzde yaygın olarak CAT5 kullanılır. Tüm bilgisayarlar ayrı ayrı CAT5 ile bir HUB’a bağlanabilir. Böylece bağlantıda oluşabilecek bir arıza tüm ağı etkilemez. LAN yapısında Firewall kullanarak güvenlik sağlanabilir.

WAN

Yerel ağların birbirine bağlanmasına WAN(Wide Area Network) denir.

OSI MODEL

Ağ üzerinde bilgisayarlar arası iletişim OSI(Open System Interconnection) kuralları çerçevesinde uygulanır. OSI 7 katmandan oluşur ve bir üst katman bir alt katmanla her zaman iletişim içerisindedir. OSI katmanları :

7 Application
6 Presentation
5 Session
4 Transport
3 Network
2 Data-Link
1 Physical

7.Application Layer (Uygulama Katmanı) : Kullanıcı uygulamalarını içerir. Örnek uygulamalar : e-mail, SNMP(Simple Network Management Protocol), DNS(Domain Naming System), POP(Post Office Protocol), FTP(File Transfer Protocol), http(Hypertext Transfer Protocol), DHCP(Dynamic Host Control Protocol), Telnet.

6.Presentation Layer (Sunum Katmanı) : Verinin anlaşılır bir formata dönüştürüldüğü katmandır. Veriyi sıkıştırma, şifreleme işlemleride yapılabilir. Dönüştürülen formatlara örnek : JPEG, MPEG, TIFF, ASCII, GIF

5.Session Layer (Oturum Katmanı) : İletişim kurulacak bilgisayarlar arasında oturum açar ve sonlandırır. Bu katmanda kullanılan servislere örnek : NFS(Network File System), SQL(Structured Query Language), ASP(Apple Talk Session Protocol).

4.Transport Layer (Nakil Katmanı) : Nakil edilecek verinin bozulmadan hedef bilgisayara ulaştırılmasını sağlar. İçerdiği protokollere örnek : TCP, UDP Bireysel bir servis, aynı transport layer katmanı içinde aynı port numarasına atanmış iki servise sahip olamaz. Transport katmanı veriyi parçalara böler ve ağ üzerinde dağıtım için bir başlık ekler.

Bu başlık UDP datagramında : kaynak(source) ve hedef(destination) portlarını sağlar.

TCP segmentinde ise : kaynak(source) ve hedef(destination) portları, aynı düzende teslim için sıralama, alınmış segmentleri onaylama(acknowledgement), tıkanıklığı yönetme ve akış kontrolü sağlar.

3.Network Layer (Ağ Katmanı) : Paketlerin network ortamında hareketlerini sağlar. Paketlerin ağ adreslerini ve yönlendirme protokollerini kullanarak bu paketleri uygun ağ lara yönlendirir. Router bu katmanda tanımlıdır. Adresleme yaparak paketlerin en kısa yoldan ulaşmasını sağlar. 4 temel işlemi içerir bunlar : Adresleme, Encapsulation, Yönlendirme ve Decapsulation dır.

ağ katmanı protokolleri : Internet Protocol version 4 (IPv4), Internet Protocol version 6 (IPv6), Novell Internetwork Packet Exchange(IPX), Apple Talk, Connectionless Network Service (CLNS/DECNet)

2.Data-Link Layer (Data Link Katmanı) : Network üzerinde paketlerin nasıl taşınacağını belirler. Paketlere hata kontrol bitlerini ekleyerek çerçeve(frame) halinde fiziksel katmana iletme işinden sorumludur. Çerçeve hatalı iletilmiş ise başdan gönderir. Kullanılan protokollere örnek : ATM, Frame Relay

1.Physical Layer (Fiziksel katman) : Kablolar, Hub, Repeater bu katmanda tanımlıdırlar. Tanımlanmış bir protokol yoktur. Fiziksel katmanın amacı ; elektrikli, optik yada mikrodalga sinyal oluşturarak her çerçeve(frame)deki bitleri gösterir.

Yorum Devamı...

Yeni başlayanlar için birkaç java uygulaması

Nis.08, 2010, Kategori java

Temel Veri Türleri
Ana method(static void main) kullanmayla basit bir örnek. öğrencilerin sayısını ve notlarını girelim. Notlardan en büyüğünü, en küçüğünü bulalım. ortalamayı hesaplayalım. Notları girerken -1′e basınca bize sonucu versin.
import java.util.Scanner;
class ogrenci
{
public static void main(String[] args)
{
int ogr_say,i;
float max_not,min_not,sum=0,ortalama;
Scanner input=new Scanner(System.in);
System.out.printf(“Ogrenci sayisini giriniz : “);
ogr_say=input.nextInt();
float[] not=new float[ogr_say];
for(i=0;i<ogr_say;i++)
{
System.out.printf(“%d.ogrencinin notunu giriniz : “,i+1);
not[i]=input.nextFloat();
sum+=not[i];
if(not[i]==-1){break;}
}
ortalama=sum/(i);
max_not=not[0];
min_not=not[0];
for(i=0;i<ogr_say;i++)
{
if(not[i]>max_not) max_not=not[i];
if(not[i]<min_not) min_not=not[i];
}
System.out.printf(“\n%d ogrencinin ortalamasi : %.2f\n”,i,ortalama);
System.out.printf(“En buyuk not : %.2f\n”,max_not);
System.out.printf(“En kucuk not : %.2f\n”,min_not);
}
}
Method kullanımına örnek
import java.util.Scanner;
class sayilar
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int sayilar[]={1,2,3,4};
toplam(sayilar); //method çağırma
}
public static void toplam(int sayi[]) //Method
{
int toplam=0;
for(int i=0;i<sayi.length;i++)
toplam+=sayi[i];
System.out.printf(“\nsayilarin toplami : %d”,toplam);
}
}
Math methoduna örnek. Math.max, Math.min, Math.abs, Math.ceil, Math.sin…şeklinde kullanılabilir. program içinde ; Math.min(a,b);  gibi. Girilien 4 sayıdan en küçüğünü Math.min methodu ile bulalım.
class calculation
{
public int hesap(int sayilar[])
{
int minimum;
minimum=sayilar[0];
for(int i=0;i<sayilar.length;i++)
{
minimum=Math.min(minimum,sayilar[i]);
}
return minimum;
}
}
import java.util.Scanner;
import java.lang.Math;
class BuyukKucukSayiBul
{
public static void main(String[] args)
{
calculation ObjectCalc=new calculation();
Scanner input=new Scanner(System.in);
int[] sayi=new int[4];
for(int i=0;i<4;i++)
{
System.out.printf(“%d.sayiyi girin : “,i+1);
sayi[i]=input.nextInt();
}
System.out.printf(“\nMinimum is %d\n”,ObjectCalc.hesap(sayi));
}
}
Bir borç hesaplama programı yazalım. Kullanıcıya Faiz oranını, Borç miktarını ve kaç yıl sonra ödeyeceğini soralım. Bunların Default değerlerini atayalım(constructor)
class Borc
{
private double YillikFaizOrani;
private int YilSayisi;
private double BorcMiktari;
private String BorcTarihi;
Borc() //constructor, default değerleri
{
YillikFaizOrani=2.5;
YilSayisi=1;
BorcMiktari=1000;
BorcTarihi=”03.05.2010″;
}
public void setYıllıkFaizOrani(double FaizOrani)
{
YillikFaizOrani=FaizOrani;
}
public void setYilSayisi(int Yil)
{
YilSayisi=Yil;
}
public void setBorcMiktari(double Miktar)
{
BorcMiktari=Miktar;
}
public double TotalPayment()
{
return (YillikFaizOrani*YilSayisi*BorcMiktari);
}
public double MonthlyPayment()
{
return (TotalPayment()/(YilSayisi*12));
}
public double getYıllıkFaizOrani() {return YillikFaizOrani;}
public int getYilSayisi() {return YilSayisi;}
public double  getBorcMiktari() {return BorcMiktari;}
public String getBorcTarihi() {return BorcTarihi;}
}
////  TEST  JAva
import java.util.Scanner;
class TestProg
{
public static void main(String[] args)
{
double FaizOrani;
int Yillar;
double BorcMiktari;
Scanner cgty=new Scanner(System.in);
Borc BorcObje=new Borc();
System.out.printf(“\nFaiz oranini giriniz : “);
FaizOrani=cgty.nextDouble();
System.out.printf(“Yil sayisini giriniz : “);
Yillar=cgty.nextInt();
System.out.printf(“Borc miktarini giriniz : “);
BorcMiktari=cgty.nextDouble();
BorcObje.setYıllıkFaizOrani(FaizOrani);
BorcObje.setYilSayisi(Yillar);
BorcObje.setBorcMiktari(BorcMiktari);
System.out.printf(“\nYillik faiz orani : %.2f\n”,BorcObje.getYıllıkFaizOrani());
System.out.printf(“Yil sayisi : %d\n”,BorcObje.getYilSayisi());
System.out.printf(“Borc miktari : %.2f\n”,BorcObje.getBorcMiktari());
System.out.printf(“Odemeye baslama tarihi : %s\n”,BorcObje.getBorcTarihi());
System.out.printf(“Aylik odeme miktari : %.2f\n”,BorcObje.MonthlyPayment());
}
}
Girilen bir tam sayının basamaklarını toplayalım
import java.util.Scanner;
class AddDigit
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int nmbr;
System.out.printf(“\nBir tamsayi giriniz :  ”);
nmbr=input.nextInt();
System.out.printf(“rakamlarin toplami : %d”,Sum(nmbr));
}
public static int Sum(int number)
{
int x,sum=0;
while(number>0)
{
x=number%10;
sum+=x;
number=number/10;
}
return sum;
}
}
3×3 lük bir matrix yapalım. Matrixin değerleri 0 ve 2 arasında random olsun. Bir tanede Method kullanalım.
Random sayı nasıl tanımlanır;
import java.util.Random; Bu kütüphanemiz
Random RandomSayi=new Random(); Random sayı tanımlıyoruz.
RandomSayi.nextInt(2); Random sayı 0 ile 2 arasında demektir.
import java.util.Scanner;
import java.util.Random;
class MatrixProg
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int matrix[][]=new int[3][3];
int i,j;
Random RandomSayi=new Random();
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
PrintMatrix(RandomSayi.nextInt(2),i,j);
}
System.out.printf(“\n”);
}
}
public static void PrintMatrix(int n, int i, int j)
{
int matrix[][]=new int[3][3];
matrix[i][j]=n;
System.out.printf(” %d”,matrix[i][j]);
}
}
Girilen bir sayının asal olup olmadığını bulma
import java.util.Scanner;
class PrimeNumber
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int x;
System.out.printf(“Bir sayi girin : “);
x=input.nextInt();
if(Asalsayi(x))
System.out.printf(“%d asal sayidir”,x);
else
System.out.printf(“%d asal sayi degildir”,x);
}
public static boolean Asalsayi(int a)
{
if(a<0)
return false;
else
{
for(int i=2;i<a/2;i++)
{
if(a%i==0)
return false;
}
}
return true;
}
}
Java Applet örneği
Applet kullanımına örnek bir program.Constructor ile bir string yazdıralım.
4 sayının ortalamasını bulalım ve ortala 5.56 nın altında ise throw ile hata mesajı yazdıralım.
import javax.swing.*;
import java.awt.*;
public class MyApplet extends JApplet{
private double[] sayilar=new double[4];
private String name;
public MyApplet(){ name=”cgty”; }//constructor
public void init()  //açılışta çalışacak
{
for(int i=0;i<sayilar.length;i++)
{
sayilar[i]=Double.valueOf(JOptionPane.showInputDialog(String.format(“%d.sayiyi giriniz”,i+1)));
}
}
public static double Ortalama(double nmbr[])
throws Exception
{
double sum=0,ort;
for(int i=0;i<nmbr.length;i++)
{
sum+=nmbr[i];
}
ort=sum/nmbr.length;
if(ort>5.56) return ort;
else throw new Exception(“Ortalama cok dusuk!!”);
}
public void paint(Graphics g)
{
try
{
JOptionPane.showMessageDialog(null,String.format(“Ortalama : %f”,Ortalama(sayilar)));
g.drawString(String.format(“Ortalama : %f”,Ortalama(sayilar)),40,30);
g.drawString(String.format(“isim : %s”,name),40,70);
}
catch(Exception exception)
{
JOptionPane.showMessageDialog(null,exception.toString());
}
}
}
Buda appletimizin html sayfası
<applet code=MyApplet width=256, height=256>
</applet>
Applet
girilen bir sayıya kadar olan asal sayıları yazdıralım
import javax.swing.*;
import java.awt.*;
public class Asallar extends JApplet
{
public void paint(Graphics g)
{
try
{
int sayi=Integer.valueOf(JOptionPane.showInputDialog(“Bir sayi girin”));
int b,y=25;
for(int i=2;i<=sayi;i++)
{b=0;
for(int j=1;j<=i;j++)
if(i%j==0)b++;
if(b==2)
g.drawString(String.format(“%d”,i),40,y+=20);
}
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,ex.toString());
}
}
}
Applet kullanmayla ile bir kaç şekil çıkaralım
import javax.swing.*;
import java.awt.*;
public class sekiller extends JApplet
{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.drawRect(40,40,50,80); //(x,y,genişlik,yükseklik)
g.setColor(Color.blue);
g.fillOval(40,130,90,60); //fill ile şekil çıkardığımızda, şeklin içini renk ile dolar
g.setColor(Color.magenta);
g.drawLine(280,70,90,20);
g.setColor( Color.green );
g.drawString( “GREEN!”, 140, 110 );
g.setColor( Color.yellow );
g.drawArc( 10, 110, 80, 80, 90, 180);
}
}
Yorumlar kapalı Devamı...

MIPS teknolojisi ve kayan nokta işlemi

Nis.01, 2010, Kategori İşlemciler

MIPS

1981 yılında John L.Hennessy, Standford Üniversitesinde, MIPS(Microprocessor without Interlockes Pipeline Storage) mimarisini geliştirmiştir. 1985 yılında ilk MIPS 32 bit işlemcili R2000 yapılmışdır. MIPS teknolojileri R2000, R3000, R6000, R4000, R4400, R4200, R8000, R4300 ve R10000 dir.  İlk 64 bitlik mikroişlemci olan R4000 1991 yılında piyasaya çıkarıldı. MIPS yapısında 0 dan 3 e 4 yardımcı işlemci(coprocessor)vardır. Coprocessor 0 sistem kontrol için, coprocessor 1 kayan nokta birimi(floating-point unit) için kullanılmıştır. Diğer işlemcilerin geçerli bir mimarisi vardır ama ayrılmış bir kullanımı yoktur. Komut ve mimarisi assembly formatındadır. Diğer işlemciler gibi MIPS birden fazla birden fazla şekilde programlanmış olabilir. Assembly, c programlama..vs İşlemcinin yuvaları ile boru hattının olması ve eş zamanlı olması, komutları aynı zamanda işleyebilmesi demektir. Çoğu MIPS işlemciler bugün iş istasyonlarında(workstation) ve Sunucu(server)larda kullanılmaktadır.

Kayan nokta işlemi

Kayan noktalı sayılar sistemi IEEE 754 standartına göre geliştirilmiştir. Bu standarta göre geliştirilmesinin sebebi çeşitli sistemler üzerinde uyum sağlamasıdır. Kayan nokta işleminin amacı; Yüksek performanslı grafik sistemleri oluşturma gibi özel amaçlı uygulamalar ve işlemcilerden daha fazla hız talep etme gereksinimlerini karşılamaktır. Modern uygulamalar çarpma, bölme, toplama, karekök ve bunlar gibi bazı kayan nokta işlemlerini kapsar. Derleyici etkisi : Derleyici gecikmesi, düşük bir gecikme süresini varsayarsa, çok fazla CPI, derleyicinin zaman çizelgesine(schedule) göre daha yüksek gecikme ile sadece bölücüler için artırılabilir.
1 Yorum Devamı...

İşlemci hızı bulma ve işlemcileri karşılaştırma

Mar.23, 2010, Kategori İşlemciler

İşlemci hızını hesaplamaya geçmeden önce temel kavramları anlayalım
İşlemci her bir komutu bir saat döngüsünde(clock cycle) gerçekleştirir. 1 Mhz saniyede 1 milyon saat döngüsünü gerekleştirir.
Execution time(yürütme süresi) : Bir görevi tamamlamak için geçen süredir. Bu süreye I/O ve diğer programlar için beklenen süre dahil değildir.
user cpu time ve system cpu time olmak üzere 2 ye ayrılır. Execution time = user cpu time + system cpu time
Response time(tepki süresi) : Bir görevin başlaması ve bitişi arasında geçen süreye response time(tepki süresi) denir.
response time = user cpu time + system cpu time + wait time
program : komutlardan oluşan dosyadır.
Process(süreç) : programın komut dizelerinin işlemci üzerinde çalışmasıdır.
throughput : birim zamanda yapılan iş miktarıdır.
CPI = Her komut için ortalama saat(clock) döngüsüdür.
instruction=komut demekdir.

İşlemci hızının hesaplanması


instructions = döngü hızı/çalışma süresi = ins/sn
CPI = frekans/instructions

Örneğin: Elimizde 2 program ve 2 makine olsun. programlar P1, P2 ve makineler M1, M2 olsun. Makinelerinin frekans hızları;
M1-200 Mhz(200×10^6 döngü/sn)
M2-300 Mhz(300×10^6 döngü/sn)
P1 programının M1 makinesi üzerindeki döngü hızı ve çalışma süresi: 200×10^6 10sn
P1 programının M2 makinesi üzerindeki döngü hızı ve çalışma süresi: 160×10^6 5sn
P2 programının M1 makinesi üzerindeki döngü hızı ve çalışma süresi: 180×10^6 3sn
P2 programının M2 makinesi üzerindeki döngü hızı ve çalışma süresi: 130×10^6 4sn
şeklide olsun şimdi CPI’ları hesaplayalım;
P1 programının M1 makinesi üzerindeki CPI’ını bulalım;
instructions = döngü hızı/çalışma süresi
instructions = 200×10^6 / 10 = 20×10^6 ins/sn
CPI = frekans/instructions
CPI = 200×10^6 / 20×10^6 = 10 döngü/ins
P1 programının M2 makinesi üzerindeki CPI’ı
instructions = döngü hızı/çalışma süresi
instructions = 160×10^6 / 5 = 32×10^6 ins/sn
CPI = frekans/instructions
CPI = 300×10^6 / 32×10^6 = 9.375 döngü/ins
P2 programının M1 makinesi üzerindeki CPI’ı
Instructions = 180×10^6 / 3 = 60×10^6 ins/sn
CPI = 200×10^6 / 60×10^6 = 3.33..döngü/ins
P2 programının M2 makinesi üzerindeki CPI’ı
Instructions = 130×10^6 / 4 = 32.5 x10^6 ins/sn
CPI = 300×10^6 / 32.5×10^6 döngü/ins
.
CPU time = CPI x clock time
CPU time = CPI / frekans
.
örneğin : A makinesinin Clock time’ı 2ns CPI’ı 4.0 döngü/ins ve B makinesinin Clock time’ı 2ns CPI’ı 1.2 döngü/ins
hangi makine daha hızlıdır, ne kadar hızlıdır?
CPU time = CPI x clock time
(CPU)A = 8 ns/ins
(CPU)B = 2.4 ns/ins
8/2.4=3.33  B makinesi A dan 3.33 kat daha hızlıdır.

Yorum Devamı...

Arama

Site içerisinde arama yapabilirsiniz...

Etiketler