8085 CPU'nun ALU içinde fazladan bir kaydı var mı?


11

8085 CPU mimarisinden, ALU hesaplama yapıldığında, sonuç bir sonraki saat kenarında akümülatör A'ya geri döndürülür. Ancak akümülatör A doğrudan ALU girişi olarak bağlanır, eğer saat kenarı A'nın iki veya daha fazla kez eklenmesine neden olacak kadar hızlı yükselmezse, böyle bir hatayı tespit etmek çok zor olurdu, böyle bir tasarım çok " kırılgan "bana.

ALU sonuçlarını geçici olarak kaydetmek için ALU içinde fazladan bir kayıt yoksa?

https://en.wikipedia.org/wiki/Intel_8085#/media/File:Intel_8085_arch.svg

https://en.wikipedia.org/wiki/Intel_8085


2
Bu @ KenShirriff… için bir soru gibi görünüyor
duskwuff -inactive-

1
Neden ALU'nun bir ara kayıtla sonuçlanmasının, akümülatöre takmakla aynı olası sorunlara neden olmayacağını düşünüyorsunuz? Her iki durumda da, ALU'nuzun saate göre yeterli kurulum ve tutma süresi ile geçerli bir sonuç ürettiğini daha iyi biliyordunuz.
Foton

Yanıtlar:


17

@Duskwuff olduğundan şüphelenilene baktım. Soruyu cevaplamak için 8085'in ALU'da iki ekstra kaydı var.

8085'in birkaç "gizli" kaydı vardır: 16 bit WZ çifti ve iki 8 bit ALU yardımcı kaydı: ACT ve TMP. WZ, kayıt dosyasının bir parçasıdır; ACT, A (akümülatör) ve TMP, ALU devresinin kendisinde bulunur.

İşte ALU'nun nasıl çalıştığına dair bir diyagram:

8085'in ALU'sunun kayıt yapısı

ACT kaydının birkaç önemli işlevi vardır. İlk olarak, ALU'ya girişi tutar. Bu, ALU'dan gelen sonuçların girişi bozmadan akümülatöre geri yazılmasına izin verir, bu da kararsızlığa neden olur. İkincisi, ACT, akümülatörü etkilemeden sabit değerleri (örn. Arttırma veya azaltma veya ondalık ayarlama için) tutabilir. Son olarak ACT, akümülatörü kullanmayan ALU işlemlerine izin verir.

8085'in ALU kurulumunun ilginç bir sonucu, akümülatöre sadece ALU'dan geçtikten sonra bir değerin yüklenebilmesidir.

8085 kayıt setindeki ayrıntılar burada ve ALU'nun detayları burada .


1
Her nasılsa, bu konuda söyleyeceğin bir şey olacağını biliyordum. : 3
duskwuff -inaktif-

2
parlak ~ (Ken Shirriff'in blogu ve 8085)!
starx

5

Eşzamanlı tasarımlarda, bu tür şeylerin gerçekleşmemesini sağlamak tasarımcının önemli bir görevidir. Verilerin "saatli" hale getirildiği kayıt, saat yükseltme zamanı, saat tutma süresi, saat sinyali değişiminden önce ve sonra veri kararlılığı gibi belirli dinamik özelliklere sahiptir. Zamanlama ihlal edilirse, sonuç durumu garanti edilmez.

Sizin durumunuzda, ALU'nun yayılma gecikmesi vardır ve A'yı iki kez eklemek, toplayıcı içinde önceki A'ya yeni A eklenene ve sonuç çıktısında görünene kadar bir süre olmalıdır. Büyük olasılıkla, böyle bir şeyin cihaz için tanımlanmış izin verilen saat frekansı aralığında olmayacağı simüle edildi ve hesaplandı . Bu nedenle veri sayfasının açıkça minimum ve maksimum saat değerleri vardır. 8085A-2 için diyor ki:

  • Minimum CLK döngü süresi: 320 ns
  • Maksimum CLK döngü süresi: 2000 ns

5

Akümülatör ALU'nun çıkış kaydıdır.

8085'in iki fazlı saati vardır. Bir NOP gibi tek saat komutunun 2 saat döngüsü aldığı yer. Orijinal IBM PC'de kullanılan 8088'e benzer şekilde, 8088'de 4Mhz dört fazlı saat vardı ve 1Mhz hızında talimat verdiler.

İki fazlı saatte, her komut döngüsü için iki osilatör döngüsü vardır.

Dahili olarak, zamanlama için, her iki saatin herhangi bir kenarı kullanılabilir. Saatler ters çevrilmiştir, bu nedenle zamanlama için aslında dört saat vardır.

Sonra düşen kenarda mandallanan şeffaf mandallar ve yükselen saat kenarında mandallanan D-Flip Flop'lar var.

Şeffaf bir mandal, giriş verilerinin saatin yükselen kenarında başlayan çıkışa yayılmasını sağlar ve değerler saatin düşen kenarında mandallanır.

8085'in yayılma yarışı koşullarından kaçınma konusunda birçok seçeneği vardı.

resim açıklamasını buraya girin


"8088'de 4Mhz dört fazlı saat vardı ve 1Mhz hızında talimat verdiler" - 8088'de sadece tek bir saat giriş pini var (simetrik olmayan bir saat beklese de, yüksek durum kabaca iki kat daha uzun sürüyor) her zaman aynı saat kenarında her şeyi saatleyen çoğu modern işlemcinin aksine, bu durumlarda açıkça farklı şekillerde farklı şeyler yaptığını gösteren düşük durum), bu 4 fazlı saat dahili olarak bir şekilde mi üretiliyor? Bunun nasıl çalıştığının bir yerinde bir açıklama var mı?
Jules
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.