Jak działa proces programowania?

0

Praktycznie wszystko w komputerze składa się z tranzystorów. Jak przebiega proces zamiany kodu źródłowego na ustawianie przez który tranzystor ma przepływać prąd w danym momencie? Poprosiłbym o linka do książki/strony, która by to przedstawiła. Może być po angielsku. Z góry, dzięki.

2

Prawdopodobnie najlepsza książka o kompilatorach to Kompilatory ale polecam zacząć od SICP. Na elektronice sie niestety nie znam :(
Interesująca może być też dokumentacja LLVM

2

A handbook for making programming languages.

Bez przejścia na hardware

Tutaj gość ładnie to prowadzi, polecam.

Episode 1: A basic expression evaluator

9

Poczytaj o bramkach logicznych. Zobacz jak są zbudowane i jak działają, a później poszukaj najprostszych, projektowanych z bramek układów, typu liczniki itp.

Poczytaj o Maszynie Turinga.

Zastanów się jak z takich bramek zbudować urządzenie, którego "programem" jest kilka bitów i w zależności od stanu tych pojedynczych bitów, wykonuje sekwencję takich, bądź innych operacji.

5

Jak przebiega proces zamiany kodu źródłowego na ustawianie przez który tranzystor ma przepływać prąd w danym momencie?

Ale to straszny przeskok myślowy. Od kodu źródłowego do prądu w tranzystorach jest bardzo daleka droga.

4

Obejrzyj sobie kanał Bena Etera na YT : https://eater.net/8bit/
Wczoraj jeden z kolegów pochwalił się wykonaniem symulatora tego komputera w tym wątku Rozwój osobisty to strasznie trudne i nudne ...

5
KamilAdam napisał(a):

Na elektronice sie niestety nie znam :(

Cały dzień o tym myślałem i coś sobie ze studiów przypomniałem. Kolejność jaką w miarę mieliśmy (powinniśmy mieć bo jak zwykle na studiach był chaos) to:

  • Tranzystory
  • Bramki logiczne - chociaż łatwiejsze do zrozumienia są bramki AND i OR to często używa się NAND i NOR bo są prostsze do budowy i wszystko można zbudować z samych bramek NAND lub z samych bramek NOR (Polecam prawa De Morgana). Bramki można kupić normalnie w sklepie z układach scalonych
  • Przerzutniki asynchroniczne RS - na schematach logicznych buduje się je bramek w praktyce z tranzystorów
  • Przerzutniki synchroniczne JK - z dwóch przerzutników RS można zbudować jeden przerzutnik JK
  • Rejestry - Jeden przerzutnik JK pamięta jeden bit. Jak połączysz 8 przerzutników to masz jeden rejestr jednobajtowy (przy założeniu że 1 bajt to 8 bitów)
  • Pamięć statyczna - jeden rejestr to jedna komórka pamięci. Żeby mieć 1k komórek pamięci potrzeba 1k rejestrów
  • Pamięć dynamiczna - nie używa zatrzasków tylko zapamiętuje w pojemności tranzystora, przez co trzeba ja odświeżać, ale jest kilka razy tańsza

To tyle odnośnie pamięci pamięta. Co do ALU to z bramek logicznych można zbudować półsumator, z dwóch półsumoatorów - jeden sumator jednobitowy, z 8 sumatorów jednobitowych jeden sumator bajtowy. Mając sumator można budować na nim inne operacje jak odejmowanie itd. Ogólnie na Politechnice Śląskiej uczyli kiedyś czegoś takiego jak Maszyna W, czyli przykładowy prosty komputer który na wykładach był rozrysowywany na bramki.

Ogólnie wszystkie te tematy da się wygooglać, ale im bardziej będziesz się zbliżać do rzeczywistych, nowych komputerów tym mniej będzie informacji bo intel i podobni nie udostępniają schematów swoich procesorów z tego co wiem. Wyjątkiem jest ARM gdzie chyba każdy na licencji może zbudować sobie własny procesor oparty o schemat ARM

3

Poprosiłbym o linka do książki/strony, która by to przedstawiła

Rozumiesz ze twoje pytanie to jest jakieś 2 lata studiów? ;)
Z jednej strony:

  • Fizyka (półprzewodnictwo)
  • Elektronika analogowa (diody, tranzystory)
  • Elektronika cyfrowa (bramki, przerzutniki, rejestry, liczniki, sumatory)
  • Mikroprocki (ALU, pamięć operacyjna, fetch-decode-execute)
  • Architektury komputerów

Z drugiej strony:

  • Automaty i Języki Formalne
  • Kompilatory
  • Asemblery

Obawiam się że nie ma jednej książki która to wszystko obejmuje ;) Zawsze możesz czytać sobie z http://wazniak.mimuw.edu.pl/index.php?title=Strona_g%C5%82%C3%B3wna

2

Możliwie najkrótsza lista tematów do ogarnięcia:

1 użytkowników online, w tym zalogowanych: 0, gości: 1