Marie wprowadzenie do budowy prostego komputera

Podobne dokumenty
A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Architektura komputerów

Logiczny model komputera i działanie procesora. Część 1.

Architektury systemów komputerowych

Struktura i działanie jednostki centralnej

1 Zarys architektury MIPS

Organizacja typowego mikroprocesora

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputerów wer. 7

Programowanie i struktury danych

Architektura komputerów wer. 3

organizacja procesora 8086

Architektura typu Single-Cycle

Lista Rozkazów: Język komputera

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

1 Ogolnie o asemblerach. 2 Zarys architektury MIPS

Cyfrowe Ukªady Scalone

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Systemy wbudowane Mikrokontrolery

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Lab. 02: Algorytm Schrage

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Listy i operacje pytania

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura komputerów

Metodydowodzenia twierdzeń

ARCHITEKTURA PROCESORA,

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Ukªady równa«liniowych

Bash i algorytmy. Elwira Wachowicz. 20 lutego

1. Wprowadzenie do C/C++

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

1 Metody iteracyjne rozwi zywania równania f(x)=0

1. Wprowadzenie do C/C++

Wykład 2. Budowa komputera. W teorii i w praktyce

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Bazy danych. Andrzej Łachwa, UJ, /15

Rozwi zania klasycznych problemów w Rendezvous

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Projekt prostego procesora

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Programowanie wspóªbie»ne

Algorytmy zwiazane z gramatykami bezkontekstowymi

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Podstawy modelowania w j zyku UML

Architektura komputerów

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Magistrala systemowa (System Bus)

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Metody dowodzenia twierdze«

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

LEKCJA TEMAT: Zasada działania komputera.

Lekcja 12 - POMOCNICY

Architektura komputerów

Metody numeryczne i statystyka dla in»ynierów

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Budowa Mikrokomputera

Baza danych - Access. 2 Budowa bazy danych

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura komputera

Budowa systemów komputerowych

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Elementy cyfrowe i układy logiczne

Architektura komputerów. Asembler procesorów rodziny x86

Projektowanie. Projektowanie mikroprocesorów

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Podstawy Informatyki i Technologii Informacyjnej

Architektura komputerów

Jak my±li czªowiek a jak my±li komputer

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

Architektura systemów komputerowych

x y x y x y x + y x y

Standard transmisji równoległej LPT Centronics

Lekcja 3 Banki i nowe przedmioty

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Rys 2. Schemat obwodów wejściowo/wyjściowych urządzeń w magistrali I2C

architektura komputerów w. 4 Realizacja sterowania

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Transkrypt:

Marie wprowadzenie do budowy prostego komputera 1 Wst p Opiszemy prost, modelow architektur zaproponowan w ksi»ce Lindy Null i Julii Lobur. Komputer nazywa si MARIE (a Machine Architecture that is Really Intuitive and Easy). Je±li kto± ma ochot, to ze strony internetowej podr cznika http://computerscience.jbpub.com/ecoa/ mo»e pobra napisany w Javie emulator tej maszyny. Zanim podamy szczegóªy budowy MARIE kilka sªów o ogólnych zasadach budowy komputerów. 1.1 Podstawy budowy i organizacji procesora Komputer operuje na danych binarnych. Pami przechowuje zarówno dane jaki i programy. Programy musz by wykonywane, a dane przetwarzane. Jest to zadanie procesora (ang. central processing unit, CPU), który odczytuje rozkazy programu, rozkodowuje je i wykonuje. Procesor mo»emy logicznie podzieli na dwie cz ±ci: ±cie»k danych (datapath) i jednostk steruj c. W skªad ±cie»ki danych wchodz poª czone magistralami rejestry i jednostki arytmetyczno-logiczne. Jednostka steruj ca ma za zadanie ustala kolejno± operacji i gwaratnowa,»e wªa±ciwe dane znajd si we wªa±ciwym miejscu o wªa±ciwym czasie. 1.1.1 Rejestry Rejestry to miejsca w procesorze, w których przechowuje si adresy, liczniki rozkazów, aktualnie przetwarzane dane programów itp. Chcemy aby dost p do nich byª mo»liwie szybki, a wi c umieszczamy je w samym procesorze i zazwyczaj budujemy u»ywaj c drogich technologii. Widzieli±my,»e mo»na je zrealizowa za pomoc przerzutników D. Zazwyczaj jeden rejestr to zestaw 16,32 lub 64 (w zale»no±ci od architektury) przerzutników z podª czonym wspólnym sygnaªem steruj cym. Rejestry mog by ró»nych typów: do przechowywania informacji zmieniania warto±ci porównywania warto±ci liczniki rejestry indeksowe do kontrolowania p tli rejestry do przechowywania tymczasowych informacji rejestry zarz dzania stosami procesów rejstry stanu (stan lub tryb pracy, przepeªnienia, przeniesienia) rejestry ogólnego przeznaczenia (dost pne dla programisty) Zazwyczaj w komputerach istniej wyspecjalizowane zespoªy rejestrów. Na przykªad w Pentium mamy zespóª rejstrów danych oraz zespóª rejestrów adresowych. Niektóre architektury maj bardzo du»e zestawy rejestrów, które mog by wykorzystywanie do przyspieszania wykonywania programów. 1

1.1.2 Jednostka arytmetyczno-logiczna Wykonuje operacje arytmetyczne i logiczne. Prost jednostk ALU widzieli±my ju» kilka wykªadów temu. Ogólnie ALU ma dwa wej±cia danych i jedno wyj±cie. Po wykonaniu operacji ALU mo»e zapisa pewne dodatkowe informacji w rejestrze stanu. ALU sterowana jest przez jednostk steruj c (dostaje sygnaªy jakie operacje wykonywa ). Mo»emy mie wi cej ni» jedn ALU w procesorze. 1.1.3 Jednostka steruj ca Procesor w procesorze. Steruje wykonywanie rozkazów i transferem informacji. Wydobywa rozkazy z pami ci, rozkodowuje je. Steruje ALU, obsªuguje przerwania. U»ywa rejestru licznika rozkazów, aby odnale¹ kolejny rozkaz, kontroluje rejestr stanu. Szczegóªy pó¹niej. 1.2 Magistrale Do ª czenia cz ±ci komputera (procesor, pami, urz dzenia wej±cia-wyj±cia) u»ywamy magistral. Magistrala to po prostu wi zka przewodów. Mo»e by dwupunktowa (ª czy dwa konkretne urz dzenia (np. jednostk steruj c i ALU)) lub wielopunktowa (ªaczy kilka wspóªdziel cych j urz dze«). W jednym systemie zazwyczaj wbudowanych jest wiele magistral jednocze±nie: np. wielopunktowa magistrala systemowa oraz dodatkowo szybka magistrala pami -procesor,... Magistrala mo»e skªada si logicznie z trzech cz ±ci: linii danych, linii adresowych i linii steruj cych. Dodatkowo zawiera zazwyczaj linie zasilania. Linie danych sªu» do przenoszenia konkretnych informacji (rozkaz z pami cia do jednego z rejestrów procesora, dane z rejestru do pami ci). Linie steruj ce mog wskazywa konkretne urz dzenie, które ma prawo korzystania z szyny, wysyªaj sygnaªy zapisu i odczytu, wysyªaj komunikaty potwierdzaj ce odbiór» da«dost pu do magistrali,» da«obsªugi przerwa«,... Linie adresowe wskazuj miejsce (np. w pami ci), z którego nale»y pobra lub do którego nale»y zapisa dane. Magistrale mog by synchronicze lub asynchroniczne. W pierwszym przypadku przesyªy nast puj podczas trwania impulsu zegara ka»de urz dzenia podª czone do magistrali zsynchronizowane jest z cz stotliwo±ci zegara magistrali. Zauwa»,»e dªugo± magistrali mo»e wpªywa na minimaln cz stotliwo± zegara. W przypadku magistrali asynchronicznej jest ona koordynowana przez sygnaªy na liniach steruj cych. Konieczno± stosowania protokoªu uzgadniania; np. odczytanie sªowa z pami ci: ReqRead (uaktywnienie tej linii steruj cej i umieszczenie na szynie adresowej adresu danych w pami ci), ReadyData (pami uaktywnia t lini steruj c, gdy umie±ci odpowiednie dane na szynie danych), ACK (potwierdzenie wykonania operacji ReqRead, ReadyData). W przypadku wielu urz dze«podª czonych z jedn magistral wymagany jest system arbitra»u magistrali, rozstrzygaj cy które z urz dze«zgªaszaj cych ch u»ycia magistrali otrzyma prawo skorzystania z niej. Systemy takie mog by zcentralizowane lub zdecentralizowane. Mog opiera si na priorytetach urz dze«. 1.3 Podsystem wej±cia-wyj±cia Urz dzenia wej±cia-wyj±cia pozwalaj na komunikowanie si z systemem komputerowym. Typowe urz dzenia wej±cia: klawiatury, myszy, czytniki kart, skanery, systemy rozpoznawania gªosu, ekrany dotykowe. Urz dzenia wyj±cia: monitory, drukarki, gªo±niki. Ka»de urz dzenie wej±cia-wyj±cia poª czone jest z magistral za pomoc specjalnego interfejsu, który przekªada sygnaªy magistrali na sygnaªy rozpoznawane przez urz dzenie i odwrotnie. Procesor mo»e komunikowa si z urz dzeniami we-wy na dwa sposoby: we-wy odwzorowane w pami ci (procesor widzi rejestry we-wy jak zwykªe komórki pami ci) lub we-wy sterowane rozkazami (procesor ma wyspecjalizowane rozkazy do odczytu i zapisu urz dzenia). Do komunikacji z we-wy cz sto u»ywa si systemu przerwa«. 1.4 Organizacja pami ci i adresowanie Pami wyobra»amy sobie zazwyczaj jako macierz bitów o szeroko±ci równej dªugo±ci sªowa maszynowego (zazwyczaj 16,32,64 bity). Jednocze±nie zapisujemy lub odczytujemy caªy wiersz. Ka»dy wiersz to komórka pami ci, o jednoznacznym adresie. Zazwyczaj adresowanie jest bajtowe, co oznacza,»e nie wszystkie adresy wskazuj na pocz tek sªowa. Zdarza si czasem adresowanie sªowowe. Adres to zazwyczaj pojedyncze sªowo maszynowe, zatem przy sªowie 32-bitowy jeste±my w stanie zaadresowa 2 32 bajtów = 2 22 kilobajtów = 2 12 megabajtów = 4 gigabajty. 2

2 Marie 2.1 Architektura Podstawowe parametry MARIE: 1. notacja dwójkowa, liczby caªkowite w kodzie uzupeªnie«do 2 2. staªa dªugo± sªowa maszynowego - 16 bitów 3. adresowanie sªowowe (a nie bajtowe!) 4. 4K = 2 12 sªów pami ci gªównej (czyli 8MB) 5. 16 bitowe dane 6. 16 bitowe rozkazy (4 bity: kod operacji, 12 bitów: adres) 7. 16-bitowy akumulator (AC) 8. 16-bitowy rejestr rozkazów (IR) 9. 16-bitowy rejestr buforowy pami ci (MBR) 10. 12-bitowy licznik rozkazów (PC) 11. 12-bitowy rejestr adresowy pami ci (MAR) 12. 8-bitowy rejestr wej±ciowy, 8-bitowy rejstr wyj±ciowy (proste we-wy) Rysunek 1: Architektura Marie 2.2 Rejestry i magistrale 1. Akumulator (AC) jest rejestrem uniwersalnym; przechowuje dane; z niego dane pobiera ALU i do niego b dzie te» zapisywa wyniki; wi kszo± wspóªczesnych procesorów posiada wiele tego typu rejestrów uniwersalnych 2. rejestr adresowy pami ci (MAR) przechowuje adres w pami ci danych, do których obecnie si odwo- ªujemy 3. rejestr buforowy pami ci (MBR) przechowuje dane wªa±nie odczytane z pami ci lub gotowe do zapisania do pami ci 4. licznik rozkazów (PC) przechowuje adres nast pnego rozkazu do wykonania 3

5. rejestr rozkazów (IR) przechowuje rozkaz do wykonania 6. InREG przechowuje dane z urz dzenia wej±ciowego 7. OutREG przechowuje dane dla urz dzenia zewn trznego Dodatkowo MARIE ma rejestr stanu (rejestr agowy). Marie ma wspóln magistral wykorzystywan przez wszystkie urz dzenia. Ka»de urz dzenie ma jednoznaczny numer identykacyjny. Oprócz wspólnej magistrali systemowej istniej dodatkowe poª czenia (MARpami, MBR-akumulator, AC-ALU-AC). Dodatkowe ±cie»ki poª cze«pozwalaj przesyªa nimi informacje w czasie, gdy gªówna magistrala wykonuje inne operacje. Poª czenia w MARIE pokazane s na rysunku 2. Rysunek 2: Przypªyw danych w Marie 2.3 Architektura zbioru rozkazów Architektrura zbioru rozkazów (ang. Instruction Set Architecture, ISA) okre±la jakie rozkazy mo»e wykonywa procesor oraz jakie s ich formaty. Niektóre ISA zawieraj nawet setki rozkazów. Nasz format: 4 najbardzie znacz ce bity to kod operacji (opcode), pozostaªych dwana±cie to adres. Rysunek 3: Format rozkazu MARIE Podstawowy zestaw rozkazów MARIE jest przedstawiony w tabeli 1. Znaczenie rozkazów Load, Store, Add, Subt powinno by jasne. Rozkazy wej±cia-wyj±cia (u nas Input i Output) s zazwyczaj skomplikowane i posªuguj si zazwyczaj kodem znakowym (np. ASCII). My przyjmiemy dla uproszczenia,»e wszytywane s tylko dane numeryczne. Nie b dziemy si te» przejmowa szczegóªami: zakªadamy,»e dostajemy od razu 16-bitow liczb w kodzie uzupeªnie«do 2. Rozkaz Halt przerywa wykonywanie programu. Rozkaz Skipcond pozwala na stosowanie skoków warunkowych. W czasie jego wykonywania sprwdza si zawarto± akumulatora. Wykorzystywane s dwa bity adresowej cz ±ci rozkazu (10 i 11). Znaczenie: 00 pomi«je±li AC<0; 01 pomi«, je±li AC=0; 10 pomi«, je±li AC>0. Na koniec Jump to rozkaz bezwarunkowego skoku w okre±lone miejsce pami ci. Przykªady interpretacji rozkazu. Rozkaz reprezentowany przez sªowo 0001000000000011, to Load 3 (zaªaduj do akumulatora zawarto± trzeciego sªowa pami ci). Rozkaz 1000100000000000, to Skipcond AC>0 (pomi«nast pn instrukcj, je±li akumulator dodatni). 4

Tablica 1: Architektura zbioru rozkazów Marie 2.4 Opis wykonywania rozkazów na poziomie rejestrów Opiszemy co dzieje si podczas wykonywania rozkazów. Zakªadamy,»e rozkaz znajduje si ju» w IR. M[X] oznacza zawarto± miejsca X (rejestru lub pewnego sªowa pami ci). 1. Load X MBR <- M[MAR], AC <- MBR 2. Store X, MBR <- AC M[MAR] <- MBR 3. Add X MBR <- M[MAR] AC <- AC + MBR 4. Subt X MBR <- M[MAR] AC <- AC - MBR 5. Input 6. Output AC <- InREG OutREG <- AC 7. Skipcond if IR[11-10] = 00 then if AC < 0 then PC <- PC + 1 if IR[11-10] = 01 then if AC = 0 then PC <- PC + 1 if IR[11-10] = 10 then if AC > 0 then PC <- PC + 1 Przy warto±ci bitów 11 i 10 odpowiednio 1 i 1 wyst puje bª d. 8. Jump X PC <- X lub precyzyjniej: PC <- IR[11-0] 5

3 Przetwarzanie rozkazów Zbiór czynno±ci jakie komputer wykonuje podczas realizacji programu nazywamy cz sto cyklem pobierz, dekoduj, wykonaj. Procesor pobiera polecenie (przesyªa je z pami ci gªównej do IR) dekoduje je (okre±la kod operacji i generuje sygnaªy steruj ce wykonaniem) i wykonuje odpowiednie operacje. Rysunek 4. Rysunek 4: Podstawowy cykl pobierz, dekoduj, wykonaj Zazwyczaj w cyklu rozkazowym wyst puje moment kiedy sprawdza si, czy nie zostaªo zgªoszone przerwanie (np. przez urz dzenie we-wy). Zmodykowany cykl przedstawia rysunek 5. Po napotkaniu przerwania procesor przechodzi do jego obsªugi. Mo»e by one programowa wtedy zapisuje si aktualny stan rejestrów ustawia PC na adres obsªugi przerwanie i j wykonuje. Po powrocie odtwarzamy rejestry i wracamy do wykonywania poprzedniego programu. Rysunek 5: Zmodykowany cykl przetwarzania rozkazów 6

3.1 Prosty program Zadaniem naszego programu jest dodanie dwóch liczb zapisanych w pami ci gªównej i zapisanie wyniku równie» do pami ci gªównej. Zakªadamy,»e pocz tkowo warto± i PC jest ustawiona na 100 16. Program maszynowy oraz jego zapis w asemblerze przedstawiony jest na rysunku 6 Rysunek 6: Prosty program Na rysunku 7 przedstawiamy zmian stanu rejestrów Marie podczas wykonywania naszego programu. Rysunek 7: Wykonanie programu Asemblery pozwalaj, oprócz symbolicznego kodowania nazw rozkazów, u»ywa symbolicznych adresów. Nasz program mo»na wtedy zapisa mniej wi cej tak jak na rysunku 8. Troch komplikuje to jednak proces przekªadu programu asemblerowego na kod maszynowy (potrzebne s dwa przebiegi). Asembler MARIE pozwala dodatkowo u»ywa dyrektywy DEC informuj cej,»e podawana liczba jest liczb dziesi tn. Przykªad na rysunku 9. Zauwa»,»e DEC nie jest rozkazem w procesie tªumaczenia, program tªumacz cy na j zyk maszynowy przekonwertuje po prostu zapis dziesi tny na binarny. 7

Rysunek 8: Zastosowanie etykiet 3.2 Rozszerzenie zbioru rozkazów Rysunek 9: Dyrektywa DEC Omówiony zestaw rozkazów pozwala napisa w zasadzie dowolny program. Dla wygody programisty (czy te» twórcy kompilatorów j zyków wysokiego poziomu) wprowadzamy jednak kilka nowych rozkazów. Tabela 2 Tablica 2: Dodatkowe rozkazy Rozkazy AddI, JumpI wykorzystuj tzw. adresowanie po±rednie argument rozkazu jest adresem prawdziewego operandu. Oto zapis nowych rozkazów w notacji rejestrowej: 1. JnS MBR <- PC M[MAR] <- MBR MBR <- X AC <- 1 AC <- AC + MBR PC <- AC 8

2. Clear AC <- 0 3. AddI X MBR <- M[MAR] MAR <- MBR MBR <- M[MAR] AC <- AC + MBR 4. JumpI X MBR <- M[MAR] PC <- MBR 3.3 Kilka przykªadów Przykªad 1. P tla sumuj ca 5 liczb. 100 LOAD Addr /adres pierwszej liczby 101 STORE Next 102 LOAD Num /liczba elementów do zsumowania 103 SUBT One /zmniejsz warto± o 1 104 STORE Ctr /warto± licznika p tli 105 CLEAR Loop,106 LOAD Sum 107 ADDI Next 108 STORE Sum 109 LOAD Next 10A ADD One 10B STORE Next 10C LOAD Ctr 10D SUBT One 10E STORE Ctr 10F SKIPCOND 000 110 JUMP Loop 111 HALT Addr,112 HEX 118 /pocz tek segmentu danych; liczby do zsumowania od adresu 118 Next,113 HEX 0 /nast pna liczba do zsumowania Num, 114 DEC 5 /liczba warto±ci do zsumowania Sum, 115 DEC 0 Ctr, 116 HEX 0 One, 117 DEC 1 118 DEC 10 119 DEC 15 11A DEC 2 11B DEC 25 11C DEC 30 Przykªad 2. Konstrukcja if/else. Przykªad symuluje: if X = Y then X:=X x 2 else Y:=Y - X. If, 100 Load X 101 Subt Y 102 Skipcond 400 9

103 Jump Else Then, 104 Load X 105 Add X 106 Store X 107 Jump Endif Else, 108 Load Y 109 Subt X 10A Store Y Endif,10B Halt X, 10C Dec 12 Y, 10D Dec 20 Przykªad 3. Program z procedur podwajaj c swój parametr 100 Load X 101 Store Temp /Temp sªu»y do przekazywania parametru do procedury 102 JnS Subr /Zachowaj adres powrotny, skocz do procedury 103 Store X /wynik zwracany przez procedure w akumulatorze zapisujemy do X 104 Load Y 105 Store Temp 106 JnS Subr 107 Sotre Y 108 Halt X, 109 Dec 20 Y, 10A Dec 48 Temp, 10B Dec 0 Subr, 10C Hex 0 /adres powrotny 10D Clear /procedure podwajania 10E Load Temp 10F Add Temp 110 JumpI Subr END 4 Dekodowanie czysto sprz towe czy mikrokod? Jak dziaªa jednostka steruj ca. S dwa gªówne rozwi zania: sterowanie sprz towe i sterowanie za pomoc mikrokodu. W pierwszym wszystie linie steruj ce s poª czone zycznie z rejestrem roskazów. W przypadku MARIE do odczytania kodu rozkazu u»yliby±my dekodera 4-do-16. Sterowany zegarem obwód logiczny (zbudowany z bramke, przerzutników, liczników,...) odpowiadaªby nast pnie za wygenerowanie odpowiednich sygnaªów dla rejestrów, magistrali, ALU. W rozwi zaniu drugim rozkaz jest tªumaczony najpierw na tzw. mikrorozkazy, a dopiero te dekodowane s sprz towo. Wykonanie rozkazu polega wi c na wykonaniu mikroprocedury. Odpowiednie mikrorozkazy przechowywane s w pami ci steruj cej. Okre±la si je mianem rmware. 10

Rysunek 10: Sterowanie sprz towe Rysunek 11: Sterowanie za pomoc mikrokodu 11