/9/ M ellek ve Programlanabilir Mantık (memory and logic)" Hacettepe Üniversitesi ilgisayar Müh ölümü u derste" astgele erişimli bellek (random-access memory (AM)) Salt okunur bellek (read-only memory (OM)) Programlanabilir mantık aygıtları ( logic devices) Dizisel programlanabilir aygıtlar ellek" ellek, bir grup bilgi saklama hücresi ile bu hücrelerden bilgi aktarmak veya onlara bilgi yüklemek amacıyla tasarlanmış olan devrelerden oluşur türü vardır: astgele erişimli bellek (AM) ellekten okuma elleğe yazma Salt okunur bellek (OM) ellekten okuma Dizisel mantık gösterimi astgele erişimli bellek (AM)" ir AM bellekte herhangi bir konumdaki bilgiye erişim her zaman aynı sürede gerçekleşir Kelime (word): ir grup bit in biraraya gelerek oluşan veri topluluğu bayt = 8 bit lik kelime ir bellek ünitesinin kapasitesi saklayabileceği toplam bilginin kaç bayt olduğu ile ölçülür (a) onventional symbol (a) onventional symbol (b) Array logic symbol (b) Array logic symbol k n bit lik bellek" bit lik bellek" Figure Number: ab Figure Number: ab AAFLX AAFLX n data input lines inary Decimal content k lines ead unit k words n bit per word n data output lines Her biri n bit lik bilgi saklayan toplam k farklı hücreye sahiptir Her hücre dan k - arasında bir adres ile adreslenir Figure Number: AAFLY Figure Number: AAFLZ
nsec lock T T Address valid T T /9/ ead/ Initiate writing Latched Yazma ve Okuma İşlemleri" input valid ellek zamanlama (a) cycle çizeneği ellekten okuma" nsec lock T T T T ellekten okuma: elli bir adreste bulunan ikili bilginin aktarılması işlemidir Adres alanına ( lines) ilgili adresi yaz, Figure Number: Table T Okuma (read) girişini aktive et Page Number: elleğe yazma: elli bir adrese verilen ikili bilginin saklanması işlemidir Adres alanına ( lines) ilgili adresi yaz, Veri girişi alanına (data input lines) ilgili veriyi yaz, Yazma (write) girişini aktive et ead/ output Figure Number: ab Initiate read Address valid valid (b) ead cycle AAFLSA PU saat çevrimi = nsec 8 lock ellek zamanlama çizeneği elleğe yazma " ead/ nsec T Initiate writing T Address valid T Latched T AM türleri" Statik rastgele erişimli bellek (SAM) Dinamik rastgele erişimli bellek (DAM) Trans Access Needs Needs per bit time refresh? ED? ost Applications SAM or X No Maybe x ache memories DAM X Yes Yes X Main memories, frame buffers input valid (a) cycle PU saat çevrimi = nsec 9 nsec lock T T T T Address valid Initiate read AM ın mantıksal yapısı" ead/ S türü bir mandal ile bir ikili hücrenin oluşturulması output Figure Number: ab S S (b) ead cycle AAFLSA valid Address inputs Word Word Word x AM" data S (a) diagram (b) lock diagram (a) diagram (b) lock diagram EN Word (a) diagram (b) lock diagram Figure Number: AAFLS data Figure Number: Figure Number: AAFLS AAFLS Figure Number: AAFLS
/9/ Çakışmalı kodlama " tane kodlayıcı iri satır seçimi gerçekleştirirken, diğeri sütun seçimi Y gerçekleştirir Dinamik bellekler ve adres çoklama" 8-bit column AS register 8 AS 8-bit 8-bit row register 8 memory cell array X binary kodlayıcıya göre daha avantajlıdır Neden? X Y DAM türü bellekler, SAM lara oranla daha büyük kapasitelere ulaşabilir kat daha yoğundur in out Figure Number: AAFLSD Figure Number: 8 AAFLSE Yanlış bulma ve düzeltme" Sayısal sistemler içinde veya sayısal sistemler arası iletişimde, düşük olasılıkla da olsa veri bozulabilir Güvenilirliği arttırmak amacıyla yanlış bulan/yanlış düzelten kodlar kullanılır Yanlış bulma: Oluşabilecek bir hatanın sadece saptanması amaçlanır Yanlış düzeltme: Oluşabilecek bir hatanın hem saptanıp hem de düzeltilmesi amaçlanır Fazladan eşlik (parity) bit leri eklenir Hata oluştuğunda kontrol bit lerinin oluşturduğu vektör (sendrom vektörü) hatanın konumunu gösterir Hamming kodu ()" ichard W Hamming tarafından tasarlanmıştır bit lik bir yanlışı hem saptar hem de düzeltir n bit lik veriye p eşlik bit i eklenir n+p uzunluğunda bir sözcük elde edilir p n + p + Figure Number: Table T Örnek: Hamming kodu ()" Konum 8 9 P P P P 8 P = XO bitler(,,,9,) = = P = XO bitler(,,,,) = = P = XO bitler(,,,) = = P 8 = XO bitler(9,,,) = = Konum 8 9 Örnek: Hamming kodu ()" = XO bitler(,,,,9,) = XO bitler(,,,,,) = XO bitler(,,,,) 8 = XO bitler(8,9,,,) 8 = ise bir yanlış yoktur Konum 8 9 Yanlış yok bit yanlış bit yanlış 8 8
/9/ Hamming kodu ()" bit lik yanlışı düzelten, bit lik yanlışları bulan Hamming kodu Ek bir eşlik bit i eklenir Salt okunur bellek (OM)" elli bir bilginin daimi olarak saklandığı bellek yapılarıdır k girişi n çıkışı olan birleşimsel bir devredir Örnek: P P = P : XO(,,) k inputs () k n OM n outputs (data) = ve P = ve P = ve P = = ve P = yanlış yok bit lik yanlış saptandı (düzeltilebilir) bit lik yanlış saptandı (düzeltilemez) eşlik biti hatalı 9 Figure Number: 9 AAFLSF x8 OM un mantıksal yapısı" OM Programlama ()" I I I I I 8 9 A A A A A A A A Devresi içinde tüm minterm ler (toplam adet) üretilir ve programlamada kullanılabilir Figure Number: Table T Figure Number: AAFLSG I I I I I OM Programlama ()" 8 9 Örnek: Kare Alma ()" bit lik sayıların karesini alan bir birleşimsel devrenin OM kullanarak tasarımı A A A A A A A A Figure Number: Table T Figure Number: AAFLSH
/9/ Örnek: Kare Alma ()" bit lik sayıların karesini alan bir birleşimsel devrenin OM kullanarak tasarımı A A A A A A 8 8 OM OM (a) lock (a) lock diagram diagram A A A A (b) OM (b) OM truth table truth table OM türleri" Maske programlama (mask programming) Yapımcı firma tarafından programlanır ve içeriği değiştirilemez POM (Programmable OM) Kullanıcı tarafından POM Programlayıcı kullanılarak programlanan, ancak bir kez programlandıktan sonra içeriği değiştirilemeyen OM EPOM (Erasable Programmable OM) Kullanıcı tarafından programlanan ve istendiğinde içeriği silinerek yeniden programlanabilen OM EEPOM (Electrically Erasable Programmable OM) Kullanıcı tarafından programlanan ve istendiğinde içeriği elektriksel olarak silinerek yeniden programlanabilen OM Figure Number: ab AAFLSI Figure Number: irleşimsel ab AAFLSI programlanabilir Digital Design, Digital e Design, e mantık aygıtları" POM Programmable OM PLA Programlanabilir mantık dizisi ( logic array) PAL Programlanabilir dizi mantığı ( array O array () logic) (a) () Programmable read-only memory (POM) O array (a) O array () Programmable read-only memory (POM) Programlanabilir mantık dizisi (PLA)" OM dan en önemli farkı, devre içinde tüm minterm lerin üretilmemesidir Programlanabilir AND ve O geçit dizileri sahiptir Örnek: A A (a) Programmable read-only memory (POM) O array AND (b) array Programmable array logic (PAL) O array A AND (b) array Programmable array logic (PAL) O array A A A (b) Programmable array logic (PAL) O array F AND (c) array Programmable logic array (PLA) O array AND (c) array Programmable logic array (PLA) O array F 8 (c) Programmable logic array (PLA) Figure Number: AAFLSK Figure Number: a-c Figure Number: a-c Figure Number: a-c AAFLSJ AAFLSJ AAFLSJ T Programlanabilir mantık dizisi (PLA)" Figure Number: Table 9 oole işlevlerinin PLA kullanarak gerçekleştirimi" Örnek: PLA programming table PLA programming table F (A,,) = Σ(,,,) F (A,,) Product = Σ(,,,) () term A F = (A+A+) F = A+A+A A Product () (T) PLA programming table m term A F F m m m A Product A () (T) A term A F F A A A A (T) F F A A A m m m m A A A m m m m A m m m m m m m m A m m m m A m m m m m m m m A A A m m m m A m m m m m m m m m m m m Figure Number: AAHFUYJ Figure Number: AAHFUYJ
/9/ Programlanabilir dizi mantığı (PAL)" Programlanabilir AND geçit dizisi I Product term AND gates inputs 8 9 F F oole işlevlerinin PAL kullanarak gerçekleştirimi ()" Örnek: w(a,,,d) = Σ(,,) x(a,,,d) = Σ(,8,9,,,,,,) y(a,,,d) = Σ(,,,,,,,8,,,) z(a,,,d) = Σ(,,8,,) I I I 8 9 F F Yalınlaştırma sonrası: w(a,,,d) = A +A D x(a,,,d) = A+D y(a,,,d)=a +D+ D z(a,,,d) = A +A D +A D +A D = w+a D +A D 8 9 Figure Number: AAFLSM oole işlevlerinin PAL kullanarak gerçekleştirimi ()" oole işlevlerinin PAL kullanarak gerçekleştirimi ()" AND gates inputs A A Product D D w w term w A x All fuses intact (always ) 8 y 9 z D Fuse intact Fuse blown A A D D w w Figure Number: Table Page Number: T Figure Number: AAFLSN Dizisel programlanabilir aygıtlar" Simple Programmable Device (S) omplex Programmable Device () Field Programmable Gate Array (FPGA) Simple Programmable Device (S) ()" AND O array (PAL or PLA) Flip-flops Figure Number: 8 AAFLSO
/9/ Simple Programmable Device (S) ()" S nin her bir bölümüne macrocell adı verilir ve bu devreler çarpımların toplamı ile ifade edilen birleşimsel bir fonksiyon ile opsiyonel bir durumludan oluşurlar omplex Programmable Device () " LK OE Programmable switch matrix D block block LK Tipik bir S entegresinde 8 ile macrocell vardır 8 Figure Number: 9 AAFLSP Xilinx Field Programmable Gate Array (FPGA)" Figure Number: Figure Number: AAFLSQ Xilinx FPGA onfigurable lock (L)" H D IN/H S/H E L L G G G G Function G of G G DIN F G H S/ D SD Q YQ L L Vertical long line AAHFUYL F F F F Function F of F F Function H of F, G, and H G H DIN F G H H F S/ E D D SD Q E D Y XQ Horizontal long line 9 K (lock) Note: Muxes without a line are configured by the program memory X Figure Number: AAHFUYK Xilinx FPGA locks ()" Xilinx FPGA AM ell" Slew rate Passive pull-up pull-down V n OE O clock I D Q Delay buffer buffer PAD A[n :] WE D or D n register row am array ead out ead row SPO I Q D WLK clock Figure Number: AAHFUYO Figure Number: AAHFUYP
/9/ Spartan dual-port AM" A[:] WE D register row AM array ead out ead row SPO WLK row AM array ead row DPA[:] ead out SPO Figure Number: Table T by Prentice Hall, Inc Figure Number: AAHFUYQ Figure Number: Table 8 T8 by Prentice Hall, Inc Figure Number: Table 9 T9 Spartan II mimarisi" Spartan II L" ell OUT Y DLL lock AM lock AM Ls Ls Ls Ls lock AM lock AM DLL G G G G FIN Y S F F F I Lookup I Table O I I I Lookup I Table O I arry and ontrol arry and ontrol D S Q K E D S Q K E Y YQ X X XQ DLL DLL F I X IN LK E 8 Figure Number: 9 AAHFUYS Figure Number: 8 AAHFUY 8
/9/ Spartan II " Virtex II mimarisi" T LK TE S O OE D S Q TFF K E D S Q OFF K E V OE Programmable output buffer Programmable ias & ESD Network Internal eference V O Package Pin Package Pin Global lock Mux Ls DM lock AM Multiplier Ls DM lock AM Multiplier Ls IQ I D S Q IFF K Programmable Delay Programmable input buffer Package Pin lock AM Multiplier lock AM Multiplier IE E To Other External To Next V EF of anks 9 DM: lock Manager Figure Number: AAHFUYT Virtex bloğu" Figure Number: AAHFUYU DD mux OK OK OK OK -State DD mux -State IK IK PAD Figure Number: AAHFUYV 9