Zrozumiec Assembler2

Zrozumiec Assembler2



60 Zrozumieć Asembler

2.2.5 Bajty, słowa i podwójne słowa

Dawno już minęły te czasy, kiedy komputer zadowalał się tylko jedną kostką pamięci. Mój biedny COSMAC ELF już potrzebował dwóch kostek. Współczesne komputery wymagają ich dziesiątki, a nawet setki. Żeby móc dobrze programować w Asemblerze, musisz w pełni zrozumieć organizację pamięci. Istnieje szereg różnych sposobów organizacji przy pomocy różnych kostek pamięci. Ja opiszę tutaj system zastosowany w komputerach typu IBM PC w odmianach PC, XT, AT, PS/2 i całym peletonie klonów.

Sposób fizycznej organizacji kostek pamięci zależy przede wszystkim od sposobu organizacji informacji zawartej w komputerze. Jednym z podstawowych elementów organizacji jest bajt (ang. by te). Nie bez powodu to słowo wymieniane jest na czołowym miejscu w całej literaturze i czasopismach komputerowych. Funkcjonalnie pamięć mierzona jest w bajtach, a nie w bilach. Jeden bajt równy jest 8 bitom. Dwa bajty jeden obok drugiego tworzą słowo (dwa razy 8 bilów). Dwa słowa jedno obok drugiego tworzą podwójne słowo (cztery bajty). Istnieją jeszcze inne terminy: poczwórne słowo czy nybble, ale z nimi będziesz miał znacznie mniej do czynienia.

Bit jest pojedynczą cyfrą dwójkową 0 lub 1. Bajt jest ciągiem ośmiu bitów.

Słowo jest zestawem dwóch bajtów. Podwójne słowo jest zestawem dwóch słów.

Komputer został stworzony do przechowywania i przetwarzania informacji dla człowieka. Podstawowym elementem informacji dla człowieka są symbole zawierające litery alfabetu (wielkie i osobno małe), cyfry i szereg innych symboli, jak np. przecinek, dwukropek, kropka, wykrzyknik itd. Dodając do tego różne odmiany liter w poszczególnych językach oraz np. specjalne symbole matematyczne, uzyskasz zestaw niezbędnych znaków, który będzie zawierał ponad 200 symboli (zestaw symboli używanych w komputerach PC znajduje się w załączniku A).

Jeden bajt, czyli 8 bitów, może przechować 2*, czyli 256 różnych informacji- Dlatego też bajt jest podstawowym elementem informacji przetwarzanych w komputerze. Oznacza to, że binarna liczba 8-bito-wa (bajt), może przybierać (a w pamięci przechowywać) jedną z 256 różnych wartości: od 0 do 255. Z wyjątkiem bardzo specjalizowanych komputerów, w większości przypadków przetwarzanie informacji w komputerze odbywa się w jednostkach bajtowych. Nowsze (i szybsze) komputery mogą już naraz przetwarzać całe słowa, czy nawet podwójne słowa.

2.2.6 Banki pamięci

Jednym z najbardziej denerwujących początkujących programistów faktów jest ten, że jednomegabitowa kość pamięci nie może przechować ani jednego bajtu tylko... właśnie - 1 048 576 bitów. Pamiętaj, że większość istniejących kości pamięci ma tylko jedną linię danych. Jeżeli chcielibyśmy przechowywać bajty w istniejących kostkach RAM jeden za drugim, trzeba by je zapisywać i odczytywać w ośmiu kolejnych cyklach roboczych.

Istnieje możliwość ośmiokrotnego przyspieszenia odczytu czy zapisu. Każdy z ośmiu bitów jednego bajtu danych zapisany jest w osobnej kości RAM, ale w każdej z nich pod tym samym adresem. W ten sposób przy doprowadzeniu jednego adresu do linii wszystkich ośmiu kostek RAM, na ich liniach danych pojawia się równocześnie osiem bitów danych. Czas dostępu wynosi 80 nanosekund, a nie 640. Taka organizacha pamięci przedstawiona jest na rysunku 2.3. Jak z tego widać, komórka pamięci przechowująca jeden bajt, fizycznie wcale nie jest jakimś jednym miejscem. Faktycznie jest to zbiór ośmiu „komóreczek”, przechowujących po jednym bicie. Ponieważ jednak wszystkie te „komóreczki” (znajdujące się w ośmiu różnych kostkach) mają ten sam adres i przechowują bity tego samego bajtu, to z punktu widzenia programisty będzie całkowicie poprawna nazwa „komórka” jako równoważnik jednego adresu.

Zestaw ośmiu kostek nazywamy bankiem pamięci, natomiast pojemność takiego banku zależy od rodzaju układów scalonych, z których bank jest zbudowany. Zestaw ośmiu kostek 64k bitów zawiera 64 kilobajtów. Bank ośmiu kostek 256k będzie zawierał 256 kilobajtów.


Wyszukiwarka

Podobne podstrony:
Zrozumiec Assembler0 Zrozumieć Asembler Jeff Duntemann
Zrozumiec Assembler1 Zrozumieć AsemblerJeff DUNTEMANN Copyright © 1993 by John Wileyand Sons Ali ri
Zrozumiec Assembler9 Zrozumieć AsemblerJeff DUNTEMANN Copyright © 1993 by John Wiley and Sons Ali r
Zrozumiec Assembler3 2 Zrozumieć Asembler0.1 Wszystko można zaplanować Szybko! Obudzić dzieci, już
Zrozumiec Assembler4 4 Zrozumieć Asembler Wskaźnik podaje jej jedną z dwóch informacji: 1) jest dos
Zrozumiec Assembler5 6 Zrozumieć Asembler my automatycznie, nie zdając sobie zupełnie sprawy, że o
Zrozumiec Assembler6 8 Zrozumieć Asembler dają do jakichś czarnych dziur, którymi zwykle są: szybki
Zrozumiec Assembler7 10 Zrozumieć Asembler0.3.2 Gramy w Big Bux W jednym z narożników planszy Big B
Zrozumiec Assembler8 12 Zrozumieć Asembler mioty. Na polach gry wykonujemy posunięcia i sprawdzenia
Zrozumiec Assembler9 14 Zrozumieć Asembler0.3.5 Adresowanie Bardzo ważną rolę spełniają (miejscami
Zrozumiec Assembler0 16 Zrozumieć Asembler Rozdział 1_Obce bazyDwójkowy, szesnastkowy i inne system
Zrozumiec Assembler1 18 Zrozumieć Asembler1.1 Powrót matematycznego smoka W roku 1966 prawdopodobni
Zrozumiec Assembler2 20 Zrozumieć Asembler Tabela 1.1. Liczenie po marsjańsku w systemie
Zrozumiec Assembler3 22 Zrozumieć AsemblerMamy marsjańską liczbę n= r©= Każda kolumna zawiera warto
Zrozumiec Assembler4 24 Zrozumieć Asembler mogły być przeniesione na DEC, DEC zaprojektował swoje m
Zrozumiec Assembler6 28 Zrozumieć Asembler Teraz, kiedy już dobrze poznałeś kolumnową notację zarów
Zrozumiec Assembler7 30 Zrozumieć Asembler nym systemie liczbowym i mogą spowodować poważne pomyłki
Zrozumiec Assembler8 32 Zrozumieć Asembler nie zwykłego kalkulatora (który potrafi liczyć w systemi
Zrozumiec Assembler9 34 Zrozumieć Asembler nej sumy. Jedyne, co możemy zapamiętywać, to aktualna wa

więcej podobnych podstron