Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Egzamin z informatyki zagadnienia różne część 2, Egzaminy z Informatyka

Notatki dotyczące tematów z dziedziny informatyki: operacje arytmetyczne w systemach logarytmicznych, budowa ALU.

Typologia: Egzaminy

2012/2013

Załadowany 08.03.2013

Kowal_86
Kowal_86 🇵🇱

3.7

(3)

109 dokumenty

1 / 12

Toggle sidebar

Ta strona nie jest widoczna w podglądzie

Nie przegap ważnych części!

bg1
Zakres (bardzo podobny do zakresu w reprezentacji zmiennoprzecinkowej):
Pojedyńcza precyzja:
Dla
K=8
i
L=23
:
±
2129ulp
do
2128ulp
1.5×1039
do
3.4×1038
(gdzie
ulp
to jednostki najmniejszej precyzji).
Podwójna precyzja:
Dla
K=11
i
:
±
21025ulp
do
21024ulp
2.8×10309
do
1.8×10308
.
Bity flagi służą do reprezentacji takich wartości jak 0, NaN, +INF, -INF
Operacje arytmetyczne w systemach logarytmicznych:
Mnożenie:
Mnożenie 2 liczb w systemie logarytmicznych jest prosto realizowane.
Polega na zwyczajnym dodaniu 2 logarytmów do siebie.
log2xy=log2xlog2y
Flagi dalej odpowiadają za specjalne wartości i ich ustawienie automatycznie zmienia liczbę na
daną wartość. Jeśli wystąpi przekroczenie zakresu liczba automatycznie staje się +INF bądź -INF
Dzielenie:
Dzielenie 2 liczb jest równie proste jak mnożenie.
Polega na odjęciu od siebie logarytmów:
log2x
y=log2x−log2y
Tutaj może wystąpić niedomiar i wtedy wynik automatycznie staję się
0
.
Dodawanie i odejmowanie:
Bardziej skomplikowane, niż w reprezentacj floating point.
Realizowane za pomocą algorytmu:
Mamy 2 liczby:
A=−1SA
2EA
,
B=−1SB
2EB
. Chcemy policzyć liczbę
C=A±B
:
Znak liczymy jako:
SC=SA
Wykładnik liczymy jako:
EC=log2A±B
EC=log2A1±B
A
EC=log2Alog21±B
A
EC=EAfEBEA
,
gdzie
fEBEA=log2A log21±B
A∣=log21±2EBEA
13
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa

Podgląd częściowego tekstu

Pobierz Egzamin z informatyki zagadnienia różne część 2 i więcej Egzaminy w PDF z Informatyka tylko na Docsity!

Zakres (bardzo podobny do zakresu w reprezentacji zmiennoprzecinkowej): Pojedyńcza precyzja: Dla K^ =^8 i L =^23 : ± 2 −^129  ulp^ do 2128 − ulp^ ≈ 1.5× 10 −^39 do (^) 3.4 × 1038 (gdzie ulp to jednostki najmniejszej precyzji). Podwójna precyzja: Dla K = 11 i L = 52 : ± 2 −^1025  ulp^ do 21024 − ulp^ ≈ (^) 2.8× 10 −^309 do (^) 1.8 × 10308. Bity flagi służą do reprezentacji takich wartości jak 0, NaN, +INF, -INF Operacje arytmetyczne w systemach logarytmicznych: Mnożenie: Mnożenie 2 liczb w systemie logarytmicznych jest prosto realizowane. Polega na zwyczajnym dodaniu 2 logarytmów do siebie. log 2  xy =log 2  x log 2  y  Flagi dalej odpowiadają za specjalne wartości i ich ustawienie automatycznie zmienia liczbę na daną wartość. Jeśli wystąpi przekroczenie zakresu liczba automatycznie staje się +INF bądź -INF

Dzielenie: Dzielenie 2 liczb jest równie proste jak mnożenie. Polega na odjęciu od siebie logarytmów:

log 2  x y

=log 2  x −log 2  y

Tutaj może wystąpić niedomiar i wtedy wynik automatycznie staję się 0. Dodawanie i odejmowanie: Bardziej skomplikowane, niż w reprezentacj floating point. Realizowane za pomocą algorytmu:

Mamy 2 liczby: (^) A =− 1 SA ⋅ 2 E^ A^ , (^) B =− 1 SB ⋅ 2 E^ B^. Chcemy policzyć liczbę C = A ± B : Znak liczymy jako: SC = SA Wykładnik liczymy jako: EC =log 2 ∣ A ± B

EC =log 2 ∣ A ⋅ 1 ±

B

A

EC =log 2 ∣ A ∣log 2 ∣ 1 ± B A

EC = E (^) AfEBE (^) A

gdzie

fEBE (^) A =log 2 ∣ A ∣log 2 ∣ 1 ±

B

A

∣=log 2 ∣ 1 ± 2 EB^ − EA

W skrócie : EC = E (^) A log∣ 1 ± 2 EBE^ A ∣ , SC = SA

b) zamiana reprezentacji zmiennoprzecinkowej na reprezentacje logarytmiczną

− 1  SM ⋅ 2 E^ = − 1  SM ⋅ 2 F ⋅ 2 E^ = − 1  S ⋅ 2 FE Trzeba znaleźć F =log 2 M^. Podejścia:

  1. Przeszukaj tabelę logarytmów;
  2. Wylicz przybliżony logarytm:
    • X^ FP = zu zu − 1 ^ z 0 ^ zv - liczba binarna
    • zt - najstarszy niezerowy bit.

Wtedy X FP = 2 t^  ∑

i =− v

t − 1

2 i^ zi = 2 t  1  ∑

i =− v

t − 1

2 i −^1 ⋅ z i 

X (^) FP = 2 t^  1  x, xLSN ∈〈 0 , 1 

  • log 2 X^ FP = t log 2 ^1  x^ ^ , gdzie t -charakterystyka logarytmu, log 2  1  x  -mantysa.

Z szeregu tylora f  x =∑

k = 0

∞ (^) x k k!

f ^ k ^  0  ,

  • f^ ^ x =log 2 ^1  x^ ^ , f^ ^0 =^0
  • f '^ ^ x^ =log 2 e ^

1  x

 (^) , f '  0 =log 2 e

  • f ' '^ ^ x^ =log 2 e ^

1  x^2

 (^) , f ' 'x =log 2 − e

Zatem fx = 0  x log 2 e

x^2 fract

2 log 2 e 

// do weryfikacji

7. Budowa i zasada działania:

a) jednostki arytmetyczno-logicznej procesora

ALU - połączenie układów: logicznego i arytmetycznego. Jest układem cyfrowym. Służący do wykonywania operacji:

  • arytmetycznych (np. dodawanie, odejmowanie);
  • logicznych (np. Ex-Or) pomiędzy dwiema liczbami;
  • jednoargumentowych (np. przesunięcie bitów, negacja) ALU jest podstawowym blokiem centralnej jednostki obliczeniowej komputera. Wszystkie inne elementy systemu komputerowego (jednostka sterująca, rejestry, pamięć, I/O) istnieją głównie po to, żeby dostarczać dane do ALU w celu ich przetworzenia i odbierać wyniki.

szeregowych rejestrów przesuwających 1 i 2, a suma podawana jest na miejsce dodajnej. W miarę dodawania nowych składników cała suma akumuluje się w tym rejestrze.

II BUDOWA PROCESORA

1. Budowa procesora opartego na architekturze von Neumana, podstawowe jego

elementy i ich przeznaczenie.

// Śmierciak Aleksander: Architektura von Neumanna to pierwszy rodzaj architektury komputera, opracowanej przez Johna von Neumanna, Johna W. Mauchly'ego oraz Johna Presper Eckerta w 1945 roku. Cechą charakterystyczną tej architektury jest to, że dane przechowywane są wspólnie z instrukcjami, co sprawia, że są kodowane w ten sam sposób. W architekturze tej komputer składa się z czterech głównych komponentów: a) pamięci komputerowej przechowującej dane programu oraz instrukcje programu; każda komórka pamięci ma unikalny identyfikator nazywany jej adresem, b) jednostki kontrolnej odpowiedzialnej za pobieranie danych i instrukcji z pamięci oraz ich sekwencyjne przetwarzanie, c) jednostki arytmetyczno-logicznej odpowiedzialnej za wykonywanie podstawowych operacji arytmetycznych. d) urządzeń wejścia/wyjścia służących do interakcji z operatorem. Jednostka kontrolna wraz z jednostką arytmetyczno-logiczną tworzą procesor. System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien: a) mieć skończoną i funkcjonalnie pełną listę rozkazów, b) mieć możliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i jego przechowywanie w pamięci w sposób identyczny jak danych, c) dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora. Informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji w procesorze.

Podane warunki pozwalają przełączać system komputerowy z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność.

System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb. Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy instrukcje. Wykonywany program może się sam modyfikować traktując obszar instrukcji jako dane, a po przetworzeniu tych instrukcji

  • danych - zacząć je wykonywać.

Model komputera wykorzystującego architekturę von Neumanna jest często nazywany przykładową maszyną cyfrową (PMC).

// Stolarczyk Ziemowit:

// (o samym procesorze na wykłądzie było tyle co kot napłakał. W necie też raczej opisana jest architektura von Neumana, a nie jego procesor. Takowoż stworzyłem odpowiedź będącą kombinacją wykładu i informacji z internetu)

Schemat z internetu:

Schemat z wykładu:

(Procesor, pamięć i urządzenia I/O łączą się z magistralą, która jest łącznikiem między nimi wszystkimi. W procesorze zawarta jest jednostka arytmetyczno logiczna oraz jednostka sterująca.) PROCESOR PAMIĘĆ URZĄDZENIA I/O

Magistrala Systemowa

Procesor posiada :

  • jednostka ALU (arytmetyczno-logiczna, przetwarzająca) (prostych obliczeń arytmetycznych oraz logicznych);
  • jednostka sterująca (dekoduje z programu rozkaz i na jego podstawie generuje wew. i zew. sygnały);
  • rejestry (wewnętrzna pamięć procesora);
  • zegar ;
  • wewnętrzna magistrala procesora.
  1. Rejestry procesora i ich zawartość :
  • PC – adres kolejnego rozkazu do pobrania
  • MAR – adres pamięci skąd pobieramy dane
  • MBR – dane przesłane z pamięci
  • IR – pobrany rozkaz do wykonania
  • AC (akumulator) – dane do przetwarzania przez jednostkęALU
  • rejestry dostępne dla programu , ogólnego przeznaczenia
  • inne
  1. Cechy Architektury
  • Procesor łaczy się z urządzeniami I/0 oraz pamięcią za pomocą magistrali systemowej.
  • Informacja przechowywana w komórkach o jednakowym rozmiarze i każda z nich zawiera jednostkę informacji (tak zwane 'słowo').
  • Instrukcje oraz dane przechowywane w ten sam sposób.

ARGUMENT = A

Tryb stosowany do:

  • definiowania, używania stałych,
  • ustalania początkowych wartości zmiennych.

Liczba jest zwykle przechowywana w postaci uzupełnienia do dwóch; lewy bit pola argumentu jest

używany jako bit znaku. Gdy argument jest ładowany do rejestru danych, bit znaku jest rozszerzany

na lewo w celu wypełnienia słowa danych.

Najprostszym sposobem określenia miejsca argumentu w rozkazie jest umieszczenie w jego części adresowej samego argumentu, a nie informacji gdzie on się znajduje.

Zalety: Wady:

  • Nie wymaga dodatkowego odwołania do pamięci w celu pobrania argumentu.
  • Oszczędzony jeden cykl pamięci głównej lub podręcznej w cyklu rozkazu.
    • Ograniczenie argumentu do liczby, którą można zakodować w polu adresowym (małe w porównaniu z długością słowa).

b) adresowanie bezpośrednie

W adresowaniu bezpośrednim adres operandu znajduje się bezpośrednio w rozkazie.

  • A – zawartość pola adresowanego w rozkazie.
  • EA – rzeczywisty (efektywny) adres lokacji zawierającej odniesiony argument Wady: Zalety:

ograniczona przestrzeń adresowa

prostota

Algorytm: EA = A Głowna zaleta: prostota Głowna wada: ograniczona przestrzeń adresowa Metoda we współczesnych komputerach nie jest bardzo powszechna. Wymaga tylko jednego odniesienia do pamięci i nie potrzeba żadnych obliczeń. Umożliwia ograniczoną przestrzeń adresową.

Wyróżniamy adresowanie bezpośrednie ze stałą i rejestrem.

  • STAŁA. Sekwencja mikroprzesłań zachodzących w adresowaniu bezpośrednim (adres argumentu reprezentowany za pomocą stałej). Mikrooperacja wyrażona w notacji RTL:

1. MAR(1:6) <- IR(10:16)

2. BUS_ADRES <- MAR

3. MBR <- BUS_DATA

o Adres argumentu jest umieszczony w rejestrze rozkazów (IR) na bitach o numerze 10- o Wartość ta nie reprezentuje wartości liczbowej, lecz adres komórki pamięci operacyjnej, w której argument jest umieszczony. o W celu sprowadzenia argumentu z pamięci operacyjnej należy przesłać odpowiednie bity rejestru (IR) do rejestru (MAR) za pomocą którego zostanie zaadresowana pamięc operacyjna.

  • REJESTR. Sekwencja mikroprzesłań zachodzących w adresowaniu bezpośrednim (adres argumentu przechowywany jest w rejestrze). Mikrooperacja wyrażona w notacji RTL: 1. MAR <- MBR 2. BUS_ADRES <- MAR 3. MBR <- BUS_DATA

o Adres argument jest reprezentowany za pomocą stałej ale w określonym rejestrze o Jest on niezbędny w sytuacji, w której program wykonuje operacje na złożonych strukturach (np. tablice) o W przypadku działania na tablicach, indeks jest obliczany dynamicznie.

c) adresowanie rejestrowe

// Szwed Kamil: w skrócie: w kodzie rozkazu określony jest rejestr zawierający argument rozkazu. Jest ono pojęciowo równe adresowaniu bezpośredniemu. W tej formie adresowania pole adresowe zawiera numer rejestru , w którym zapamiętany jest argument. Adresowanie rejestrowe oznacza, że w instrukcji mamy zakodowany numer (adres) rejestru , a nie adres pamięci. Procesory zwykle zawierają od kilku (np. 8), do kilkudziesięciu (np. 64) rejestrów, dzięki czemu pole adresowe odnoszące się do rejestru może mieć od 3 do 6 bitów długości. Daje to krótszy czas pobrania rozkazu i krótsze rozkazy.

// Śmierciak Aleksander: W adresowaniu rejestrowym operandy znajdują się w rejestrach wewnętrznych

// Śmierciak Aleksander:

W adresowaniu bazowym rozkaz wskazuje na jeden z rejestrów bazowych BX lub BP i może zawierać 8-; lub 16-bitową wartość stanowiącą lokalne przemieszczenie. Adresem efektywnym jest suma zawartości rejestru bazowego i przemieszczenia.

f) adresowanie stosowe

Typ adresowania bezpośredniego. Operand znajduje się na wierzchołku stosu (rozkazy nie muszą zawierać odniesienia do pamięci).

Wady: Zalety:

ograniczona stosowalność

brak odniesienia do pamięci

4. Omówić cykle pracy procesora:

Zadaniem procesora jest wykonywanie rozkazów zapisanych w pamięci. Realizacja rozkazu w procesorze odbywa się w cyklach. Cyklem nazywamy pewną sekwencję stałych kroków, których celem jest realizacja bądź całego rozkazu, bądź jego fragmentu.

a) cykl pobrania

(ang. fetch) – rozkaz zostaje pobrany z pamięci do procesora,

Składa się z 3 etapów:

  1. Adresowanie
  2. Wczytanie zawartości
  3. Zwiększenie licznika rozkazów

W fazie tej kod rozkazu pobierany jest z komórki pamięci o adresie przechowywanym w liczniku rozkazów, a następnie umieszczany w rejestrze rozkazów (w układzie sterującym). Przesyłanie odbywa się przez magistralę danych.

Następnie zawartość licznika rozkazów jest modyfikowana w taki sposób, aby wskazywał on na kod kolejnego rozkazu przeznaczonego do pobrania.

Cykl pobrania w notacji RTL:

MAR – rejestr adresowania; PC – licznik rozkazów; MBR – rejestr buforowy;

CU – jednostka sterująca; IR – rejestr rozkazów;

  1. [MAR] <- [PC]
  2. [PC] <- [PC + 1]
  3. [MBR] <- [M ([MBR]) ]
  4. [IR] <- [MBR]
  5. CU <- [IR ( KOD OPERACJI) ]

Przykładowa sekwencja zdarzeń w cyklu pobierania.

b) cykl adresowania pośrednie

(ang. read) – jeśli rozkaz tego wymaga następuje pobranie argumentu z pamięci; zostaje wyznaczony adres efektywny argumentu, a następnie jest on pobierany do procesora,

// Starzak Mariusz

c) cykl wykonawczy

(ang. execute) – następuje wykonanie operacji, która jest opisana przetwarzanym rozkazem. Polega na zdekodowaniu kodu rozkazu i wytworzenia sygnałów sterujących realizujących dany rozkaz.

d) cykl przerwania

(ang. write) – jeśli w wyniku operacji powstał rezultat, który ma być umieszczony w pamięci, zostaje dla owego rezultaty wyznaczony adres efektywny i wykonywany jest zapis. Faza przerwania dotyczy skoku do podprogramu obsługi sytuacji wyjątkowych.