Jestem programistą (używam języków wysokiego poziomu, takich jak .NET, C, C ++ itp.), Próbując zrozumieć, jak działają komputery na niższym poziomie.
Znam ten schemat:
Usiłuję uzyskać ogólny wgląd w sposób, w jaki diagram w łączu mapuje się do schematu obwodu takiego:
Na przykład spójrz na instrukcję języka asemblera:
ADD 1,2
Próbuję zrozumieć, w jaki sposób procesor wytwarza „3” jako wynik. Zdaję sobie sprawę, że odpowiedź na to pytanie może być trudna w prostych słowach. Jeśli tak, to pomoże link, może do książki.
microprocessor
w0051977
źródło
źródło
Odpowiedzi:
Problem polega na tym, że aby zrozumieć, w jaki sposób komputer dochodzi do 1 + 2 = 3, musisz zrozumieć o 2 poziomy głębiej, niż już poszedłeś.
Z grubsza zorganizowany jest komputer (pod względem kierunków studiów), taki jak ten od najwyższego poziomu abstrakcji do najbardziej fizycznej rzeczywistości:
Aby właściwie zrozumieć, dlaczego komputer może wytwarzać 2 + 1 = 3, musisz najpierw zdecydować, co chcesz zaakceptować „w wierze”, a w co nie uwierzysz, dopóki go nie zinternalizujesz. Ta informacja będzie na drugim poziomie poniżej tego, co rozumiesz. Więc jeśli chcesz zrozumieć obwód sumatora na poziomie logicznym, musisz zrozumieć podstawy tranzystorów „cyfrowych” (w szczególności CMOS).
Korzystając z wcześniejszej witryny jako przykładu, rozważ ten zasób . Omówiono „Full Adder” - minimalny całkowicie uniwersalny obwód zdolny do dodawania / odejmowania, łącznie z wprowadzaniem i przeprowadzaniem.
Musisz także zrozumieć, w jaki sposób liczby są reprezentowane w uzupełnieniu 2 (system liczb stosowany w nowoczesnych komputerach do arytmetyki liczb całkowitych).
Jeśli naprawdę chcesz światowej klasy kursu wprowadzającego, nie mogę wystarczająco polecić profesora Scotta Willsa z Georgia Tech. Zmarł w zeszłym roku na raka, ale jego kurs trwa . Klasa Georgia Tech ECE2030 (wprowadzenie do inżynierii komputerowej) ma swój podręcznik i ćwiczenia online.
Powodzenia!
źródło
Musiałem nauczyć się tego samego na uniwersytecie i skorzystaliśmy z książki Organizacja i projektowanie komputerów, która była bardzo szczegółowa (ale może jest zbyt szczegółowa dla twoich potrzeb).
Patterson i Hennesy użyli jakiegoś „prostego” procesora MIPS i pokazali całą funkcję procesora z pewnym przykładowym kodem w asemblerze.
Generalnie myślę, że byłoby dobrym pomysłem wziąć jakiś „prosty” procesor (Arduino lub coś takiego) i spróbować zrozumieć tam funkcję, ponieważ różnice między tym a bardziej złożonym są większe w tym, jak duże są zaimplementowane kody instrukcji.
PS Może elementarny mikroprocesor z Google Code byłby pomocny. Jest to mikroprocesor symulowany w Javie.
źródło
Bezpłatna książka „ Jak działają komputery - procesor i pamięć główna” autorstwa Rogera Younga odpowie na twoje pytanie, w celu lepszego zrozumienia używa przekaźników zamiast tranzystorów.
źródło
Tutaj znalazłem swoją odpowiedź . Jest to ogólny przegląd procesu dodawania liczb.
źródło