j23 pisze:A co ciekawe ostatnio przeglądałem sobie książkę taką co tutaj na miejscu kupiłem tzn. i czytałem nt. konstruowania podstawowych elementów procesorów, czyli krótko mówiąc bramek logicznych, rejestrów pamięci, rejestrów zatrzaskowych, operacjach flip-flop (set-reset) etc. - ale co.. oczywiście mało.. No i w końcu udało mi się znaleźć fragment nt. jak to bramki są zbudowane. Tam w tej książce jest to opisane oczywiście w możliwie najprostszy sposób, bo bramka przedstawiona jest np. jako wykorzystanie jednego tranzystora, jednego rezystora, podczas gdy normalnie to (jeżeli się teraz nie mylę) jest "troszkę" to bardziej skomplikowane, no bo po pierwsze przeważnie nie korzysta się z jednego tranzystora, ale z dwóch w układzie Darlingtona i takie tam szczegóły. Niemniej zmierzam do tego, że takie rzeczy (jakkolwiek stare i niepotrzebne by komukolwiek się wydawały) warto i TRZEBA wiedzieć. Nawet chciałem po części tłumaczyć tą książkę co ciekawsze sprawy - jak te właśnie, jak to po kolei "leci" z metodologią projektowania CPU (nie wytwarzaniem, bo wiadomo że niewiele osób dysponuje narzędziami do produkcji napylania warstw, etc.).
Wiele rozdziałów z tej książki bazuje na tej stronie:
Jarku, to co piszesz, jest bardzo ciekawe. Co prawda wskazanej książki nie znam, więc nie będę się wypowiadał co do jej treści. Mogę pokazać książkę, która dla mnie stanowi "kamień milowy". Jakby udało ci się do takiej dotrzeć, to znajdziesz tam wszystko to, o czym piszesz: jak działa bramka, jak na bazie bramek zbudować prosty przerzutnik, potem przerzutnik synchroniczny, rejestry ... i coraz bardziej złożone struktury i tak do nieskończoności. W moim przekonaniu ta książka stanowi cenne źródło wiedzy.
Pozwolisz, że nie zgodzę się z tobą w kwestii cyt:"nie wytwarzaniem, bo wiadomo że niewiele osób dysponuje narzędziami do produkcji napylania warstw, etc.". Każdy posiada odpowiednią moc kreacji. Wystarczy chcieć a wszystko staje się możliwe. Jeżeli koś będzie próbował wykazać, że jest inaczej, to można zacytować "Nauka to wiara w ignorancję ekspertów". Dzisiaj każdy może wyprodukować swój własny cyfrowy układ scalony. Potrzeba jedynie trochę samozaparcia i można uciec od iluzji cudzych opinii. Chcesz wyprodukować własny procesor? Nie jest to niemożliwe. Bo cóż do tego jest potrzebne: kilkadziesiąt tysięcy bramek, otwarty umysł, własna wyobraźnia i brak hamulców. Pierwszy element z tej listy potrzeb to FPGA (ja sporo używałem układów formy XILINX, w KAMAMI dostaniesz zestawy rozwojowe dla przykładowo układów SPARTAN → masz na starcie tysiące bramek), wszystkie kolejne są w twoim umyśle.
Cyt: "metodologią projektowania CPU" → to przywołało mi z pamięci pewne zdarzenie z mojej historii. Otóż na obronie pracy dyplomowej na politechnice jeden gość z komisji zadał mi pytanie "Co to jest mikroprocesor?". Niby proste pytanie. I co? czy ktoś zna książkową definicję mikroprocesora?
Wtedy na poczekaniu wymyśliłem własną: "jest to programowalny, wielostanowy automat synchroniczny". Swoją drogą wiedziałem, że nikt nie będzie polemizował z moją definicją. Ale... nie o tym chciałem...
Tą definicję podtrzymuję nadal, mikroprocesor to automat synchroniczny, tylko taki trochę bardziej złożony. Obecnie są dostępne narzędzia do realizacji takich komponentów, nawet są bezpłatne. Przykładowo WebPACK czy QUARTUS. Które wybrać → kwestia osobistych preferencji (ja chętniej posługuję się XILINX'em z banalnie prostej przyczyny → mam na stole zestawy rozwojowe z tymi układami). Zdarzało mi się używać QUARTUS'a, ale zestaw do eksperymentów był wyczarterowany. Z drugiej strony to nie jest istotne. Posługując się VHDL'em nie ma znaczenia platforma uruchomieniowa. Obecnie układy różnych producentów są porównywalne ze sobą. Pozostaje zaprzyjaźnić się z VHDL'em. To również nie jest złożone zagadnienie. W języku polskim jest kilka pozycji książkowych opisujące język. Generalnie większość jest mało przydatna (to znaczy do nauki języka, są niestrawne). Ja pokonywałem filozofię języka przebijając się przez tą. Jest jeszcze jedna pozycja książkowa dotycząca języka VHDL, ale jest mego autorstwa.
Jest dość ciekawa pozycja książkowa. Ta jest trochę starsza, wiem, że kilka lat temu ukazało się nowe wydanie, znacznie poszerzone. Ale lektura tej książki wymaga znajomości języka VHDL a przykłady są "wypaśne".
Więc Jarku, jak widzisz, świat stoi otworem i można iść i zdobywać szczyty.
j23 pisze:Przepraszam, że tak trochę nieskładnie piszę, ale chodzi mi o to, że jestem wdzięczny Tobie że poruszasz w tak ciekawy, a jednocześnie dokładny takie tematy odnośnie trochę "nietypowego" projektowania. Takie sprawy naprawdę warto wiedzieć.
Wielkie dzięki za bardzo ciekawy artykuł. Kolega Wojtek ma 100% racji, zresztą ja mam taką regułę, że co ciekawsze artykuły regularnie kopiuję (całkiem sporo tego już jest u mnie) - i to jest mądre co Wojtek pisze, bo czasem faktycznie takie tutoriale -z różnych przyczyn- po prostu gdzieś giną i to jest jakaś tragedia wtedy.. A ja w swoich zbiorach mam nawet takie nieco starsze tutoriale co kiedyś Tasza na elportalu pisała, a może ktoś z Kolegów również. Mam tego od groma. Oczywiście nie publikuję tego nigdzie, do własnego użytku, chyba że zajdzie potrzeba wtedy taki backup się bardzo przydaje
Nie ma powodu do jakichkolwiek przeprosin. Każdy robi jak potrafi, jak umie. Ale poruszyłeś tu bardzo istotną kwestię, cyt: "Takie sprawy naprawdę warto wiedzieć.". Jak najbardziej, wiedza jest dziwnym towarem. Z jednej strony jest bezcenna, z drugiej strony, ja się podzielę wiedzą, a mi wcale jej nie ubyło, normalnie magia . Wspomniałeś o Nataszy, to niezwykła osoba. Właściwie to jej zawdzięczasz, że czytasz teraz te moje słowa. Natasza ma ogromy potencjał, taki ... infinity.