Dlaczego komputery używają tylko 0 i 1?

15

Dlaczego komputery używają tylko 0 i 1? Czy dodanie innych liczb, takich jak 2 lub 3, przyspieszy komputery? Również 2 i 3 mogą być użyte do skrócenia długości bitowej liczb całkowitych (2 i 3 mogą być użyte do zakończenia liczby całkowitej, tak że liczba 1 potrzebuje tylko jednego dwóch bitów.) ..

Dlaczego komputer binarny jest bardziej preferowany?

Mark Zio
źródło
1
Aby zapewnić im solidne wykonanie w obecności hałasu
skok napięcia w

Odpowiedzi:

28

To ich nie przyspieszy. Teraz jest to proste: aby stworzyć podstawową bramę logiczną, taką jak NAND, wejścia logiczne ciągną wyjście do Vdd lub do masy. Jeśli użyjesz poziomów pośrednich, potrzebujesz FET, aby przejść do poziomów takich jak Vdd / 2 lub Vdd / 4. Zużyłoby to więcej energii i wymagałoby dokładniej działających komponentów, które potrzebowałyby więcej czasu na osiągnięcie ostatecznego poziomu. Jeśli umieścisz więcej wartości w pojedynczej jednostce danych, wymagana dokładność zwiększy się, podobnie jak czas ustalania. Używany obecnie system binarny po prostu popycha FET do Vcc.

exscape wspomina o odporności na zakłócenia i do tego właśnie odnosi się dokładność: o ile sygnał może różnić się od wartości nominalnej. W systemie binarnym może to być prawie 50% lub więcej niż 0,5 V w procesorze 1,2 V. Jeśli użyjesz 4 różnych poziomów, to tylko 300 mV od siebie, to odporność na zakłócenia nie może być lepsza niż 150 mV, możliwe 100 mV.

Należy pamiętać, że istnieją urządzenia Flash, które używają wielu poziomów do przechowywania więcej niż 1 bit w jednej komórce pamięci, to jest MLC (Multi-Level Cell) Flash. To nie zwiększa prędkości, ale pakuje więcej danych na jednym chipie.

stevenvh
źródło
1
Czy jednak odporność na hałas nie jest jednym z głównych powodów? Jest to przynajmniej prawdopodobnie główny powód cyfrowej kontra analogowej.
exscape
@exscape - zaktualizowałem moją odpowiedź. Lepiej teraz? Dzięki za opinie
stevenvh
Dlaczego ich nie przyspiesza? Przy użyciu więcej niż dwóch cyfr moglibyśmy przechowywać dane w mniejszej przestrzeni, np. Cztery w formacie binarnym = 100 - wymaga 3 fizycznych lokalizacji - w potrójnych czterech = 11 - wymaga fizycznych lokalizacji. Tak więc w systemie trójkowym procesor musiałby przetwarzać mniejszą liczbę rejestrów, co uczyniłoby go stosunkowo szybszym.
user31782,
5

Przechowywanie i obliczenia na poziomie binarnym są bardzo tanie, małe i szybkie. Ten tekst może być zbyt uproszczony, ale myślę, że dochodzi do sedna:

Odczytywanie binarnej komórki pamięci składa się z jednego prostego komparatora wykonującego swoją pracę: wysokiego / niskiego. Obliczenia sprowadzają się do bardzo prostych tabel składających się z czterech kombinacji danych wejściowych (00, 01, 10, 11) i do dwóch bitów wyjściowych (0 i 1).

Teraz, jeśli trzeba porównać kilka możliwych wartości, konieczne jest bardziej skomplikowane ustawienie komparatora, które jest wolniejsze lub znacznie większe niż proste. Ponadto tabele obliczeń stają się większe, więc obliczenia są również bardziej skomplikowane. Chociaż możemy zaoszczędzić trochę miejsca na zmniejszanie pamięci, wszystko inne, takie jak obliczenia i transport, stałoby się wykładniczo trudniejsze i wolniejsze.

Jak omówiono w innej odpowiedzi, cała konfiguracja musiałaby być znacznie bardziej precyzyjnie zbudowana, aby zachować odporność na zakłócenia.

Wszystkie te rzeczy razem oznaczają: o wiele bardziej wydajne jest umieszczenie miliardów bramek binarnych na chipie niż pół miliarda bramek czwartorzędowych.

Posipiet
źródło
2

Przejdź się po domu lub jeśli nie masz żadnego z tych przełączników, przejdź do sklepu ze sprzętem, zobacz, jak łatwo lub trudno jest ustawić i pozostawić przełącznik w środku na wyłączony, dodając trzeci stan, teraz spróbuj aby sprawdzić, czy nie można wyróżnić pozycji. Kolejny przykład: weź puszkę coli, butelkę piwa lub inny cylindryczny przedmiot i połóż go na boku, a następnie zrównoważyć marmur na górze, jak łatwy, szybki i stabilny jest ten zrównoważony marmur?

użycie tranzystora jako przełącznika jest bardzo łatwe, poprowadź go do jednej lub drugiej szyny, łatwo wyczuć moc wyjściową. Teraz, jeśli chciałbyś, aby wszystkie tranzystory nie były wyłączone, a były skalibrowane do różnych zakresów po jednym dla każdego stanu (oprócz wszystkich włączonych i wyłączonych, dwa stany środkowe, jak sugerujesz). Teraz cały system musi być znacznie dokładniejszy, droższy, narażony na błędy i awarie itp.

Zasadniczo próbowano to, lub niektóre wczesne komputery próbowały być dziesiętne (10 poziomów napięcia), to się nie udało. czy to tranzystor lampowy, czy krzemowy, znacznie łatwiej, taniej, szybciej, bardziej niezawodnie jest używać tranzystora jako przełącznika i ma tylko dwa stany, dolną szynę i górną szynę.

old_timer
źródło
W moim systemie muzycznym mam pokrętło głośności, które zmienia się w zakresie od 1 do 10. Bardzo łatwo jest wybrać dokładną głośność. Rozumiem to za pierwszym razem za każdym razem, gdy go używam. Więc według twojej logiki najlepiej byłoby mieć tranzystory dziesiętne.
intrepidis
1
Wiele pokręteł w zestawach stereo ma dwa sygnały, które są kodowane na szaro, binarnie, a zmiany stanu wskazują wzrost lub spadek kierunku (enkoder obrotowy). Inne są analogowe z ADC, który digitalizuje pozycję na jedynki i zera. Bardzo stary lub bardzo purystyczny może nie przejść do trybu cyfrowego i zasilić dzielnik napięcia bezpośrednio do wzmacniacza analogowego. Ale podejrzewam, że większość nie, zwykle można powiedzieć.
old_timer
2

Oczywiście można to zrobić. Cała cyfrowa pamięć masowa na tej planecie ma 4 stany. DNA koduje dane jako jedną z czterech par zasad na bit, ułożonych w bajty po 3 bity. Dlatego każdy bajt może mieć 64 różne stany.

 

† Z wyjątkiem nieskończenie małej części sztucznie stworzonej przez jedną z czujących form życia.

Olin Lathrop
źródło
@Dmit: Tak, ale wciąż są cztery możliwe kombinacje. Weź jedną z dwóch nici w izolacji, a masz cztery możliwości wyboru w każdym miejscu, A, G, C lub T. Fakt, że druga nić jest określona, ​​nie ma znaczenia. Jeśli to, co mówisz, jest prawdą, wtedy na bajt będzie tylko 8 opcji, gdy naprawdę jest ich 64, chociaż nie wszystkie z tych kodów są używane, a niektóre są zbędne. Co ciekawe, mitochondria i chloroplasty mają inne kodowanie od bajtów do aminokwasów niż nasze DNA jądrowe.
Olin Lathrop,
@Dmit: Mówiąc inaczej, AT różni się od TA, a CG różni się od GC.
Olin Lathrop,
Masz rację, przepraszam.
Dmitrij Grigoryev,
0

System liczb binarnych składa się z 0 i 1, jak wiadomo. Inne popularne lub wcześniej używane systemy liczbowe to system liczb ósemkowych, szesnastkowych i dziesiętnych. Binarny, ósemkowy, dziesiętny i szesnastkowy ma odpowiednio 2, 8, 10 i 16 cyfr. W przypadku implementacji układów logicznych system binarny jest nieco mniej skomplikowany. Dlaczego? To dlatego, że możemy polegać tylko na dwóch cyfrach do budowy obwodów. Układ obwodu jest stosunkowo łatwiejszy do wdrożenia. Korzystanie z systemu liczb binarnych w projektowaniu obwodów jest mniej czasochłonne, mniej złożone, wymaga mniej elementów obwodów i pod każdym względem jest tańsze niż inne. Systemy ósemkowe i szesnastkowe były wcześniej używane do projektowania komputerów. Ale były złożone. Obwody były również złożone. Inżynierowie zaczęli więc używać systemu binarnego do wcześniej wymienionych zalet.


źródło
AFAIK, systemy ósemkowe i szesnastkowe nie były używane przez sprzęt. Były i nadal są (nawet ósemkowe) używane przez oprogramowanie, ponieważ wygodnie pakują kilka bitów w jedną jednostkę. Na przykład. cyfra ósemkowa to dokładnie trzy bity, a szesnastkowy (cyfra szesnastkowa) to dokładnie 4 bity. Co wolisz powiedzieć 0b11111111 lub 0xff?
Oskar Skog,
0

Dlaczego zamiast systemu dziesiętnego używany jest system binarny?

Dobre pytanie. W rzeczywistości istnieją komputery, które nie używają systemu binarnego. Komputery te zbudowane z wzmacniaczy operacyjnych nazywane są komputerami ANALOG . Komputery analogowe mogą dodawać, odejmować, zwielokrotniać i dzielić, a nawet wykonywać niektóre rodzaje integracji.

Dlaczego komputer binarny jest bardziej preferowany?

Czasami komputery binarne są dokładniejsze. Ponadto komputery binarne (takie jak mój laptop) mogą być miliony razy bardziej złożone. Zgaduję. Komputery analogowe muszą być obsługiwane w określonych ograniczonych warunkach i dawać ograniczone odpowiedzi. Możesz uczynić komputer cyfrowy tak złożonym, jak chcesz.

Baruch Atta
źródło
-2

Oprócz innych odpowiedzi opracowałem natywne obwody cyfrowe na potrzeby logiki trójkowej. Myślę, że istnieje kompletny zestaw, który działa tak samo szybko, jak binarne układy logiczne (co oznacza, że ​​otrzymujemy 1,5-krotne zwiększenie wydajności); ma to jednak wysoki koszt. Obwody spalają energię w stanie bezczynności (nie tylko podczas przełączania), więc masz tyle ciepła do zrzucenia, że ​​nie jest to warte nowoczesnych procesorów. Ledwo skorzysta na głównym autobusie.

Jozuego
źródło