background image

Architektura komputerów

2. PRZETWARZANIE W 

KOMPUTERZE

background image

2 PRZETWARZANIE W KOMPUTERZE

2.1 „Klasyczny” komputer
2.1.1 Model von Neumanna 
2.1.2 Model Harvard 
2.1.3 Realizacja, implementacja, architektura - 
warstwowy model komputera 
2.2  Model Flynna
2.3 Przetwarzanie w klasycznym komputerze

ArKom 2013 – 2 Przetwarzanie w 

komputerze

2 - 2

background image

2.1 „Klasyczny” komputer 

• Przetwarzanie informacji (wejście, wyjście) 

sterowane informacją – czarna skrzynka

• Przetwarzanie na ciągach liczb zerojedynkowych 
• Przetwarzanie w oparciu program – od ENIAC 

(1946) -  programmed computing, tzn. algorytm 
(zbiór precyzyjnych reguł) precyzyjnie 
zakodowany w program,

ArKom 2013 – 2 Przetwarzanie w 

komputerze

3

background image

• modele/abstrakcje komputerów 

– architektura – zachowanie się z punktu 

widzenia użytkownika

– implementacja – jaka jest struktura i jak 

działa – organizacja logiczna

– realizacja – z czego zbudowano

ArKom 2013 – 2 Przetwarzanie w 

komputerze

4

background image

2.1.1 Model von Neumann 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

5

 

MEMORY 

 

CONTROL 

UNIT 

ARITHMETIC 

LOGIC 

UNIT 

 

accumulator 

INPUT 

OUTPUT 

CPU 

background image

Jak to działa?

ArKom 2013 – 2 Przetwarzanie w 

komputerze

6

CONTROL

INPUT

ALU

MEMORY

OUTPUT

Data/Instructio
n Flow
 

Control Flow
 

background image

Instrukcja/rozkaz/liczba  słowo

29.10.2013

 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

7

opcode

addressis

s

magnitude

background image

Cykl rozkazowy (Instruction cycle)

ArKom 2013 – 2 Przetwarzanie w 

komputerze

8

START

 

HALT

Fetch the next Instruction

Execute the Instruction

Fetch Cycle

Execute Cycle

background image

Przykład

• Zadanie. Dodać dwie liczby i wynik 

ulokować w pamięci 

• kody operacyjne:

0001  1 – pobierz rozkaz z pamięci i 

prześlij go do rejestru rozkazów 

0010  2 – zapamiętaj wartość 

akumulatora w pamięci 

0101  5 – dodaj do akumulatora 

komórkę pamięci 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

9

background image

A.   Załadowanie pierwszego rozkazu do rejestru IR

ArKom 2013 – 2 Przetwarzanie w 

komputerze

10

MEMORY

30

0

94

1

94

0

30

2

30

1

1 940

0002

0003

2 941

5 941

CU

300

1 940

PC

IR

 

ALU

  ACC

background image

B   załadowanie do ACC liczby z komórki „940” oraz 
zwiększenie o 1 rejestru PC 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

11

 

MEMORY

300

941

940

302

301

1 940

0002

0003

2 941

5 941

 

ALU

 0003 ACC

 

CU

300

1 940

PC

IR


1

background image

C   Pobranie do rejestru IR kolejnego rozkazu (adres w pamięci 
„301”) 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

12

 

MEMORY

300

941

940

302

301

1 940

0002

0003

2 941

5 941

 

CU

301

5 941

PC

IR

 

ALU

 0003 ACC

background image

D   Wykonanie dodawania i lokowanie wyniku w 
ACC. Zwiększenie licznika PC

ArKom 2013 – 2 Przetwarzanie w 

komputerze

13

 

MEMORY

30

0

94

1

94

0

30

2

30

1

1 940

0002

0003

2 941

5 941

 

CU

301

5 941

PC

IR


1

 
 

ALU

 0005

ACC

background image

E   Pobranie rozkazu 302 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

14

 

MEMORY

30

0

94

1

94

0

30

2

30

1

1 940

0002

0003

2 941

5 941

 

CU

302

2 941

PC

IR

 

ALU

 0005 AC

C

background image

F   Wykonanie rozkazu 302, czyli wysłanie 
wyniku dodawania do komórki pamięci „941” 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

15

 

MEMORY

30

0

94

1

94

0

30

2

30

1

1 940

0005

0003

2 941

5 941

 

CU

302

2 941

PC

IR


1

 
 

ALU

 0005

AC

C

background image

• System komputerowy zbudowany w oparciu o 

architekturę von Neumanna powinien:

– mieć skończoną i funkcjonalnie pełną listę rozkazów
– mieć możliwość wprowadzenia programu do 

systemu komputerowego poprzez urządzenie 
zewnętrzne i jego przechowywanie  w pamięci w 
sposób identyczny jak danych 

– dane i instrukcje w takim systemie powinny być 

jednakowo dostępne dla procesora

– informacja jest przetwarzana dzięki sekwencyjnemu 

odczytywaniu instrukcji z pamięci i wykonywaniu 
tych instrukcji w procesorze.

ArKom 2013 – 2 Przetwarzanie w 

komputerze

16

background image

2.1.2 Model Harvard 

• Architektura harwardzka – w odróżnieniu od 

architektury von Neumanna pamięć danych 
programu jest oddzielona od pamięci rozkazów.

ArKom 2013 – 2 Przetwarzanie w 

komputerze

17

background image

ArKom 2013 – 2 Przetwarzanie w 

komputerze

18

ALU

 

CU

 

I/O

 

Instructio

ns 

Memory

 

Data

 Memory

 

 

background image

• Prostsza budowa przekłada się na większą szybkość 

działania - dlatego ten typ architektury jest często 
wykorzystywany w procesorach sygnałowych oraz 
przy dostępie procesora do pamięci cache.

• Separacja pamieci danych od pamięci rozkazów 

sprawia, że architektura harwardzka jest obecnie 
powszechnie stosowana w mikrokomputerach 
jednoukładowych, w których dane programu są 
najczęściej zapisane w nieulotnej pamięci ROM 
(EPROM/EEPROM), natomiast dla danych 
tymczasowych wykorzystana jest pamięć RAM 
(wewnętrzna lub zewnętrzna).

ArKom 2013 – 2 Przetwarzanie w 

komputerze

19

background image

2.1.3 Realizacja, implementacja, 
architektura - warstwowy model komputera 

• Realizacja – technologie umożliwiają: 

– rozbudowę i wbudowanie różnych 

funkcjonalności  (cache, specjalizowane 
układy/bloki – np. zmiennoprzecinkowe 
jednostki) 

– zwiększenie szybkości działania 
– miniaturyzację
– ograniczenie mocy wydzielanej itd.

ArKom 2013 – 2 Przetwarzanie w 

komputerze

20

background image

• Implementacja / organizacja / 

organizacja logiczna – opisuje 
współdziałanie bloków 
funkcjonalnych komputera  ≡ sposób 
przechowywania informacji + 
sposób i harmonogram przepływu w 
strukturze komputera

• Organizacja komputera może być 

opisana na różnych poziomach 
szczegółowości  struktury 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

21

background image

ArKom 2013 – 2 Przetwarzanie w 

komputerze

22

KOMPUTER

BLOKI FUNKCJONALNE

(block level)

 

REJESTRY

(register-transfer level; RTL)

[hardware description/design level; 

HDL]

 

UKŁADY LOGICZNE

(gate level)

 

ELEKTRONIKA 

(electronic circuits level)

 

background image

• Architektura  - opis zachowania się komputera 

z punktu widzenia użytkownika, ale abstrahuje 
od jego organizacji logicznej

• Użytkownik działa w języku wysokiego 

poziomu i nie chce znać budowy komputera, a 
„architektura” interpretuje te ‘zapisy” do 
poziomu języka maszynowego (język 
programowania w kodzie binarny zrozumiały 
bezpośrednio przez CPU) opisującego 
zachowanie sprzętu w oparciu, o który działa 
oprogramowanie. 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

23

background image

ArKom 2013 – 2 Przetwarzanie w 

komputerze

24

• 5.11.2013 

Atrybuty architektury - (Instruction-

Set Architecture) [WK]

 

• Lista rozkazów

• Formaty danych

• Struktura rozkazu

• Sposoby adresowania 

• System przerwań

• Rejestry i pamięć

• Dąży się do zachowania np. listy rozkazów przy 

zmianach organizacji, np. liczby rejestrów, 
długości słowa

• Architektura decyduje o kompatybilności 

komputerów

background image

Języki i tłumaczenia/interpretacje  model 
warstwowy komputera

• Model warstwowy: każda warstwa 

może być rozpatrywana jako 
maszyna wirtualna; każda warstwa 
definiowana jest przez własny język; 
każda warstwa korzysta z usług 
warstwy niższej (bliższej sprzętowi)

ArKom 2013 – 2 Przetwarzanie w 

komputerze

25

background image

ArKom 2013 – 2 Przetwarzanie w 

komputerze

26

Aplikacje

 

Języki wysokiego poziomu

Asembler

Sprzęt

Język 

maszynowy

background image

• Język wysokiego poziomu (High Level Language – HLL)
• Asembler (assembler) – program tłumaczący język 

wysokiego poziomu na język maszynowy - specyficzny dla 
danego procesora

– Tłumaczy „mnemoniki  słowa kluczowe” na kody operacyjne 

oraz etykiety (nadane przez programistów) na adresy

– Tłumaczy również dyrektywy – polecenia dodatkowe związane z 

realizacją tłumaczenia, np. dot. rezerwacji pamięci, nadania 
zmiennym wartości początkowych, sygnalizacji błędów 
translacji

– Tłumaczy jeden/jeden program HLL na język maszynowy, czyli 

powstaje program binarny!

– Pomaga mu system operacyjny

ArKom 2013 – 2 Przetwarzanie w 

komputerze

27

background image

• Rozróżnia się 

tłumaczenie/translacja:

• Kompilatory (compiler) – tłumaczą cały 

program na cały program w kodzie 
maszynowym

• Interpreter – tłumaczą sukcesywnie 

instrukcje programu źródłowego na kod 
maszynowy – nie ma programu wynikowego

ArKom 2013 – 2 Przetwarzanie w 

komputerze

28

background image

2.2 Model Flynna 

• Taksonomia ≡ Systematyka klasyfikacji 

architektur komputerów; 

podział na kategorie

definiowanie / określenie  własności 

• Taksonomia Flynn (1968)

Komputer = przetwarza strumienie danych i 

strumienie instrukcji 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

29

background image

 

 

Liczba strumieni danych

 

 

1

N

Liczba 
strumie

ni 
instrukcj

i

 

1

SISD

Single 
Instruction 

stream; Single 
Data stream

SIMD

Single Instruction 
stream; 

Multiple Data 
stream

 

N

MISD

Multiple 

Instruction 
stream; Single 

Data stream

MIMD

Multiple 

Instruction stream; 
Multiple Data 

stream

ArKom 2013 – 2 Przetwarzanie w 

komputerze

30

background image

SISD – pojedynczy strumień instrukcji i 

danych – von Neumann – najbardziej 
rozpowszechniony typ architektury

SIMD – jedna instrukcja powoduje wykonanie 

tej samej operacji na wielu kompletach danych – 
procesor wektorowy, procesor macierzowy

MISD -  ??? (procesor potokowy?)

MIMD – wieloprocesor, wielokomputer

ArKom 2013 – 2 Przetwarzanie w 

komputerze

31

background image

2.3 Przetwarzanie w klasycznym komputerze

• Przykład - Czajnik 
• Sterowanie gotowaniem wody w czajniku 

elektrycznym

ArKom 2013 – 2 Przetwarzanie w 

komputerze

32

background image

ArKom 2013 – 2 Przetwarzanie w 

komputerze

33

background image

• if T:=TW=100 then I:=0; nigdy taka temperatura
• if T>99 then t+D I=0; woda musi się gotować przez 

pewien czas (bakterie) 

• if TW= TW(P) then t+D I=0; temperature wrzenia 

wody zależy od ciśnienia atmosferycznego  Morze 
Martwe – Mont Everest 

• TW≈100-h/100
• skąd wziąć tabelę; if TW(P)  T>T* then t+D I=0
• czas opóźnienia zależy temperatury wrzenia, czyli od 

ciśnienia, czyli od wysokości

• zbiór rozmyty – temperatura wrzenia 
• model matematyczny 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

34

background image

Czajnik 1 – Funkcja przynależności 
temperatury wrzenia

ArKom 2013 – 2 Przetwarzanie w 

komputerze

35

100 105

85

75

0,8

1

1,0

0

background image

Czajnik 1 – Zależność czasu opóźnienia od 
temperatury wrzenia

ArKom 2013 – 2 Przetwarzanie w 

komputerze

36

 

opóźnienie 

temperatura 

100 

20 

background image

  Kroki

Uwagi         

12.11.2013

1 Opis problemu

Sformułowanie i werbalny opis problemu

2 Model 

matematyczny

Przetworzenie problemu w matematyczny zapis;

1)  zawsze  uproszczenie  i w wielu  przypadkach 

nie da się zbudować jednoznacznego modelu,

2) należy dopasować do danych,

3 Rozwiązanie 

„modelu 

matematycznego”

Nie każdy model da się rozwiązać;

1) brak „aparatu” matematycznego,

2)  ograniczenia  komputera    pamięć,  złożoność 

obliczeniowa,

4 Algorytm

Opracowanie  algorytmu  często  wprowadza 

kolejne  uproszczenia  i ograniczenia  do  modelu 

i precyzji jego rozwiązania

5 Program

Kolejne ograniczenia i utrudnienia

6 Testowanie na 

zbiorach danych

Nie zawsze program liczy w zakładanym zakresie 

zmienności danych

7 Obliczenia

 

ArKom 2013 – 2 Przetwarzanie w 

komputerze

1 - 37


Document Outline