VLSI czyli niewesolo 2
Po krotkim wprowadzeniu przejdzmy do meritum sprawy VLSI
W rodzinie logicznych ukladow scalonych TTL (podobnie w innych rodzinach) produkowano wpierw uklady malej skali integracji SSI ( bramki i bramki zlozone oraz conajwyzej podwojne przerzutniki ) oraz nastepnie sredniej skali MSI ( liczniki, rejestry, multiplexery, demultiplexery, sumatory, ALU ) i duzej skali integracji LSI czyli glownie male pamieci ROM i RAM.
Sama idea bramek TTL z tranzystorow dyskretnych jest znana i stosowana od 1960 roku. Wejsciowy wieloemiterowy tranzystor (lub kilka tranzystorow dyskretnych ) i drugi polaczony z nim tranzystor wzamcniacza daja podstawowa fizycznie bramke NAND bez wyjsciowego ukladu Totem Pole o duzej obciazalnosci. Taka prosta bramka byla budowana z elementow dyskretnych i jest stosowana jako bramka wewnetrzna w ukladach TTL. Tranzystor wieloemiterowy musi miec bardzo male wzmocnienie inwersyjne i scalone szybkie tranzystory przelaczajace o bardzo malym czasie nasycenia maja male wzmocnienie inwersyjne.
Czestotliowosc graniczna tranzystorow w ukladach TTL tej rodziny wynosi okolo 400-500 MHz a wiec jest mala. Takze praca w nasyceniu powieksza czas dzialania bramek.
Bramki zlozone AND-NOR 7450 i 7453 maja praktycznie taki sam czas propagacji jak bramki NAND i ich stosowanie zamiast kaskady - warstw bramek NAND i NAND (czy innych) dyskretnych bramek upraszcza uklad i prawie dwukrotnie przyspiesza system. Sumaryczna ilosc scalonych tranzystorow w ukladach i ilosc pinow jest znacznie mniejsza w wypadku bramek zlozonych AND-NOR niz przy stosowaniu dwoch warstw bramek. Mniejszy jest tez pobor mocy.
Jak widac chocby ze schematu przerzutnika D typu 7474 wewnetrzne bramki NAND skladaja sie tylko z tranzystora wieloemiterowego i opornika 4K zasilanego z 5V i drugiego tranzystora wzmacniacza . Bramki wewnetrzne nie maja w ogole wyjsciowego ukladu Totem Pole bowiem jest zbedny w sytuacji gdy nie ma lini do sterowania. Sa wiec z porownaniu z bramka ktorej sygnal wyprowadzono na zewnatrz bardzo proste. Czas propagacji kompletnej bramki NAND starej serii 7400 wynosi okolo 10ns a czas propagacji bramki wewnetrznej tej rodziny 4ns a pobor mocy bramki wewnetrznej jest circa 2 razy mniejszy. W wypadku kompletnej bramki wyjsciowej dochodza dodatkowe straty dynamiczne proporcjonalne do ilosci przelaczen na sekunde i dlugosci lini oraz odwrotnosci jej rezystancji falowej.
Wszystkie te czynniki powinny sklaniac do wykonywania ukladow o jak najwiekszej skali integracji bowiem na konkretna funkcje logiczna przypada asymptotycznie coraz to mniej tranzystorow a dodatkowo relatywnie coraz mniejsza powierzchnie zajmuja pady przylaczeniowe do pinow obudowy..
Patrzac na schemat bramek 7451 czyli "dual 2 wide 2 input AOI" czyli bramke zlozona realizujaca kompletna funkcje widac ze "drugie" tranzystory wewnetrznych bramek realizuja funkcje OR metoda Wired OR i to zarowno od strony polaczonych ze soba kolektorow jak i emiterow. Ta idea jest stosowana generalnie we wszytkich ukladach TTL. Co ciekawe czas propagacji nie wzrosl dwukrotnie (sygnal przechodzi przeciez przez dwie warstwy bramek) ale czas propagacji do zbocza opadajacego na wyjsciu "zewnetrznej" bramki nie wzrosl wcale a do zbocza narastajacego wzrosl o ca 10% z racji zwiekszonej pojemnosci miejsca polaczenia kolektorow Wired OR. Z tego wniosek taki ze nalezy stosowac zawsze jak najbardziej zlozone funktory. Funkcja EXOR w ukladach TTL jest realizowana nie w sposob nieortodosyjny ale poprzez dwa tranzystory polaczone na krzyz bazami i emiterami jak to widac w schematach bramek EXOR i sumatorow.
Czyli w ukladach TTL
- stosuje sie uproszczona energooszczedna i bardzo szybka bramke wewnetrzna
- stosuje sie beznakladowa funkcjonalnosc Wired OR ( tylko kolektory bramek wewnetrznyvh a zarowno od strony emiterow jak i kolektorow w miejscu sterowania tranzystorow wyjsciowych totem - pole ) praktycznie dwukrotnie przyspieszajac tym rozwiazaniem szybkosc dzialania w stosunku do dwoch ortodojsyjnych warstw bramek
- stosuje sie bardzo prosta nieortodoksyjna realizacje funkcji logicznej EXOR przydatna w sumatorze i ALU rowniez szybsza niz rozwiazanie ortodoksyjne
- stosuje sie proste rozwiazanie drivera trzystanowego
Niestety na tym konczy sie rozmaitosc ( nieortodoksyjnosc ) w ukladach TTL.
Uklady TTL sa dosc latwe aplikacyjnie. Bramka sterujaca linie w stanie wyjsciwwym L ma mala impedancje ale przerzut na koncu lini (czyli dluzszej sciezki na PCB lub polaczenia miedzy pakietami ) zostaje obciety wejsciowa dioda ukladu odbiorczego. W stanie H bramka ma wieksza impedancje wyjsciowa grajaca role dopasowania szeregowego linii.
Jak wynika ze schematu elektrycznego sumator 7483 z szybkim przeniesieniem carry look ahead ( ale bez sygnalow Generacja - Propagacja i mozliwosci zewnetrznej obslugi tych sygnalow w 16/32 bitowym sumatorze ) ma tylko 88 tranzystorow. Schemat elektryczny wnetrza czterobitowego ukladu ALU carry lookahead 74181 (ma logike sygnalow Propagacja - Generacja do nadrzednego ukladu przeniesien rownoleglych lookahead 74182 ) wypuszczonego w 1968 roku nie jest dostepny, ale ma ponoc 184 tranzystory. Niewiele jak na 75 bramek pokazanych na schemacie ukladu ALU. Biorac pod uwage ze moze dac na wyjsciu operand A lub B a takze Zero, dodaje , odejmuje, incrementuje, decrementuje, wykonuje negacje, funkcje logiczne OR, AND i XOR - uzytych tranzystorow wydaje sie dosc malo. Mankamentem ukladu ALU 74181 jest to ze ma on 5 sygnalow do wyboru realizowanej funkcji logicznej lub artmetycznej, ktorych jest wiec razem 32 ale faktycznie tylko 11 funkcji jest uzyteczne a reszta jest nonsensowna. Czas propagancji operandow A i B do wyjsc rezultatu wynosi typowo 27 ns a sygnal przechodzi maksymalnie przez 7 bramek , liczac bramke EXOR podwojnie. Bramki wewnetrzne sa wiec dosc szybkie.
Po dolozeniu do ALU 74181 rejestrow, multiplexerow i buforow trojstanowych koniecznych do dolaczenia sie do dwukierunkowych szyn, mamy 4 bitowa czesc wykonawcza bipolarnego mikroprocesora segmentowego, ktore to jednak pojawily sie dopiero w 1973 roku. Dlaczego nikt w 1968 roku nie wpadl na pomysl aby wykonac bipolarny 4 bitowy mikroprocesor segmentowy. Dlatego ze scalenie wiekszej ilosci tranzystorow bylo nieoplacalne bowiem spowodowaloby wspomniany spadek uzysku produkcyjnego.
Zauwazmy ze ALU scalone z rejestrem ( akumulatorem ) jest szybsze niz IC-ALU polaczone na plycie drukowanej z IC-rejestrem.
Znow zblizamy sie do rownan efektywnej ceny tranzystora VLSI. Ilosc tranzystorow na centymetr kwadratowy powierzchni chipa w nieregularnych ukladach random logic jest oczywiscie znacznie mniejsza co wynika z zajmowania powierzchni przez polaczania niz w regularnych ukladach / podsystemach, pamieci ROM, RAM, PLA czy CLA i innych. W ukladach CLA czyli Custom Logic Array podobnych do PLA niepelna jest matryca wyjsciowa. CLA sa chetnie stosowane w ukladach sterujacych mikroprocesorow. Z kolei w ukladach ULSI rosnie wzgledny udzial powierzchni przeznaczonej na dlugie polaczenia miedzy podsystemami.
Swoje specyficzne rozmaitosci wewnetrznych polaczen oszczedzajace ilosc tranzystorow i przyspieszajace dzialanie maja takze uklady logiczne ECL gdzie tranzystory pracuja bez nasycenia.
- Wewnetrzny Wired OR. Napiecie na polaczonych kolektorach tranzystorow musi byc poziomowane aby nie spadlo za bardzo i aby tranzystory nie weszly w nasycenie czyli potrzebny jest dodatkowy naklad tranzystora ogranicznika napiecia i opornika w dzielniku napiec odniesienia . Szybkosc pracy niewiele spada w stosunku do prostej bramki mimo iz powstala funkcjonalnosc dwuwarstwowego systemu bramek
- Laczenie tranzystorowych par roznicowych pietrowo z wewnetrznym lokalnym sygnalem pradowym a nie napieciowym plus przesuwanie napiec poziomow logicznych sygnalow. Rozwiazanie to jest prawie zawsze uzyte w schemacie przerzutnikow. Tranzystory przez ktore przechodzi sygnal pradowy pracuja w konfiguracji wspolnej bazie i propagancja jest bardzo szybka.
- Jednotranzystorowe uklady nieprogowe o bardzo malym wzmocnieniu logicznym 1.2-1.6 rowniez upraszczaja schemat
Podstawowym mankamentem szybkich ukladow ECL jest koniecznosc dopasowania lini i to juz krotkich. Mocno podnosi to straty mocy i komplikuje projekt.
Czestotliwosc Ft tranzystorow w pierwszych ukladach ECL byla taka sama jak w ukladach TTL ale obecnie mozna wykonywac scalone tranzystory o Ft przekraczajacych 10 GHz. Podstawowa i dyskwalifikujaca dla VLSI wada technologi ECL jest mala gestosc scalania i duze straty mocy.
Tranzystorowy sumator 32 bitowy w technice ECL-podobnej ( pary roznicowe ) o czasie sumowania ponizej mikrosekundy wykonano juz w 1956 roku i to mimo uzycia prymitywanych tranzystorow. Technike ECL-podobna zastosowano w tranzystorowych komputerach IBM7090 w 1960 roku zgodnych programowo w dol z lampowymi IBM709. NB - Zgodnosc programowa w dol jest znana "od zawsze" i chetnie wykorzystywana.
Uklady TTL i ECL w procesorach nie maja zadnej przyszlosci. Jako latche i bufory sa stosowane uklady zgodne z ukladami TTL ale wykonane w technologi HC i HCT co widac w komputerku Spectrum. Uklady I2L sa juz w zasadzie historia i szkoda poruszac tematu ich specyfiki.
W ukladch nMOS i CMOS stosuje sie nieobecna w ukladach bipolarnych bramke transmisyjna przykladowo w ukladach przeniesienia w ALU, matryc przelacznikow czy ukladow przesuniec grupowych. Technologia pMOS jest juz przeszloscia. Zdaniem autora technologia NMOS rowniez zostanie przez technologie CMOS zepchnieta w zapomnienie mimo iz ilosc wymaganych tranzystorow w ukladzie CMOS jest wieksza.
Sporym mankamentem logiki nMOS i CMOS jest szybki spadek szybkosci bramek NAND w miare wzrostu ilosci wejsc wynikajacy z m.in szeregowego laczenia tranzystorow w bramkach przy czym szkodliwosc szeregowego laczenia w technologi nMOS jest podwojna jako ze statyczny spadek napiecia na zalaczonych dolnych tranzystorach w lancuchu powoduje dodatkowo ze mniejsze jest napiecie sterujace Ugs gornych traznystorow i wieksza jest ich opornosc zalaczenia. Zsumowane spadki napiec na przewodzacych tranzystorach szkodliwie podwyzszaja napiecie na wyjsciu bramki. Tym bardziej nalezy poszukiwac rozwiazan nieortodoksyjnych nazywanych functional gating. Functional gating dla technologi CMOS jest szerokim osobnym tematem a rozmaitosc polaczen jest calkiem spora.
Znany podsystem carry look ahead w procesorach MC2-CMOS ( lista rozkazow HP2100 ) firmy HP ma tylko 18 tranzystorow. Uklad stosujacy ortodoksyjne bramki CMOS tranzystorow mialby ich az 36 i bylby znacznie wolniejszy.
Zamiast szeregowo laczyc tranzystory MOS w bramce NAND lepiej zatosowac dwubramkowego MOS-feta.
Jak widac z przykladow procesorow Intela rozdzielczosc procesu fotolitograficznego wzrosla z 6um w roku 1974 do 1.5um w roku 1982. Ale powierzchnia chipa procesorow wzrosla jedynie z 20mm2 na 25 mm2 !
Charakterystyczne jest to ze wraz z coraz to nowszymi technologiami o coraz lepszej rozdzielczosci ilosc wad na cm2 powierzchni chipa pozostaje prawie ze stala.
Ilosc wad na jednostke powierzchni jest tym wieksza im wieksza jest ilosc procesow maskowania i dyfuzji. Wady ma niestety takze sam krzem. Najlepsza pod tym wzgledem jest prosta jednodyfuzyjna technologia nMOS.
Technologia bipolarna wymaga wielu procesow dyfuzji i jest pod wzgledem kosztow i uzysku gorsza. Produkcja bipolarnych ukladow VLSI jest niekonkurencyna chyba ze chodzi o niezastapialne obecnie, bardzo szybkie uklady.
Na identycznej powierzchni udaje sie obecnie wykonac okolo 2-4 razy wiecej bramek CMOS niz bramek TTL. Czas propagacji bramki wspolczesnej linii TTL wynosi ponizej 1 ns a bramki CMOS do 2.5 ns. Przy czestotliwosci taktowania 10Mhz moc pobierana przez uklad CMOS jest okolo 10 razy mniejsza niz przez uklad bipolarny. Jeszcze mniej bramek udaje sie umiesci w technologi ECL gdzie czas propagacji wynosi okolo 0.4 ns. Kosztownym problemem do rozwiazania w ukladzie ECL staje sie wydzielana moc cieplna
Zatem producent widzi ze im uklad bedzie mial wiecej tranzystorow i wieksza powierzchnie chipa tym bedzie mial lepsza funkcjonalnosc i wydajnosc a klienci chetnie go kupia pod warunkiem ze cena bedzie "wlasciwa". Uzytkownik moze alternatywnie dac kilka sztuk wiecej scalonych ukladow (na przyklad pamieci) oraz wieksza powierzchnie plytki drukowanej i jej niedarmowy projekt ( dla pamieci takze dekoder ktory wnosi szkodliwe opoznienie i sila rzeczy obniza czestotliwosc takowania i szybkosc pracy ) lub bardziej scalony uklad. Swoj koszt wniesie takze obudowa konkretnego urzadzenia i mocniejszy zasilacz.
Z tych informacji Intel i inne koncerny dedukuja jaka jest optymalna wielkosc - powierzchnia nowo oferowanych ukladow. Im wiekszy z kolei bedzie uklad tym coraz mniejszy jest uzysk technologiczny czyli mniejsze prawdopodobienstwo ze przecietny uklad bedzie sprawny to znaczy wolny od wad. Na temat uzysku produkcyjnego w konkretnych koncernach informacje sa szczatkowe. Im lepsza technologia tym mniejsza ilosc wad na jednostke powierzchi i wiekszy uzysk. Uzysk 10-20% moze byc uwazany za zupelnie satysfakcjonujacy. Bywa i tak ze podczas uruchamiania nowej lini produkcyjnej a pozniej nowej produkcji uzysk jest zerowy i caly zespol zachodzi w glowe co jest nie tak. Szukamy bledu w projekcie i jednoczesnie wady technologi. Plotki glosza ze w ZSRR uzysk ukladow VLSI wynosi ledwie 1% i mniej.
Nota Bene Stosowane w komputerku Spectrum pamieci dynamiczne Texas Instruments 4532 o pojemnosci 32K sa zgodne z pamieciami 4164 o pojemnosci 64K. Pamiec 4532 jest to naprawde pamiec 64K ale ze sprawna tylko jedna polowka pamieci. Cyfra 4 na koncu oznaczenia oznacza sprawna gorna polowke a cyfra 3 dolna. Wszystkie 8 pamieci musza byc jednej grupy ale mozna dac sprawna pamiec 6164. Pamieci 4532 sa wiec swoistym odpadem produkcyjnym a projektant komputerka Spectrum dobrze wiedzial co robi stosujac taniutkie podgatunkowe pamieci - odpady.
Czy Intel mogl w 1974 roku wypuscic procesor 8086 w technologi 6um. Czestotliwosc taktowania bylaby zblizona a raczej mniejsza jak w 8080 (zalezna od szybkosci dzialania bramek i ich ilosci w kaskadzie w nagorszym przypadku ) a wiec mniejsza niz realnego 8086. To jest tylko szczegol. Powierzchnia jego wynosilaby (29/6)*20=97 mm i bylaby 4.83 razy wieksza a jego uzysk bylby bardzo maly.
Inna sprawa jest wzrost szybkosci dzialania bramek przy coraz mniejszych wymiarach tranzystorow ale o czestotliwosci taktowania decyduje takze ilosc poziomow logicznych przez ktore musi przejsc sygnal w najgorszym razie w kazdym cyklu zegarowym. Tak wiec z pewnoscia przyszle procesory beda potokowe a ilosc poziomow logicznych zostanie zmniejszona do optymalnego minimum wynikajacego z faktu ze po kazdym stopniu potoku konieczne sa rejestry potokowe ktore maja czas propagacji i co komplikuje uklad wykonawczy i zwieksza ilosc tranzystorow i powierzchnie chipa i dlugosc polaczen. Niezaleznie od tego realizacja potokowa wymaga duzo bardziej skomplikowanego ukladu sterowania. Mozna zaryzykowac twierdzenie ze ilosc stopni potoku wykonawczego bedzie w przedziale 3-10. Konkretna liczba wyniknie z rozwiazania zadania optymalizacji bioracego pod uwage przytoczone czynniki.
Aby skonstruowac 16 bitowy procesor z ukladow MSI i SSI potrzeba 120-200 ukladow TTL. Mniejsza liczba dotyczy jednak przypadku uzycia pamieci ROM mikroprogramu a wiec ukladow LSI lub wrecz VLSI. Wieksza liczba ukladow dotyczy sterowania nie-mikroprogramowego a wiec ze skomplikowanym ukladem sterujacym na wielu bramkach. Procesory minikomputerow HP-2100 ( wczesniejsze model czyli 2116 mialy sterowanie ukladowe a nie mikroprogramowe ) maja miejsce na 1K pamieci mikroprogarmu o szerokosci slowa 24 bity. W wersji podstawowej procesora uzytych jest tylko 256 slow pamieci mikroprogramu.
Intel w dokumentacji systemu bipolarnych mikroprocesorow segmentowych rodziny 3000 podaje ze do implementacji przecietngo procesora 16 bitowego wystarcza 256 slow 24 bitowych pamieci mikroprogramu - patrz powyzej korespondujaca informacja o mikroprogramie procesora 8086 i HP-2100. Sekwencer rodziny Intel 3000 moze zaadresowac maksymalnie 512 slow
Informacje daja wyobrazenie o wymaganej wielkosci mikroprogramu. Przy prymitywnym wykonawczym ALU-"Akumulator"-rejestry mikroprogram operacji zmiennego przecinka bedzie dlugi i skomplikowany. Lepiej wiec zasoby (czyli powierzchnie chipa) skierowac na zrobienie wydajnego ALU - "Akumularor" . Slowo Akumulator oznacza tu akumulator bedacy jednoczesnie z rejestrem przesuwnym a w wypadku stosowania Carry Save Adder, CSA (dla szybkiego sekwencyjnego mnozenia) podwojnym rejesterm przesuwnym dla sum czesciowych i przeniesien ktore zostana zsumowane dopiero w ostatnim kroku sumowania procesu mnozenia.
W wersji bez pamieci mikroprogramu 200 ukladow procesora w obudowach 16 i 24 nozkowych (24 piny maja ALU - 74181 i rejestry uniwersalne 74198) da nam okolo 3300 pinow. Porownajmy to z 40 pinami procesora 8086. Poniewaz szyna Adres/Data tego procesora wymaga demultipleksacji wezmy do porownania procesor MC 68000 w obudowie 64 pinowej. Kazdy z tych 3300 lub 64 pinow to
- Fizyczny pin obudowy i przypadajaca mu czesc obudowy
- Pad na chipie ukladu oraz wyjsciowa bramka lub bufor zewnetrzny
Jeden pin w duzej obudowie (wraz z przypadajaca mu czescia obudowy) jest z reguly drozszy niz w malej ale roznice nie sa bardzo duze. Kazdy pin to powierzchnia na plycie drukowanej z zamontowanym ukladem oraz scieki idace do pada.
Suma sumarum. Przy scalaniu funkcji, podsystemow i systemow unika sie zajmujacych powierzchnie interfacow i padow chipa. Zatem im wiecej jest scalonych tranzystorow to tym wiecej jest kazdy z nich wart z punktu widzenia realizacji funkcjonalnosci ! Funkcja ta poczatkowo dosc szybko wzrasta a pozniej coraz wolniej. W pierwszej przymiarce mozna zalozyc ze jest liniowa.
Do optymalizacji potrzeba danych. Ilosc pinow obudowy ( i padow na powierzchni ukladow ) w funkcji zlozonosci ukladu zdaniem literatury rosnie powoli w funkcji ilosci scalonych tranzystorow.
- Dla ukladow pamieci RAM statycznych czy pamieci Eprom dwukrotne powiekszenie pojemnosci przy stalej dlugosci slowa danych wymaga tylko dodania jednego pinu adresu.
- Dla pamieci dynamicznych z multiplexacja adresu czterokrotne powiekszenie pojemnosci wymaga tylko dodania jednego pinu adresu. W niewelkiej obudowie ( nie bierzemy pod uwage rozmiaru chipa ) mozna umiescic pamiec o poteznej pojemnosci.
Zwiekszenie szerokosci slowa danych jest bardzo malo efektywne z punktu widzenia kosztu obudowy. Jesli pamiec zamiast bita ma byte to osmiokrotne zwiekszenie pojemnosci wymagalo dodania az 7 pinow obudowy i oczywiscie padow na chipie. Zwiekszenie slowa danych do 16 bitow zwieksza pojemnosc 16 krotnie kosztem dodania az 15 pinow
Z procesorami sprawa jest wielowatkowa. Zakladajc ze mamy do dyspozycji okrelona ilosc tranzystorow:
-W grupie procesorow o najwiekszej wydajnosci procesor nie bedzie mial wbudowanych ukladow peryferyjnych a caly wysilek pojdzie na jak najwyzsza predkosc dzialania. Szerokosc adres i data bus-ow do komunikacji z pamiecia musi byc duza. Moze byc nawet kilka adres i data bus-ow zwlaszcza w sytuacji stosowania pamieci podrecznej cache. Data bus byly 4,8,16 bitowe a mozna zalozyc ze beda 32, 64,128 i 256 bitowe. W systemie z pamieciami cache celowe moze byc stosowanie bardzo szerokich data bus. Do pomyslenia sa obudowy o 500 czy nawet 1000 pinach ! Musi jednak rownolegle wzrosnac takze rozdzielczosc wielowarstwowych plyt drukowanych PCB aby sensownie zagospodarowac takie uklady VLSI.
- Wiekoszc ukladow peryferyjnych jest w porownaniu z procesorami prosta a ich stosowanie generuje spore koszty w kompletnym urzadzeniu - koszt PCB, glue logic, zlacza. Prosty uklad komunikacji szeregowej UART - SIO na przyklad 8251 ma raptem rejestry przesuwne, pare rejestrow, licznik i prosty uklad sterujacy praz interface do szyny danych. Ale system z tym UART-em musi miec kontroler przerwan 8259 i timer 8253. Duza ilosc ukladow przylaczonych do data i adres bus-ow wymaga ich buforowania co dalej powieksza ilosc kostek, obniza szybkosc dzialania i zwieksza koszty. Scalenie razem z procesorem ukladow peryferyjnych ( patrz Intel 80186 ) moze zajac raptem kilka procent powierzcni chipa. Scalenie ukladu komunikacji szeregowej z dodanym licznikiem do uzyskania bitowej podstawy czasu i prostego systemu przerwan wydaje sie oplacalne bowiem trzeba dodac tylko kilka pinow obudowy. Dodatkowe scalenie ukladu bezposredniego dostepu do pamieci DMA umozliwi uzyskanie wielkich szybkosci transmisji szeregowej zarowno asynchronicznej jak i glownie synchronicznej. Wariacja SIO bylby szeregowy interface do wspolpracy z twardymi dyskami. Takze kontroller wideo jest wzglednie prostym ukladem licznikowym, choc tu problem jest wiekszy jesli ma byc stosowana osobna pamiec dla kontrollera CRT.
- Mikrokontrolery z wbudowanymi pamieciami i ukladami peryferyjnymi wymagaja obudowy ze stosunkowo niewielka iloscia pinow. W prostych wypadkach wystarczy obudowa o 40 pinach. W bardziej skomplikowanych urzadzeniach wystarczy 68 lub 96 pinow. Mikrokontroller ktory korzysta z pamieci zewnetrznych sila rzeczy musi miec obudowe o wiekszej ilosci pinow na adres i data bus i sygnaly kontrolne.
Pokazany wczesniej wykres pomijal pewne fakty, ktore trzeba wziac pod uwage:
- Na powierzchni ukladu sa pady polaczeniowe i powierzchnia ta nie zawiera tranzystorow.
- Plyta po procesie z gotowymi musi byc pocieta. Linia ciecia ma pewna szerokosc i ta powierzchnia jest stracona
- Ilosc pinow obudowy ( i padow ukladu ) rosnie w przyblizeniu ( zaleznie od funkcji ukladu ) z pierwiastkiem kwadratowym (szesciennym , czwartego stopnia ) ilosci tranzystorow w ukladzie
- Cena jednego pina obudowy i czynnosci zwiazanych z obudowaniem ukladu jest w zasadzie stala. Trzy miedziane azury do obudow DIP14 konsumuja co prawda mniej miedzi niz jeden azur do obudowy DIP40 i takze mniej zuzywa sie plastiku na obudowe ale z drugiej strony jest mniej czynnosci technologicznych z jedna obudowa niz z trzema. Uproszczenie jest wiec dopuszczalne.
Wykres powyzej pokazuje efektywna cene tranzystora w ukladzie dla obecnie dosc realistycznych danych ( koszt pelnego procesingu plyty i jej srednica, gestosc wad, wielkosc padow, szerokosc ciecia i koszt obudowy, technologia 1.5 um ) po uwzglednieniu wymienionych czynnikow. Zauwazmy ze koszt jest dalej w funkcji powierzchni ukladu ( podanej w % ) do sredniej powierzchni z jedna wada. I znow nieprzypadkiem optimum taniosci jest dla dobrej technologi dla powierzchni ukladu okolo 25 mm2. Optimum jest dosc plaskie.
Jesli przyjac ze funkcjonalnosc i cena zbycia gotowego ukladu jest proporcjonalna do ilosci tranzystorow zawartych w ukladzie to ekstremum funkcji taniosci tranzystora maksymalizuje cel ekonomiczny fabryki.
W liczbach bezwzglednych liczba najtanszych tranzystorow roznie wraz z rozdzielczoscia procesu i spadkiem gestosci wad.
Im gorsza technologia tym "lepsze" ekonomicznie sa male uklady. Wlasciciel gorszej technologi nie ma jednak szans na konkurencje.
Dysponujac marna technologia mozemy probowac wyprodukowac uklady o wzglednie duzej rozdzielczosci. To pociagnie za soba spadek uzysku. Wspomniana plotka mowi ze w ZSRR uklady VLSI produkuje sie z uzyskiem 1% a nawet mniejszym. Moze tych procesorow starczy do sterownikow rakiet miedzykontynentalnych ale do niczego wiecej.
Teraz jesteśmy kolonia taniej siły roboczej . Po co nam jakiś tajemniczy CMOS. Miseczka ryżu !
OdpowiedzUsuń