Transcript Java 1

Uniwersytet Łódzki
Wydział Matematyki i Informatyki,
Katedra Analizy Nieliniowej
Układy logiczne
Architektura Systemów Komputerowych
mgr inż. Michał Misiak
Technologie współczesnej
mikroelektroniki



Przenikanie się oprogramowania i sprzętu tzw.
Soft-Hardware
Zastosowanie metod komputerowego
wspomagania projektowania złożonych układów
(CAD – Computer Aided Design)
Korzystanie z języków specyfikacji sprzętu tzw.
Hardware Description Language zamiast
składaniu z dostępnych komponetnów
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Tranzystor





Tranzystor unipolarny (FET) i bipolarny
Metal-Oxide-Semiconductor FET
Dren oraz źródło – silnie domieszkiwane obszary z doprowadzonymi kontaktami
Przepływ prądu pomiędzy źródłem, a drenem występuje po przez kanał
Sterowanie prądem następuje po przez zmiany napięcia bramka- źródło
Stany tranzystora:



Nasycony: UDS >= UDSsat
Nienasycony: UDS < UDSsat
UDSsat = UGS - UT
UGS – napięcie bramka-źródło
UT – napięcie progowe (tworzenie kanału)
UDS – napięcie źródło-dren
UDSat – napięcie nasycenia
Uwaga! Możliwość uszkodzenia
tranzystora MOS ze względu na przebicie
elektrostatyczne izolatora
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Źródło: http://www.chip.pl/arts/archiwum/n/printversion/printversion_58937.html

Tranzystory MOS

Tranzystory tego typu charakteryzują się:
 małym
poborem mocy,
 odpornością na zakłócenia
 dużą częstotliwością przełączania
 Prostą konstrukcją – duże możliwości
miniaturyzacji
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
CMOS – Complemenrtary MOS








Technologia półprzewodnikowa krzemowych układów
scalonych
Układy zbudowane z tranzystorów MOS
Połączone w taki sposób, że w ustalonym stanie
logicznym przewodzi tylko jeden
Układ nie pobiera w stanie jałowym prądu
Problem przy wysokich częstotliwościach –
przeładowywanie pojemności
Bardzo tanie w realizacji
Zapewniają dużą gęstość tranzystorów – w nowoczesnych
układach powierzchnia tranzystora to 1um
Niewystarczająca szybkość przełączania CMOS –
zastępują je rozwiązania na arsenku galu
Układ wykonany
W technologii CMOS
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Miniaturyzacja układów




Minimalny wymiar charakterystyczny - głównym
wyznacznikiem stopnia miniaturyzacji
Minimalny wymiar charakterystyczny
definiowany jest przez rozdzielczość procesu
litograficznego i procesu trawienia
MWC – przeważnie jest to wymiar pojedynczego
tranzystora MOS
W drugiej połowie ’90 powszechnie
przemysłową technologią była 0,35um, przy
średnicy podłoża 200 nm
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Proces wytwarzania
mikroprocesorów







Wykonanie monolitycznego krzemowego
walca
Pozbawienie walca wszelkich zanieczyszczeń
po przez proces odwirowywania
Cięcie walca na części – najczystsze są
wewnętrzne części tzw. wafla (ang. silicon
wafer)
Pokrycie wafla warstwami domieszek
Przeprowadzenie procesu litografii
Przykrycie warstwą miedzi, która będzie
stanowiła serię wyprowadzeń
Cięcie wafla w celu uzyskania rdzeni
procesorów
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Proces litografii





Wyrysowanie na płytce
krzemu pokrytej
światłoczułym lakierem
Naświetloną część lakieru
łatwo zmyć odkrywając
części do wytrawienia
Maszyną do litografii jest
skaner litograficzny
Wykorzystywany efekt
przesunięcia fali
Prowadzone badania nad
długościami fali światła
pozwalające produkować
tranzystory o 0,07
mikrona
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Clean Room



Zachowanie wysokiej
czystości
Norma ISO 14644-1:
2 cząsteczki
wielkości 2um na 1
metr sześcienny
Żółty kolor
oświetlenia
utrzymywany ze
względu na procesy
litograficzne
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Złożoność procesorów

http://en.wikipedia.org/wiki/Transistor_cou
nt
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Technologie układów programowalnych


Rozwój technologii pozwolił na budowę układów programowalnych przez użytkownika
tzw. PLD/FPGA
Ulepszenie procesu technologicznego:








redukowaniu wymiarów elementów półprzewodnikowych
zwiększenie liczby warstw metalizowanych połączeń
powstanie nowych technik programowania
FPLD (Field Programmable Logic Devices) – układy z możliwością programowania i
rekonfiguracji
Technologie wykorzystywane do tworzenia FPLD: pamięć SRAM, FLASH i ROM
Są to odpowiednio zorganizowane systemy pamięci pozwalające realizować zmienne
funkcje przetwarzania
Aktualnie układy FPLD pozwalają realizować projekty o złożoności kliku milionów
bramek
Możliwość rekonfiguracji statycznej i online pozwalającej zmienić strukturę w trakcie
działania
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
FPGA w rzeczywistości
Źródło: http://web.mit.edu/skd/www/mas/images/fpga.jpg
Dwaj duzi dostawcy: Altera i Xlinix.
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Cechy układów PLD/FPGA





Układy produkowane w dużych seriach: niska cena,
wysoka jakość
Nie jest wymagane zamawianie ich u producenta (w
przeciwieństwie do układów ASIC)
Układy nie realizują żadnej specyficznej funkcji
W porównaniu do procesorów układy te oferują: większą
szybkość, niższy koszt i wyższą niezawodność
Słabo nadają się do realizacji bardzo złożonych
systemów
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Zastosowanie FPGA/PLD



Aparaty i urządzenia produkowane w małych
seriach
Zastępowanie układów małej i średniej skali
integracji
Zastosowanie wymagające wielokrotnego
programowania:
 Prototypy, emulatory, symulatory
 Programowalne i rekonfigurowalne
koprocesory,
procesory specyficzne
 Kontrolery wymagające adaptacji
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Metody komputerowego
wspomagania projektowania

Narzędzia te umożliwiają:
 Modelowanie
 Budowę wirtualnych prototypów
 Symulację i analizę
 Automatyczną syntezę


Wykorzystywanie gotowych projektów (desing
reuse): rdzeni mikroprocesorów,
mikrokontrolerów, procesorów sygnałowych, etc
…
Przykłady ALTERA MAXII+
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Komputerowe wspomaganie
projektowania układów




Problem: gęstość upakowania elementów w najnowszych układach
sięga 100 mln tranzystorów/10 mln bramek
Wykorzystanie komputerowych systemów projektowania
Stworzenie języków opisu sprzętu (Hardware Description Language)
Narzędzia te umożliwiają:





Modelowanie
Budowę wirtualnych prototypów
Symulację i analizę
Automatyczną syntezę
Wykorzystywanie gotowych projektów (desing reuse): rdzeni
mikroprocesorów, mikrokontrolerów, procesorów sygnałowych, etc
…
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Hardware Description Langauge


Umożliwienie projektantowi układów scalonych opisywanie: funkcji,
struktury i parametrów na wyższym poziomie abstrakcji
Specyfikacja powinna zapewniać opis:




System powinien umożliwić symulację oraz animację modelowanego
systemu w celu analizy lub weryfikacji różnych charakterystyk
Języki HDL znacznie bardziej skomplikowane niż języki programowania



zachowania systemu
ograniczeń strukturalnych i fizycznych
Opis zawiera skomplikowane informacje na temat struktury i parametrów
Układy wykonują operacje współbieżne na bardzo niskim poziomie abstrakcji (w
programowaniu dane w układach przetwarzane są szeregowo)
Postanie koncepcji produktu wirtualnego

Biblioteki funkcjonalne
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Synteza układów
Specyfikacja układu w języku HDL
 Kompilacja do opisu przesłań rejestrowych
 Kompilacja do poziomu sieci logicznej
 Synteza i optymalizacja logiczna
 Odwzorowanie technologiczne
 Synteza fizyczna lub programowanie
układu

Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Układy logiczne

Układy kombinacyjne
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Układy kombinacyjne
Podstawowy układ logiczny umożliwiający
realizacje funkcji boolowskich
 Składa się z elementów logicznych
 Jest elementem złożonych układów
cyfrowych

Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Funkcja boolowska

Odwzorowanie zbioru wektorów (ciągów
binarnych) z X w zbiór wektorów Y, gdzie X i Y
są podzbiorami n-krotnego iloczynu
kartezjańskiego B={0,1}
f : X  Y , gdzie: X  B , Y  B
n
m
Jeśli X = Bn, to funkcję nazywamy zupełną. Jeśli funkcja dla danego wektora
jest nieokreślona to oznaczmy to przez „-”
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Funkcja boolowska




może być przedstawiona w postaci tablicy o n+1
kolumnach i 2n wierszach
W kolejnych wierszach zapisywane są wszystkie
wartości ciągu x1, x2, … xn, czyli wszystkie wektory x
W ostatniej kolumnie podana jest wartość Y
Funkcję można zapisać podając zbiory wektorów dla
których funkcja przyjmuje odpowiednie wartości



F={x: f(x)=1}
R={x: f(x)=0}
D={x: f(x)=-}
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Funkcje boolowskie



Reprezentacja funkcji
boolowskich w
postaci formuł ułatwia
realizację elementów
logicznych (bramki
logiczne)
Operatory: AND, OR,
NOT
Przykład formuły
f  x1 x2 x3  x1x2 x3  x1 x2 x3  x1x2 x3
X1
x2
x3
f
0
0
0
0
0
1
0
0
1
1
2
0
1
0
0
3
0
1
1
1
4
1
0
0
0
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Inne operatory
ab
ab
00
01
10
11
1
0
0
0
NOR
a b
ab
1
1
1
0
NAND
0
1
1
0
EXOR
ab
1
0
0
1
EQ
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Synteza dwupoziomowa




Zaletą formuł boolowskich jest możliwość upraszczania
wyrażeń, a co za tym idzie minimalizacji liczby
wykorzystanych bramek
Upraszczanie zgodnie z prawami alegebry Bool’a
Możliwość reprezentacji funkcji za pomocą różnych
wyrażeń boolowskich – reprezentacja formułami
równoważnymi
Najprostszy sposób to:



Generacja implikantów
Slekecja implikantów prostych
Jest to jednak najbardziej złożony algorytm, gdyż należy do
zbioru problmów NPZupełnych
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Dekompozycja

Transformacja pojedynczego wyrażenia na
zbiór kilku nowych wyrażeń
f  abc abd  acd  bcd
hcd
g  ab
f  gh  gh
Realizacja na 9 bramkach
Realizacja na 8 bramkach
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Układy sekwencyjne


Modelem układu sekwencyjnego jest
automat.
Definicja automatu:
Zbiór liter wejściowych X i
wyjściowych Y
 Zbiór stanów wewnętrznych S
 Funkcja przejść
 Funkcja wyjść


Automaty Mealy’ego i Moore’a
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Dziękuje!
Zapraszam na kolejne wykłady ;)
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008