przetwarzanie 16-bitowe - 16-bit computing
Szerokości bitowe architektury komputerowej |
---|
Fragment |
Podanie |
Binarna precyzja zmiennoprzecinkowa |
Dokładność dziesiętna zmiennoprzecinkowa |
W architekturze komputera , 16-bitowych liczb całkowitych , adresów pamięci , lub innych danych jednostkach są te, które są 16 bity (2 octets ) szerokości. Ponadto 16-bitowe architektury CPU i ALU to te, które są oparte na rejestrach , szynach adresowych lub szynach danych tej wielkości. Mikrokomputery 16-bitowe to komputery, w których mikroprocesory 16-bitowe były normą.
Rejestr 16-bitowy może przechowywać 2 16 różnych wartości. Zakres od całkowitych wartości, które mogą być przechowywane w 16 bitów w zależności od reprezentacji całkowitej używany. W przypadku dwóch najczęstszych reprezentacji zakres wynosi od 0 do 65 535 (2 16 - 1) dla reprezentacji jako ( bez znaku ) liczby binarnej i od -32 768 ( -1 × 2 15 ) do 32 767 (2 15 - 1) dla reprezentacji jako uzupełnienie do dwóch . Ponieważ 2 16 to 65 536, procesor z 16-bitowymi adresami pamięci może uzyskać bezpośredni dostęp do 64 KB (65 536 bajtów) bajtowej pamięci adresowalnej . Jeśli system używa segmentacji z 16-bitowymi przesunięciami segmentów, można uzyskać dostęp do większej liczby.
16-bitowa architektura
MIT Whirlwind ( ok. 1951) był całkiem możliwe, że komputer pierwszy w historii 16-bitowym. Inne wczesne 16-bitowe komputery ( ok. 1965-70) to IBM 1130 , HP 2100 , Data General Nova i DEC PDP-11 .
Wczesne wieloukładowe 16-bitowe mikroprocesory ( ok. 1973-76) obejmują pięciochipowy National Semiconductor IMP-16 (1973), dwuchipowy NEC μCOM-16 (1974), trzychipowy Western Digital MCP-1600 (1975) i pięciochipowy Toshiba T-3412 (1976).
Wczesne jednoukładowe 16-bitowe mikroprocesory ( ok. 1975-76) obejmują Panafacom MN1610 (1975), National Semiconductor PACE (1975), General Instrument CP1600 (1975), Texas Instruments TMS9900 (1976), Ferranti F100-L i HP BPC . Inne godne uwagi 16-bitowe procesory to Intel 8086 , Intel 80286 , WDC 65C816 i Zilog Z8000 . Intel 8088 był binarnie kompatybilny z Intel 8086, był 16-bit że rejestry są 16 bitów szerokości i arytmetyczne instrukcje mogłyby działać na 16-bitowych ilościach, chociaż jego zewnętrzny autobus był 8 bitów szerokości.
16-bitowa liczba całkowita może przechowywać 2 16 (lub 65 536) różnych wartości. W reprezentacji bez znaku wartości te są liczbami całkowitymi z zakresu od 0 do 65 535; stosując uzupełnienie do dwóch , możliwe wartości mieszczą się w zakresie od -32 768 do 32 767. W związku z tym procesor z 16-bitowymi adresami pamięci może uzyskać bezpośredni dostęp do 64 KB pamięci adresowalnej bajtów .
Procesory 16-bitowe zostały prawie całkowicie wyparte w branży komputerów osobistych i są używane mniej niż procesory 32-bitowe (lub 8-bitowe) w aplikacjach wbudowanych.
16/32-bitowa Motorola 68000 i Intel 386SX
MC68000 jest czasem nazywany 16-bitowej ze względu na sposób, w jaki obsługiwane podstawowe matematyki. Zestaw instrukcji był oparty na 32-bitowych liczbach, a wewnętrzne rejestry miały 32 bity szerokości, więc według powszechnych definicji, 68000 jest projektem 32-bitowym. Wewnętrznie podstawowa arytmetyka 32-bitowa jest wykonywana przy użyciu dwóch operacji 16-bitowych, co prowadzi do niektórych opisów systemu jako 16-bitowego lub „16/32”. Chociaż nie było to powszechne rozwiązanie w tamtych czasach, na początku lat 80. takie rozwiązania mają długą historię w dziedzinie komputerów, z różnymi konstrukcjami wykonującymi matematykę nawet 1-bitową na raz, znaną jako „arytmetyka szeregowa”, podczas gdy większość projektów do lat 70. przetwarzał co najmniej kilka bitów na raz.
Typowym przykładem jest Data General Nova , który był 16-bitowym projektem, który wykonywał matematykę jako cztery 4-bitowe operacje, ponieważ był to rozmiar popularnej jednoukładowej jednostki ALU z tamtych czasów. Używając definicji zastosowanej do 68000, Nova byłaby komputerem 4-bitowym, czyli 4/16. Niedługo po wprowadzeniu Nova pojawiła się druga wersja, SuperNova, która zawierała cztery 4-bitowe jednostki ALU do wykonywania obliczeń matematycznych 16 bitów na raz, a tym samym oferowania wyższej wydajności. Było to jednak niewidoczne dla użytkownika i programów, które zawsze używały instrukcji 16-bitowych. W podobny sposób późniejsi członkowie rodziny 68000, tacy jak Motorola 68020 , mieli 32-bitowe jednostki ALU.
Można również zobaczyć odniesienia do systemów, które są lub nie są 16-bitowe w oparciu o jakąś inną miarę. Jednym ze wspólnych jest sytuacja, w której przestrzeń adresowa nie jest tego samego rozmiaru bitów, co rejestry wewnętrzne. Większość 8-bitowych procesorów z lat 70. należy do tej kategorii; MOS 6502 , Intel 8080 , Zilog Z80 , a większość inni 16-bitowa przestrzeń adresowa, 64 KB, czyli manipulacja adres wymagane dwa cykle instrukcji. Z tego powodu większość procesorów miała specjalne 8-bitowe tryby adresowania, dla zerowej strony , poprawiające szybkość. Tego rodzaju różnica między rozmiarem rejestru wewnętrznego a rozmiarem adresu zewnętrznego utrzymywała się w latach 80., chociaż często była odwrócona, ponieważ ówczesne koszty pamięci sprawiły, że maszyna z 32-bitowym adresowaniem, 2 lub 4 GB, była praktycznie niemożliwa. Na przykład 68000 ujawnił tylko 24 bity adresowania na DIP , ograniczając je do wciąż ogromnego (jak na tamte czasy) 16 MB.
Podobna analiza dotyczy zastąpienia procesora 80286 Intela , zwanego 386SX , który jest 32-bitowym procesorem z 32-bitowym ALU i wewnętrznymi 32-bitowymi ścieżkami danych z 16-bitową zewnętrzną magistralą i 24-bitowym adresowaniem zastępowanego procesora.
16-bitowa aplikacja
W kontekście platform kompatybilnych z IBM PC i Wintel , 16-bitowa aplikacja to dowolne oprogramowanie napisane dla MS-DOS , OS/2 1.x lub wczesnych wersji Microsoft Windows, które pierwotnie działały na 16-bitowych Intel 8088 i Intel 80286 mikroprocesory . Takie aplikacje wykorzystywały 20- bitowy lub 24-bitowy segment lub reprezentację adresu selektora z przesunięciem w celu rozszerzenia zakresu adresowalnych lokalizacji pamięci poza to, co było możliwe przy użyciu tylko 16-bitowych adresów. Programy zawierające więcej niż 2 16 bajtów (65 536 bajtów ) instrukcji i danych wymagały zatem specjalnych instrukcji, aby przełączać się między ich 64-kilobajtowymi segmentami , zwiększając złożoność programowania 16-bitowych aplikacji.
Lista 16-bitowych procesorów
- Angstrem
- Dane ogólne
-
Digital Equipment Corporation
- PDP-11 (dla LSI-11, patrz Western Digital, poniżej)
- EnSilica
- Ferranti
- Instrument ogólny
- Hewlett Packard
-
Honeywell
- Honeywell Poziom 6 /DPS 6
- IBM
- Infineon
- Intel
- Lockheed
- MIL-STD-1750A
- Motorola
- Krajowy półprzewodnik
-
NEC
- μCOM-16
- NEC V20 i V30
-
Panafacom
- MN1610
-
Renesas
- Renesas M16C (16-bitowe rejestry, 24-bitowa przestrzeń adresowa)
-
Ricoh
- Ricoh 5A22 (klon WDC 65816 używany w SNES )
- Instrumenty Texas
-
Toshiba
- T-3412
- Zachodnie Centrum Designu
-
Western Digital
- MCP-1600 (używany w DEC LSI-11 )
- fotokopiarka
- Zilog
Zobacz też
- Mikroprocesor § projekty 16-bitowe
- Wpływ IBM PC na rynek komputerów osobistych § Przed wprowadzeniem IBM PC
- 74181 (kluczowy składnik niektórych wczesnych 16-bitowych i innych procesorów)
- Głębia bitowa audio – jako że 16-bitowa jest najczęściej używaną głębią bitową, np. na CD audio .