Uczę się o autobusach i I / O. Chcę dowiedzieć się o różnych autobusach i urządzeniach, kontrolerach podłączonych do niego w moim laptopie.
Strona mojej płycie głównej nie ma tech-spec.
Podobnie jest z witryną mojego laptopa (wygląda na to, że nie sprzedają już mojego modelu).
W końcu chcę narysować szczegółowy schemat przedstawiający wszystkie podłączone magistrale, połączenia, urządzenia i kontrolery.
Używam Linuksa (ubuntu) i jestem dość wygodny z terminalem.
computer-architecture
Abhijith Madhav
źródło
źródło
Odpowiedzi:
Zacznij od menedżera urządzeń (gnome), który wyświetli listę urządzeń i kontrolerów. Z tego wyniku można uzyskać częściową hierarchię wzajemnych połączeń. Ale będziesz musiał skorzystać z podstawowej / ogólnej wiedzy na temat organizacji komputerów, aby zrozumieć związek między niektórymi urządzeniami. Jeśli znajdziesz „przewodniki dla programistów” dla chipów, to świetnie, w przeciwnym razie prawdopodobnie będziesz musiał zadowolić się surowymi schematami blokowymi lub funkcjonalnymi. Szczegółowa dokumentacja niektórych układów używanych w komputerach jest trudna do znalezienia bez NDA.
Jeśli masz czas na analizę kodu źródłowego systemu Linux, wydaj polecenie lsmod w wierszu poleceń powłoki. Spowoduje to wyświetlenie listy modułów sterowników urządzeń używanych przez system. (Te sterowniki urządzeń byłyby dodatkiem do niektórych istotnych sterowników urządzeń wbudowanych w obraz jądra.) Problemem z wieloma sterownikami urządzeń jest to, że dokumentacja może być słaba co do tego, jakie dokładnie urządzenia obsługuje kod; czasami najlepszy opis sterownika znajduje się w tekście konfiguracji jądra. Ale analiza kodu powinna ujawnić pewne połączenia i hierarchię urządzeń. W kodzie źródłowym jądra znajduje się także katalog Dokumentacja.
źródło
lspci
jest zabawne polecenie do określania, co dokładnie jest podłączone do szyny PCI. Zakładając, że możesz zlokalizować nazwy urządzeń, powinieneś być w stanie rozpocząć mapowanie urządzeń PCI, jeśli nic więcej.