przetwarzanie 16-bitowe - 16-bit computing

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

Zobacz też

Bibliografia