uvod u računarstvo - riteh.uniri.hr · pdf filesaržaj kolegija uvod u računarstvo}uvod i...

72
UUR 2009/2010 1 Uvod u računarstvo Preddiplomski studij elektrotehnike 2009/2010 prof.dr.sc. Ivo Ipšić

Upload: buithuy

Post on 15-Feb-2018

270 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20101

Uvod u računarstvoPreddiplomski studij

elektrotehnike 2009/2010

prof.dr.sc. Ivo Ipšić

Page 2: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20102

Saržaj kolegija Uvod u računarstvo

Uvod i razvoj računala Zapis podataka i kodiranje informacija u računaluGrađa računalaProgramska oprema računalaRačunalne mrežeUvod u programiranje i programski jezik C

Page 3: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20103

Sadržaj

Model računalavon Neumannova arhitektura računalaElementi računalaPojednostavljen model računalaIzvršavanje instrukcija

Page 4: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20104

John von Neumann (1903-1957)

ideja: zajedničko pohranjivanje podataka i programa u memoriji računala slijedeći korak programa ovisi o prijašnjem

predložena arhitektura za EDVAC (Electronic DiscreteVariable AutomaticComputer) postaje poznata pod imenom von Neumanovaarhitektura računala

Page 5: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20105

Model von Neumannovog računala

CPU

UPRAVLJAČKI

SKLOP

ARITMETIČKO -LOGIČKAJEDINICA

ULAZNAJEDINICA MEMORIJA IZLAZNA

JEDINICA

Tok podataka i instrukcija

Upravljački signali

Page 6: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20106

Mikroprocesor Intel Pentium

Page 7: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20107

Model računala

mainmemory

I/O bridgebus interface

ALU

register file

CPU chip

system bus memory bus

disk controller

graphicsadapter

USBcontroller

mousekeyboard monitordisk

I/O bus Expansion slots forother devices suchas network adapters.

Page 8: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20108

Komponente računala

Page 9: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/20109

Komponente računala

centralna procesna jedinica (CPU) ili mikroprocesor obavlja upravljačke operacije i obradu podatakamemorija – glavna ili radna memorija pohranjuje instrukcije programa i podatkeulazno/izlazni sklopovi – služe za unos podataka u računalo i prikaz rezultata obradesustav sabirnica – omogućava prijenos podataka, instrukcija, adresa i upravljačkih signala između mikroprocesora, memorije i ulazno/izlaznih uređaja

Page 10: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201010

CPU (Central processing unit)

control unit

registers

flagscachememory

ALUinput/output

storage

memory

registers

Page 11: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201011

CPU

aritmetičko – logička jedinica (ALU): izvršava aritmetiče i logičke operacije na podacima zapisanim u registre prema naredbama upravljačkog sklopa registri mikroprocesora: privremena pohrana podataka i instrukcija provides temporary storage for data and instructions.

registri upravljačkog sklopa:• instrukcijski registar csadrži instrukciju koja se izvršava• programsko brojilo (instruction pointer) sadrži adresu sljedeće

instrukcijeregistri aritmetičko logičkog sklopa

• akumulator sadrži operande i rezultate aritmetičkih i logičkih operacija

Page 12: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201012

interne sabirnice mikroprocesora:povezuju upravljački sklop, ALU i registreupravljački sklop: upravlja operacijama mikroprocesora, interpretira, dekodira instrukcije, prenosi podatke među registrima, upravlja ALU, ... priručna memorija (cache) : sadrži skup instrukcija i podataka koje mikroprocesor koristi za izvršavanje

CPU

Page 13: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201013

Memorije mikroprocesora

Page 14: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201014

Sabirnice mikroprocesora

Microprocessor(CPU)

RAM ROM

Input/Output(I/O)

Control Bus

Data Bus

Address Bus

Page 15: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201015

Sabirnice (BUS)spojni putovi – vodovi –povezuju dijelove računalaadresna sabirnica – prijenos adresa instrukcija i podataka potrebnih za operacije čitanja i pisanjapodatkovna sabirnica –prijenos podataka i instrukcija – dvosmjerna komunikacijaupravljačka sabirnica –prijenos upravljačkih i sinkronizacijskih signala

Page 16: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201016

Page 17: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201017

Memorija

memorijska hijerarhija

registri i cache

RAM

vanjska memorija

CPU

veća brzina

veći kapacitet

Page 18: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201018

RAM – Random Access Memory

svaki podatak u memoriji ima svoju jednoznačnu adresuu memoriji se pohrajuju podaci i programikapacitet memorije1 bajt = 8 bita1 kilobajt [KB]= 1024 bita 1 megabajt [MB] = 1024 kilobajta1 gigabajt [GB ]= 1024 megabajta

Page 19: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201019

sadrži BIOS (Basic Input/Output System-instrukcije koje pokreću operacijski sustav)

sadržaj ROM memorije se zapisuje u postupku proizvodnje, kod pokretanja računala čitaju se podaci o računalnom sustavu (tip mikroprocesora, radna memorija, ...)

ROM – Read Only Memory

Page 20: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201020

Vanjska memorija - disk

Page 21: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201021

Memorija

svaki podatak u memoriji ima svoju jednoznačnu adresuu memoriji se pohrajuju podaci i programipostupci pisanja i čitanja preko dva registra: MAR i MDR

Page 22: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201022

Memorija

kapacitet memorije

1 bajt = 8 bita1 kilobajt [KB]= 1024 bita 1 megabajt [MB] = 1024 kilobajta1 gigabajt [GB ]= 1024 megabajta

Page 23: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201023

Memorija - čitanje

• zapisuje se adresa podatka koji se čita u registar MAR;

• generiraju se upravljački signali na liniji za čitanje, koji omogućavaju da se sadržaj memorijske lokacije zapisane u MAR prenese u registar MDR;

• nakon operacije čitanja podatak se nalazi u MDR;• vrši se prijenos podatka iz registra MDR u ciljni

registar.

Page 24: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201024

Memorija - pisanje

• zapisuje se adresa na koju želimo pohraniti podatak u MAR;

• podatak se prenosi u registar MDR;• generiraju se upravljački signali, koji vrše prijenos

podataka iz MDR u memoriju na adresu zapisanu u registru MAR;

• nakon operacije pisanja podatak se nalazi u memoriji

Page 25: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201025

Memorijska hijerarhijaregistri

L1cache (SRAM)

radna memorija(DRAM)

sekundarna memorija(lokalni diskovi)

distribuirana sekundarna memorija( distribuirani datotečni sustavi, web serveri)

L2cache (SRAM)

L0:

L1:

L2:

L3:

L4 :

L5:

Page 26: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201026

Ulazno/izlazne jedinice

ulazna jedinica - služi za unos podataka iz vanjskog svijeta memoriju računala:

tipkovnica, miš,mikrofon,kamera

izlazna jedinica - služi za prikaz obrađenih podataka:monitor,štampač, ploter, zvučnik

Page 27: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201027

CPU

sastoji se od aritmetičko-logičke jedinice, upravljačke jedinice i registara:

akumulator (AR),brojilo instrukcija (PC registar),instrukcijski registar (IR),indeksni registar (IX),statusni registar (SR),...

Page 28: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201028

Izvršavanje instrukcija

2 faze:pribavi instrukciju (fetch)

• adresa instrukcije iz PC MAR• signal za čitanje• sadržaj iz MDR IR

izvrši instrukciju (execute)• dekodiraj instrukciju• izvrši instrukciju• PC PC + 1

Page 29: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201029

Instrukcijskiciklus

izračun adreseinstrukcije

pribaviinstrukciju

dekodirajinstrukciju

izračunajadresu

operanadaizvrši

instrukcijuizračunaj adresu

operanada

pribavioperande

pohranioperande

Page 30: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201030

Računalni sustav

Page 31: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201031

Model pojednostavljenog mikroprocesora

ALU

dekoder

upravljačkisklop

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 32: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201032

Izvođenje jednog instrukcijskog ciklusa

ALU

dekoder

upravljačkisklop

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 33: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201033

Faza pribavi instrukciju

ALU

dekoder

upravljačkisklop

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 34: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201034

Faza izvrši instrukciju

ALU

dekoder

upravljačkisklop

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 35: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201035

Faza izvrši instrukciju 2

ALU

dekoder

upravljačkisklop

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 36: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201036

Primjer faze izvrši za instrukciju MVT 001024

ALU

88001024

dekoder

upravljačkisklop

001024

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 37: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201037

Pribavi operand

ALU

88001024

dekoder

upravljačkisklop

AAAA0000001024

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 38: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201038

Izvrši MVT 001024

ALU

AAAA0000 88001024

dekoder

upravljačkisklop

AAAA0000001024

IR

PC

pišičitaj

AR

MAR MDR

takt φ

Page 39: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201039

Jezik mikroprocesora

instrukcije se izvršavaju u dvije faze: pribavi i izvrši instrukciju

1 AM ADRESA0 3 7 8 31

OP - operacija, instrukcijski kod

AM - način adresiranja

polje operacijskog koda

bit 4 = 1 ⇒ 32 bitna instrukcija

OP

Page 40: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201040

Elementi procesora SAP

memorija224=16.777216 riječi (16MB)dužina riječi 32 bita

dostup do 4 registraakumulator AR 32 bitniindeksni registar IX 24 bitniregistar stoga SP 24 bitnistatusni registar SR 8 bitni

2 registra do kojih programer nema pristupaprogramsko brojilo PC 24 bitni registarinstrukcijski registar IR 32 bitni

Page 41: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201041

Elementi procesora SAP

format instrukcija32 bitne i 16 bitne instrukcije

1 AM ADRESA0 3 7 8 31

OP - operacija, instrukcijski kod

AM - način adresiranja

polje operacijskog koda

bit 4 = 1 ⇒ 32 bitna instrukcija

OP

Page 42: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201042

Format instrukcije

polje operacijskog koda – što treba izvršitiadresno polje – nad kojim podaci treba izvršiti

jednoadresne ili višeadresne instrukcije

Page 43: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201043

Primjer operacije zbrajanja

zbrojiti operande na memorijskim lokacijama 1000 i 1001, te rezultat pohraniti na memorijskoj lokaciji 10011jednoadresne instrukcije

MVT 001000ADD 001001MVF 010011

triadresne instrukcijeADD 1000,1001,10011

Page 44: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201044

Načini adresiranjabit5 6 7

načinadresiranja

mnemotehnička oznaka

000 direktni ili izravni

MVT ADDR

001 indirektni iliposredni

MVT (ADDR)

010 indeksni MVT ADDR,X

011 posredni indeksni

MVT (ADDR),X

100 neposredni MVT #ADDR

Page 45: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201045

Direktno adresiranje

MVT 1 000 123456hex

123456 A 1 C 7 3 F F E A 1 C 7 3 F F E

AR

Page 46: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201046

Indirektno adresiranje

MVT 1 001 246A7Bhex

246A7B 8 4 3 9 F 6 4 1

1 4 6 A E 9 3 0

AR

1 4 6 A E 9 3 039F641

Page 47: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201047

Indeksno adresiranje

MVT 1 010 39F641hex

39F649 2 8 5 3 D 4 1 9 2 8 5 3 D 4 1 9

AR

+

000008

IX

Page 48: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201048

Posredno indeksno adresiranje

MVT 1 011 446A7Bhex

446A7B 8 4 4 9 F 6 4 1

3A59C240

AR

+000008

IX

3 A 5 9 C 2 4 049F641

Page 49: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201049

Neposredno adresiranje

0000 0000 0101 0000 0001 1000 0100 0010

MVT 1 100 0101 0000 0001 1000 0100 0010bin

BR

AR

Page 50: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201050

Instrukcije mikroprocesoraSAP

aritmetičkelogičkenaredbe prijenosa podataknaredbe grananjanaredbe posmaka i rotacije

Page 51: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201051

Aritmetičke instrukcije

SUC subtract operands with carrySUB subtract operandsADC add operands with carryADD add operands

Page 52: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201052

Logičke instrukcije

ORA logical OR of operandsAND logical AND of operandsXOR exclusive OR of operandsBIT logical compare

Page 53: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201053

Instrukcije prijenosa

MVT move to A (load A)MVF move from A (store A)

Page 54: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201054

Instrukcije grananja

JSR jump to subroutineJMP jump to address

Page 55: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201055

Instrukcije posmaka i rotacije

LSR logical shift rightSHL shift leftROR rotate right...

Page 56: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201056

Primjeri

aritmetičko – logičke naredbenaredbe prijenosa podataka među registrimaMVT SP,ARMVT AR #0ADD IX #1

Page 57: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201057

Primjeri programa

zbrajanje Z=A+Bpretpostavka da je cijeli broj A na memorijskoj lokaciji 001024, broj B na memorijskoj lokaciji 001025, te da broj Z treba pohraniti na memorijskoj lokaciji 001026

MVT 001024 upiši u akumulator broj AADD 001025 zbroji A+BMVF 001026 zbroj pohrani na adresi 001026

Page 58: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201058

Primjer grananja

if (n<0)i=j;

elseif(n==0)

i=k;else

i=l;

pretpostavka da se varijabla n nalazi na memorijskoj lokaciji 100, a varijable i,j,k,lna memorijskim lokacijama 201,202,203,204slijed naredbi počinje na adresi 4

Page 59: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201059

Primjer grananja

adresa naredba opis4 MVT 100 u AR upiši n5 BEQ 4 grananje ukoliko je n=06 BPL 6 grananje ukoliko je n>07 MVT 202 i=j n<08 MVF2019 BRA 5 grananje na slijedeći blok instrukcija10 MVT 203 i=k n=011 MVF 20112 BRA 213 MVT 204 i=l n>014 MVF 20115 ...

Page 60: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201060

Primjer petlje

traži se zbroj komponenti vektora x

s=Σxi i=1,..,nu višem programskom jeziku:s=0;for (i=0;i<n;i++)

s=s+x[i];

Page 61: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201061

Primjer petlje

pretpostavka da je n na memorijskoj lokaciji 200, a s na 199vrijednosti komponenti vektora x počinju na

simboličkoj adresi AXprevodioc će simboličku adresu pretvoriti u fizičku adresu npr. AX=201

Page 62: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201062

Primjer petlje

MVT AR #0 neposredno adresiranje u AR upisujemo 0MVT IX #0 neposredno adresiranje u IX upisujemo 0MVF 199 s=0

START MVT 200 u AR upisujemo dužinu vektoraCMP AR,IX uspoređujemo IX i nBEQ ENDMVT 199 upiši s u ARADD (AX),X s=s+x[i] neposredno indeksni način adresiranja

MVF 199ADD IX #1BRA START

END HLT

Page 63: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201063

Pisanje na stog

dno stoga

vrh stoga000999

001001

SP 000999

R2

R1 000100

000200001000 000100

000200

POP R1

Page 64: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201064

Čitanje sa stoga

dno stoga

vrh stoga000999

SP 001000

R2

R1 000200

000200

000100000200

001001001000

Page 65: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201065

Programi

MVT 1024ADD 1025MVF 1026

Z :=A + B;

111001100110000011000110000011000111100001111001

Page 66: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201066

Prevođenje programa

Page 67: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201067

Programski kod

C program (p1.c)

asemblerski program (p1.s)

objektni program (p1.o)

Izvršni program (p)

tekst

tekst

binarni kod

binarni kod

prevodioc - compiler (gcc -S)

asembler (gcc, as)

Page 68: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201068

Programski kod

int zbroji(int x, int y){int zbroj;

return zbroj=x+y;}

Page 69: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201069

Programski kod

prevođenje izvornog programa u asmblerskikod

gcc –O2 –S zbroji.cgcc - GNU compiler

prikaz asembleskog programaobjdump -d zbroji.s

Page 70: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201070

Programski kod

zbroji.o: file format pe-i386

Disassembly of section .text:

00000000 <_zbroji>:0: 55 push %ebp1: 89 e5 mov %esp,%ebp3: 8b 45 0c mov 0xc(%ebp),%eax6: 8b 55 08 mov 0x8(%ebp),%edx9: 5d pop %ebpa: 01 d0 add %edx,%eaxc: c3 ret d: 90 nope: 90 nopf: 90 nop

objektni kod asemblerski kod

Page 71: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201071

Programski kod

instrukcija zbroji zbroj=x+y

01 d0 add %edx,%eax

0000000111010000 16-bitna instrukcija

registri mikroprocesora

Page 72: Uvod u računarstvo - riteh.uniri.hr · PDF fileSaržaj kolegija Uvod u računarstvo}Uvod i razvoj računala }Zapis podataka i kodiranje informacija u ... Uvod u programiranje i programski

UUR 2009/201072

Pitanja

Nariši shemu ispisne memorije ROM.Opiši postupak izvođenja jednog instrukcijskog ciklusa.Opiši djelove 16-bitne naredbe sa dvije adrese.Navedi primjere instrukcija.Skiciraj univerzalno (von Neumannovo) računalo.Opiši postupak čitanja i pisanja u memoriju.Opiši funkciju upravljačkog sklopa računala.Opiši postupak prevođenja programa u strojni jezik.