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



Podobne dokumenty
Architektura typu Single-Cycle

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

Lista Rozkazów: Język komputera

Struktura i działanie jednostki centralnej

Rozszerzalne kody operacji (przykład)

Architektura komputerów

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Architektura typu multi cycle

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Podstawy Techniki Mikroprocesorowej

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek. Składowe architektury komputera

Architektura potokowa RISC

Mikroprocesory i mikrosterowniki

Mikroprocesory i Mikrosterowniki

Technika mikroprocesorowa I Wykład 2

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów

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

Programowalne układy logiczne

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

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

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

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej

1 Ogolnie o asemblerach. 2 Zarys architektury MIPS

Projektowanie. Projektowanie mikroprocesorów

Projekt prostego procesora

Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

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

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Procedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; }

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

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

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Organizacja typowego mikroprocesora

Język programowania: Lista instrukcji (IL Instruction List)

Magistrala systemowa (System Bus)

Sprzęt i architektura komputerów

Programowanie niskopoziomowe

ARCHITEKTURA PROCESORA,

Programowanie w asemblerze MIPSa

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

Mikrokontrolery AVR ATmega

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

Architektura komputerów

Architektura systemów komputerowych. Lista instrukcji procesora

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/ / 27

Sprzęt i architektura komputerów

Lista instrukcji mikroprocesora Programowanie w assemblerze

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

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

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

Lista rozkazów mikrokontrolera 8051

Mikrooperacje. Mikrooperacje arytmetyczne

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Programowanie komputera

Mikrokontroler ATmega32. Język symboliczny

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

1 Zarys architektury MIPS

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Notatka Aplikacyjna NA 03006PL Maj 2016

architektura komputerów w 1 1

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Podstawy Techniki Mikroprocesorowej

Programowanie mikrokontrolerów (CISC)

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Systemy wbudowane. Przykłady kodu Assembler

Sterowanie pracą programu

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

002 Opcode Strony projektu:

Przykładowe pytania DSP 1

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Architektura komputerów

1. Operacje logiczne A B A OR B

Procesory rodziny x86. Dariusz Chaberski

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Mikrokontrolery czyli o czym to będzie...

Jerzy Nawrocki, Wprowadzenie do informatyki

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

UKŁADY MIKROPROGRAMOWANE

Moduł wspierający diagnostykę i sprzętowe debugowanie

Podstawy działania i programowania procesorów. 1. Architektura emulatora maszyny RAM

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

architektura komputerów w. 4 Realizacja sterowania

Architektura mikroprocesorów z rdzeniem ColdFire

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Metody Realizacji Języków Programowania

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

organizacja procesora 8086

Transkrypt:

Symulator Escape

Konfiguracja ogólna Enable MUL and DIV Complete Set of Comp.Oper Sign Extension of B/H/W Memory Oper on B/H/W Program Program Dane Dane Załaduj konfigurację symulatora (File -> OpenFile) z pliku example.ecf

Lista i format instrukcji 64 typy instr. 6 bitowe pole typu instrukcji (opcode) 32 rejestry wewn. 5 bitowe numery rejestrów (formal fields: r1,r2,...), R0... R31 Stałe w kodzie instrukcji (immediates): imm1 16 bitów dla instrukcji Load/Store oraz skoków warunkowych (Bxx) imm2 26 bitów dla instrukcji skoku bezwarunkowego (JMP)

Obsługa pliku rejestrów i mikrokod Pamięć mikrokodu 256 12-bitowych słów Operacje na pliku rejestrów: odczyt: RR (Read Registers) odczyt do A i B zaw. rej. o numerze z pól r1 i r2 zapis: WF1, WF2, WF3 (Write Formal n) zapis do rejestru o numerze z pola r1, r2, r3 Tablice skoków dla sterowania mikrokodem 2 Rejestry dodatkowe (niezależnie od rejestrów R0..R31)

Projekt Załaduj projekt (File -> OpenFile) z pliku example.mpr Projekt (.mpr microcode project) Program w asemblerze (.cod - code) Mikrokod (.mco - microcode) Zadwartość pamięci (.cod - code)

Podgląd pamięci podgląd kodu maszynowego Mozliwość wybór rozmiaru(b/h/w) oraz kodowania (hex, un-, signed)

Praca krokowa i pułapki ustawienie pułapki na wartość 10 dla PC! Uwaga: pułapka na np. PC=10 powoduje zatrzymanie programu gdy w PC pojawi się 10, ale nie oznacza to automatycznie, że wykonywana jest instrukcja spod adresu 10 Zezwolenie na wykonani wi programu Czas (szybkość) działania programu Wymuszenie 1 (lub wielu) cykli zegara Aktualnie wykonywana instrukcja

Instrukcje transferu LDB Ry,i(Rx) LDH Ry,i(Rx) LDW Ry,i(Rx) STB Ry,i(Rx) STH Ry,i(Rx) STW Ry,i(Rx) Format instrukcji LD i ST Load Byte: Ry.B Mem[Rx+i] Load Half: Ry.H Mem[Rx+i] Load Word: Ry.W Mem[Rx+i] Store Byte: Mem[Rx+i] Ry.B Store Byte: Mem[Rx+i] Ry.H Store Byte: Mem[Rx+i] Ry.W 6 5 5 16 opcode numer Rx numer Ry i Rx,Ry,Rz rejestry wewnętrzne procesora: R0...R31 i stała (liczba) 16-bitowa (2B), podczas operacji rozszerzana znakowo do 32-bitów label etykieta linii programu w asemblerze (adres skoku).b bajt (8-bitów), Rx.B - najmniej znaczący bajt rejestru.h półsłowo (16-bitów), Rx.H - mniej znaczące półsłowo rejestru.w słowo (32-bity), Rx.W cała zawartość 32-bitowego rejestru

Instrukcje arytmetyczne i logiczne ADD Rx,Ry,Rz SUB Rx,Ry,Rz MUL Rx,Ry,Rz DIV Rx,Ry,Rz ADDI Rx,i,Ry SUBI Rx,i,Ry MULI Rx,i,Ry DIVI Rx,i,Ry Add: Rz Rx+Ry Sub: Rz Rx-Ry Mul: Rz Rx*Ry Div: Rz Rx/Ry Add: Ry Rx+i Add: Ry Rx-i Add: Ry Rx*i Add: Ry Rx/i AND Rx,Ry,Rz And: Rz Rx&Ry OR Rx,Ry,Rz Or : Rz Rx Ry XOR Rx,Ry,Rz Xor: Rz Rx^Ry ANDI Rx,i,Ry ORI Rx,i,Ry XORI Rx,i,Ry SLL Rx,Ry,Rz SRL Rx,Ry,Rz SRA Rx,Ry,Rz SLLI Rx,i,Ry SRLI Rx,i,Ry SRAI Rx,i,Ry And: Ry Rx&i Or : Ry Rx i Xor: Ry Rx^i Shift Left Logical: Rz Rx<<Ry Shift Right Logical: Rz Rx>>Ry Shift Right Arithm.: Rz Rx>>Ry w/sign Shift Left Logical: Ry Rx<<i Shift Right Logical: Ry Rx>>i Shift Right Arithm.: Ry Rx>>i w/sign

Instrukcje skoków i pozostałe Dla wszystkich skoków warunkowych: BRcc: PC label(pc+offset) if condition==true BRZ Rx,label Branch if Zero : condition Rx = 0 BRNZ Rx,label Branch if Not Zero : condition Rx 0 BRGT Rx,label Branch if Greater Than : condition Rx > 0 BRGE Rx,label Branch if Grater or Equal : condition Rx 0 BRLT Rx,label Branch if Less Than : condition Rx < 0 BRLE Rx,label Branch if Less of Equal : condition Rx 0 Inne: NOP LIH Rx,i No Operation Load Immediate High: Rx[31..16] i.h

Tryby adresowania Tryby adresowania są sposobem na zapisywania różnej lokalizacji operandów, biorących udział w operacji Adresowanie natychmiastowe (Immediate) operand w kodzie instrukcji ADDI R5,0x55AA,R3 Adresowanie rejestrowe bezpośrednie (Register Direct) operand w rejestrze LDW R7,0x20(R3) Adresowanie rejestrowe pośrednie z przesunięciem (Register Indirect with Displacement) - operand w komórce pamięci, której adres jest w rejestrze (+ przesunięcie)

Assembler przykład: n! ADDI R0,0x000A,R1 ADD R1,R0,R2 next SUBI R1,0x0001,R1 BRZ R1,halt MUL R2,R1,R2 BRZ R0,next halt BRZ R0,halt etykieta R1 wyjściowa wartość n R2 wynik Metoda iteracyjna: n! = n*(n-1)*(n-2)*...*1 mnemonik! Transfery pomiędzy rejestrami realizowane są za pomocą dodawania R0 (które ma zawsze wartość zero) ładowanie n=10 do R1 ładowanie do R2 wartość początkowej (n) dekrementacja n (R1 R1-1) skok gdy n=0 (koniec obliczeń) mnożenie wyniku przez n-1 (R2 R2*R1) skok bezwarunkowy (następny cykl obliczeń) stop operandy (zapisane za pomocą różnych trybów adresowania)