Superscalar işlemciler, saat döngüsünde birden fazla talimatları yürütmek için tasarlanmıştır, performans. CPU döngüsü zamanını hesaplamak, öğretim gecikmesi, boru hatları aşamaları ve donanım kısıtlamaları gibi çeşitli faktörleri analiz eder.Bu makale, bu tür işlemcilerde döngü zamanını belirlemek için bir adım adım kılavuzunu sunar.
Bileşenleri anlamak
Süperscalar işlemcisinin döngüsü birkaç temel bileşene bağlıdır:
- [FONT:0) Latency:[Dönetici:[Dönetici: 1 ) Bir öğretimi tamamlamak için gereken döngülerin sayısı.
- [FONT:0)Pipeline Derinlik:[Dönetici:[Dönetici:[Dönetici: · 1 ) Öğretim hattında aşama sayısı.
- [FONT:0) Sertware Constraints:[Dönetici:[Dönetici: 1) Veri tehlikeleri, kaynak çatışmaları ve hafıza erişim gecikmeleri gibi Faktörler.
Adım 1: En Uzun Öğretim Latency'i Belirleyin
Öğretimi en geçkile tanımlayın. Bu geçncy genellikle döngü zamanı için daha düşük bir sınır oluşturur, çünkü sonraki talimatlar bu sınırdan daha hızlı tamamlayamaz.
2. Adım: Analyze Boru Aşamaları
Tüm boru hatları aşamalarını hesaplamak. döngü zamanı, boru hattında doğru senkronizasyon sağlamak için en yavaş aşama kadar uzun olmalıdır.
3. Adım: Donanım Konsolosluğu için Hesap
Veri tehlikeleri, kaynak çatışmaları ve hafıza erişimi nedeniyle kaynaklanan gecikmeleri düşünün. Bu faktörler tezgahları veya gecikmeleri tanıtabilir, optimal döngü zamanını etkileyebilir.
Final Hesap
döngüsü süresi en fazla arasında dikkate alınarak belirlenir:
- En uzun öğretim gecikme süresi paralel olarak idam edilebilir talimatların sayısına göre bölünmüştür.
- En yavaş boru hattı aşamasının süresi.
- Donanım kısıtlamalarından ek gecikmeler.
Matematiksel olarak, ifade edilebilir:
[FONT=0)Cycle Time = max (Instruction Latency / Paralelism, Slowest Boru Aşaması, Donanım Gecikmeleri)).