Dlaczego Komputery pracują w systemie binarnym?

Przeprowadziłem kilka poszukiwań, ale nie znalazłem naprawdę satysfakcjonującej odpowiedzi. Jako deweloper chcę zainwestować niezbędny czas w zrozumienie tego, dlatego szukam kompletnego wyjaśnienia na ten temat i nie krępuj się podawać użytecznych referencji.

Dzięki.
Author: amosrivera, 2011-03-02

10 answers

Polecam zakup tej Książki autorstwaAndrew S. Tanenbaum . Opracował jeden z poprzedników Linuksa o nazwie Minix. Używałem zorganizowanej organizacji komputerowej w ramach mojego kursu uniwersyteckiego.

Dlaczego komputery używają binarnych nie jest tylko kwestią kontekstu przełączania.

Względem napięcia odniesienia powiedzmy 3v. +1V (4v) = true lub 1 i-1V(2V) = false Lub 0.

Ma to również związek z najbardziej efektywną metodą tworzenia controllingu lub układów logicznych . Ma to związek z kosztami wdrożenia. Ile kosztuje budowa obwodów, które pracują z binarnymi w porównaniu do obwodów, które pracują z dziesiętnymi lub analogowymi zobacz tę odpowiedź .

Jeśli porównasz, ile miliardów tranzystorów obwodu binarnego pasuje do nowoczesnego procesora. Koszt zrobienia tego z systemem dziesiętnym (lub analogowym) rośnie wykładniczo dla każdej cyfry, którą chcesz dodać, ponieważ teraz musisz dodać znacznie więcej obwodów sterujących.

Jeśli chcesz zrozumieć niektóre z najważniejszych komponentów, które pomogły uczynić binary domyślnym standardem dla logiki i sterowania obwodami Przeczytaj i zrozum następujące tematy z Wikipedii. Zajmie to około 4 godzin, aby przeczytać najważniejsze tematy, które mają do czynienia z niektórych inżynierii elektrycznej wykorzystywane do tworzenia obwodów.

Starałem się być kompletny w tej liście pojęć trzeba zrozumieć, jak rzeczywiste przełączniki pracy i dlaczego są one wykorzystywane. Jak również dlaczego binarny arytmetyka jest tak efektywną formą obliczeń w sprzęcie.

  • Typy tranzystorów zrozumieć typy tranzystorów pnp i NPN aby zrozumieć, jak działa rzeczywisty obieg, który tworzy przełączniki. Układy te są bardzo tanie w produkcji i mogą być zmniejszone do rozmiaru minuskułowego(nano-miernika) [32]}
  • Układ Logiczny. jeśli zrozumiesz podstawowe układy logiczne, zrozumiesz jak rzeczywiste typy tranzystorów są używane do ich realizacji. Odnoszą się one do niektórych konstrukcji programistycznych, takich jak "and & & "" or | | "I" if, branch".
  • DigitalCircuitry posiada sekcję use full disables porównującą analogowe i układy cyfrowe
  • bramka logiczna NAND jest ważna, ponieważ wszystkie inne obwody bramek logicznych mogą być zaimplementowane przy użyciu tylko tej jednej bramki logicznej. Uproszczenie procesu produkcyjnego, ponieważ złożoność maszyn używanych do Utwórz obwody mogą być usprawnione.
  • obwody dodawania aby zrozumieć, jak podstawowe dodawanie odbywa się za pomocą bramek logicznych.
  • dopełnianie dwójek jest to bardzo pomocne w zrozumieniu reprezentacji liczb w rzeczywistych procesorach. Jest również bardzo tanie wdrożenie tego typu arytmetyki w procesorze, ponieważ wymaga mniej tranzystorów. Na przykład prosty układ dodawania to wszystko, co jest potrzebne do dodawania i odejmowania. Jeśli dodasz liczbę ujemną, otrzymasz poprawna odpowiedź ie +7 + (-4) = +3. Pomaga to również zrozumieć przepełnienie liczby całkowitej
  • Binary_number
  • Są to jedne z najczęściej używanych cyrków do sterowania innymi obwodami. Te kontrolują, gdy obwody są włączane i wyłączane. Dekoder Encoder Jak zaimplementowana jest logika warunkowa (if lub branch).
  • Multiplekser jest podstawą routingu. W procesorze, magistrali i w sieci. Jedna z najczęstszych Logik obwody występujące w większości urządzeń cyfrowych.

Teraz trochę twardych rdzeni. C. i C++ jest używany do pisania sterowników urządzeń , które mówią do rzeczywistego sprzętu. Jeśli naprawdę chcesz dowiedzieć się, jak działają niektóre urządzenia, procesor i urządzenia zewnętrzne naucz się asemblera. Zobaczysz, jak można wyłączyć urządzenie, ustawiając określony rejestr urządzenia na określoną wartość, która będzie odczytywana przez układ logiczny w celu zmiany stanu urządzeń. Na przykład zrozum, dlaczego (0101) base2 = 5 (binarne rzeczy powiązane) poprowadzi określoną drogę przez obwody, aby włączyć i wyłączyć urządzenie.

 18
Author: nelaaro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:08

Komputery mogły być zbudowane do pracy nawet z liczbami dziesiętnymi, ale z inżynieryjnego punktu widzenia bezpieczniej jest rozróżnić tylko dwa stany.

Napięcie o wartości 1 (+5V) Jest tylko wartością teoretyczną, w rzeczywistości zawsze różni się nieco. Gdyby zrobili komputery z dziesiętnymi, nie byłoby sposobu, aby stwierdzić, czy +4,75 V to 9 lub 10.

 14
Author: pestaa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 08:43:16

Dzieje się tak dlatego, jak działają bramki logiczne: istnieje wyjście logiczne (1), Jeśli napięcie sterujące przekracza określony próg; nie ma wyjścia logicznego (0), jeśli nie.

Ale chyba o wiele ważniejsze:

Być może kiedyś komputery nie będą już działać w systemie binarnym, gdy powstaną maszyny kwantowe (lub inne tego typu rzeczy, które mogą zachęcać do bardziej złożonych reprezentacji Stanów). ale ponieważ wartości binarne są najprostszą możliwą reprezentacją dowolnego (bardziej złożonego) stanu, nawet w "czasach kwantowych" najlepiej byłoby pozostać przy komputerach pracujących w układzie binarnym(abstrakcja z innych reprezentacji fizycznych, takich jak trójkowy lub tak, jeśli podano).

 2
Author: Flinsch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-03 08:02:38
 2
Author: Aby James,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-07 17:13:08

Komputery używają energii elektrycznej jako środka transportu informacji. Najprostszym sposobem wykorzystania energii elektrycznej jako informacji jest włączenie lub wyłączenie (1 lub 0).

Jasne, że można użyć innego napięcia, aby reprezentować inną liczbę, ale Elementy elektroniczne, aby to zrobić, są naprawdę skomplikowane.

Ważne jest również, aby pamiętać, że możliwość zapisu i odczytu 1 i 0 są wystarczające do obliczenia dowolnego obliczenia, nazywa się to Turing kompletność, więc nie ma potrzeby, aby znaleźć niektóre bardziej złożone systemy pozwalające na coś innego niż binarne

(Ok, żeby być dokładnym, kompletność Turinga można osiągnąć tylko z nieskończoną pamięcią, ale to nie jest naprawdę istotne tutaj.)

 1
Author: krtek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 08:31:51

Cóż myślę, że trzeba wziąć pod uwagę IC ' S wewnątrz PC, każdy IC ma miliony bramek głównie NANDS lub NORS i każde obliczenie jest albo prawda lub FAŁSZ tj. Mam nadzieję, że jest jasne: -)

 0
Author: NirmalGeo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 08:25:37

Ok... Dam ci moją opinię na ten temat, ale najpierw trzeba powiedzieć, że daleko mi do bycia ekspertem, więc przyjmij moją odpowiedź uważnie.

Na dnie tego całego sprzętu, bram i tranzystorów, komputera to już nie jest obwód. W każdej części obwodu mogą przepływać impulsy elektryczne... albo nie flow (jest to wersja uproszczona, przeczytaj komentarz paxdiablo). 2 Stany. Te dwa stany mogą być reprezentowane przez 0 LUB 1. I to jest binarne!

W rzeczywistości matematyka może być wykonane w każdej bazie, jedynym powodem, dla którego człowiek używa base - 10 jest to, że my (używamy do) mamy 10 palców, więc jest to łatwe do zrozumienia przez nas. Systemy cyfrowe mają dwa stany, więc base - 2 jest dla nich najlepszym wyborem.

 0
Author: Jonathan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 08:46:51

Cóż w komputerach zawsze wybieramy rzeczy o najmniejszej złożoności, które pomagają nam przyspieszyć obliczenia. Więc tutaj, jeśli widzimy binarne jest najmniej złożone z nich wszystkich..

Rozważmy liczbę 1000 tutaj,

For Unary : - Input Symbols {0} Liczba cyfr reprezentujących 1000: - 1000, Złożoność :- 1000*1=1000

Dla Binarnych: - Symbole Wejściowe {0,1} Liczba cyfr reprezentujących 1000: - 10, Złożoność :- 10*2=20

Dla Ternary: - Input Symbols {0,1,2} Liczba cyfr reprezentujących 1000: - 7, Złożoność :- 7*3=21

Dla Dziesiętnych: - Symbole Wejściowe {0,1,2...9} Liczba cyfr reprezentujących 1000: - 4, Złożoność :- 4*10=40

Widzimy więc, że binarny ma najmniejszą złożoność.

 0
Author: prachi karwa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-14 15:27:16

Ponieważ komputery są maszynami stanowymi i rozumieją głównie dwa stany. Oznacza to, że włączone i wyłączone i dotyczy energii elektrycznej. To jest główny powód.

Również, jak inaczej można znaleźć tshirts mówiące, że jest 10 typów ludzi, tych, którzy rozumieją binarne i tych, którzy nie ? :)

 -1
Author: Spyros,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 08:26:51

Komputery zasadniczo pracują na sygnałach elektrycznych; jako głupia maszyna może zrozumieć tylko "wysoki" i "niski". Wysoka to + 5v, a niska to 0v. (v-volt). Tak więc, 1 w binarnym oznacza "high" lub "on". 0 oznacza "niski" lub "wyłączony". Tak więc, binary jest potrzebne, aby komputer zrozumiał coś.

 -1
Author: sunandan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 08:30:06