Architektura typu Single-Cycle

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

Architektura typu multi cycle

Architektura potokowa RISC

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

Lista Rozkazów: Język komputera

Struktura i działanie jednostki centralnej

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Architektura komputerów

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

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

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Rozszerzalne kody operacji (przykład)

Projektowanie. Projektowanie mikroprocesorów

Programowalne układy logiczne

Architektura Systemów Komputerowych

Prosty procesor dla framgentu listy rozkazów MIPSa

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

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

Projekt prostego procesora

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Przetwarzanie potokowe pipelining

Magistrala systemowa (System Bus)

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

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

ARCHITEKTURA PROCESORA,

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

Technika mikroprocesorowa I Wykład 2

Architektura komputerów. Asembler procesorów rodziny x86

Jerzy Nawrocki, Wprowadzenie do informatyki

Programowanie niskopoziomowe

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

Organizacja typowego mikroprocesora

organizacja procesora 8086

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

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

SYSTEM MIKROPROCESOROWY

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

Architektura komputerów

Mikrokontroler ATmega32. Język symboliczny

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

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]

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

Przykładowe pytania DSP 1

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

Sprzęt i architektura komputerów

Programowanie Niskopoziomowe

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

Procesory rodziny x86. Dariusz Chaberski

Kod U2 Opracował: Andrzej Nowak

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

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

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

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

Architektura mikroprocesorów z rdzeniem ColdFire

architektura komputerów w. 4 Realizacja sterowania

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

MIKROKONTROLERY I MIKROPROCESORY

2. Architektura mikrokontrolerów PIC16F8x... 13

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

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Architektura komputerów

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle

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

Programowanie w asemblerze MIPSa

Architektura systemów komputerowych. Lista instrukcji procesora

Architektura komputerów wer. 7

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Architektura komputerów

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Architektura komputerów

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

LEKCJA TEMAT: Współczesne procesory.

Zapis liczb binarnych ze znakiem

Architektura komputerów wer. 3

Mikroprocesor Operacje wejścia / wyjścia

Lista rozkazów mikrokontrolera 8051

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Lista instrukcji mikroprocesora Programowanie w assemblerze

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

Systemy wbudowane. Przykłady kodu Assembler

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

Elektronika (konspekt)

architektura komputerów w 1 1

Sprzęt i architektura komputerów

Podstawy Techniki Mikroprocesorowej

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

Programowany układ czasowy

Budowa komputera Komputer computer computare

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

architektura komputerów w 1 1

Układy mikroprogramowane

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Tranzystor JFET i MOSFET zas. działania

Architektura komputerów Wykład 2

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

Transkrypt:

Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową

Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara

Elementy procesora - założenia Pamięć programu zawiera zapisany program wszystkie instrukcje zajmują 4-bajty pamięci (32-bity) magistrale Instruction address i Instruction są 32-bitowe podanie adresu powoduje pojawianie się kodu instrukcji Rejestr PC zawiera adres (początku) instrukcji programu Sumator jest 32-bitowy

Układ pobierania instrukcji Pobieranie instrukcji Instruction Fetch sygnał zegara steruje zapisem do rejestru PC w każdym cyklu zegara PC jest zwiększane o 4 na wyjściu pamięci pojawiają się kolejne instrukcje

Instrukcje rejestrowe (R-type) Instrukcje rejestrowe wykonują operacje na wewnętrznych rejestrach procesora dwa operandy źródłowe (Rr s i Rr t ) znajdują się w rejestrach wynik końcowy zapisywany jest do rejestru (Rr d ) Kod instrukcji R-type musi zawierać: unikalny numer instrukcji (opcode) numery trzech rejestrów wewnętrznych: r s, r t, t d rodzaj operacji arytmetycznej lub logicznej (func) opcode r s r t r d... func

Adresowanie bezpośrednie rejestrowe (Register Direct Addressing) Operandy są w rejestrach wewnetrznych operand 1 Rr s operand 2 Rr t operand 3 Rr d asembler: ADD R1,R2,R7 SUB R3,R6,R1 OR R7,R3,R2 AND R0,R2,R5

Plik rejestrów (Register File) - założenia Plik rejestrów zawiera 32 rejestry 32-bitowe Na wyjściu pliku dostępne są dwie wartości rejestrów o numerach podanych na wejścia ReadRegister1&2 Numery rejestrów są 5-bitowe (2 5 = 32) Zapis do rejestru danych (WriteData) wymaga podania numeru rejestru (WriteRegister) i sygnału zezwolenia na zapis (RegWrite) Zapis jest synchronizowany sygnałem zegarowym

Plik rejestrów - koncepcja Write Data RegWrite R0 R1 R31 Read Reg.1 Read Reg.2 Write Regster clk

ALU - założenia Wyjścia i wyjście 32-bitowe (32-bitowe ALU) Dodawanie, odejmowanie, AND, OR Sterowanie 3-bitowe Tylko jeden sygnał kontrolny: zero

Wykonywanie instrukcji R-type Numery rejestrów z kodu instrukcji wybierają z pliku rejestrów rejestry źródłowe Rr s i Rr t Wynik operacji ALU jest zapisywany do rejestru Rr d na zakończenie cyklu zegarowego (sygnał clk) format instrukcji numery bitów opcode r s r t r d... func 31 26 25 21 20 16 15 11 5 0

Pamięć danych - założenia Zawiera dane programu zorganizowane w 32-bitowe słowa (4B) Podanie sygnału zezwolenia MemRead powoduje pojawienie się na wyjściu ReadData zawartości pamięci spod adresu Address Zapis do danych pamięci (WriteData) odbywa się pod podany adres (Address) gdy aktywny jest sygnału zezwolenia na zapis (MemWrite) Zapis jest synchronizowany sygnałem zegarowym

Rozszerzenie znakowe - założenia Układ służy do zmiany reprezentacji liczby całkowitej 16-bitowej na 32-bitową z zachowaniem znaku (w sensie kodu U2) Układ jest kombinacyjny i nie wymaga taktowania

Instrukcje transferu (Load/Store) Instrukcje wykonują transfer danych: z pamięci danych do rejestru wewnętrznego (Load) z rejestru wewnętrznego do pamięci danych (Store) dane do transferu: rejestr wewn. (Rr s ) i adres pamięci (Rr t ) stała w kodzie instrukcji ułatwia dostęp do pamięci Kod instrukcji Load/Store musi zawierać: unikalny numer instrukcji (opcode) numery dwóch rejestrów wewnętrznych: r s, r t stałą (offset), która jest dodawana do adresu bazowago opcode r s r t offset

Adresowanie pośrednie rejestrowe... z przesunięciem (Register Indirect with Offset Addressing) Offset może być liczbą dodatnią lub ujemną (U2) STORE: dane adres Rr t Rr s asembler: (SW Store Word) SW R7,(R5) SW R1,0x200(R2) + offset adres operandu dane 0 adresy komórek pamięci n

Adresowanie pośrednie rejestrowe... z przesunięciem (Register Indirect with Offset Addressing) LOAD: dane adres Rr t Rr s asembler: (LW Load Word) LW R7,(R5) LW R1,0x200(R2) + offset adres operandu dane 0 adresy komórek pamięci n

Wykonywanie instrukcji Load/Store Rejestr Rr s + offset adresuje pamięć danych (Load/Store) Store: Rejestr Rr t na wejściu pamięci i będzie zapisany (sygnał MemWrite aktywny) Load: Dane z wyjścia pamięci bedą zapisane do rejestru Rrt (sygnały MemRead i RegWrite aktywne)

Instrukcje skoków Skok: odstępstwo od wykonania ciągu instrukcji zapisanych kolejno w pamięci Każda instrukcja skoku polega na modyfikacji rejestru PC Skoki absolutne (bezwzględne) i względne absolutne nowa zawartość ładowana do PC względne przesunięcie (+/-) dodawane do PC Skoki bezwarunkowe i warunkowe bezwarunkowe skok wykona się zawsze warunkowe skok wykona się w zależności od spełnienia warunku (obliczanego w ALU i sygnalizowanego bitami C,V,Z,N,)

Skok względny warunkowy (Z=1) BEQ Rx,Ry,offset (Branch if EQual) skocz do adresu PC+offset*4 jeśli Rx=Ry (Z=1) Instrukcje zajmują 4 bajty, więc zakres skoku może być poszerzony: offset*4 Kod instrukcji BEQ musi zawierać: unikalny numer instrukcji (opcode) numery dwóch rejestrów wewnętrznych: r s, r t stałą (offset), która jest dodawana do adresu bazowago opcode r s r t offset

Skok względny warunkowy (Z=1) asembler: (BEQ) BEQ R1,R2,0x40 BEQ R0,R7,0xFF

Instrukcje R-type i Load/Store razem Multipleksery: ALUSrc: wybór drugiego operandu dla ALU MemtoReg: wybór danych do zapisu w rejestrze

Fetch + R-type, Load/Store

Fetch + R-type, Load/Store, Branch Multiplekser: PCSrc wybór nowej wartości PC: PC+4 lub PC+offset*4

Korekcja zapisu do rejestru Multiplekser: RegDst wybór prawidłowego numeru rejestru do modyfikacji (R-type r d, Load r t )

Jednostka sterująca Control: układ kombinacyjny generujący sygnały sterujące

Skoki bezwarunkowe absolutne JMP Do PC ładowana jest nowa wartość Nie są sprawdzane żadne warunki Adres skoku, zawarty w instrukcji jest mnożony przez 4 Brakujące (4) bity mogą być np. uzupełniane z bieżącej zawartości PC (skok w ramach segmentu pamięci). Multiplekser sterowany sygnałem Jump, do wyboru adresu następnej instrukcji opcode adres skoku (26 bitów)

Kompletna architektura Single-Cycle

Zestaw instrukcji Rejestrowe (R-type) Load Store BEQ JMP opcode r s r t r d... func opcode r s r t offset opcode r s r t offset opcode r s r t offset opcode adres skoku (26 bitów)

Sterowanie ALU Instrukcje R-type mają identyczny opcode, ale różnią się polem Func Główna jednostka sterująca (Control) rozpoznaje jedynie opcode instrukcji i ustawia sygnał ALUop Jednostka ALU Control uwzględnia pole Func tylko dla instrukcji R-type (zgłaszanych sygnałem ALUop)

Sterowanie ALU Func ALU operation (Neg.+Oper) AND 000 OR 001 ADD 010 SUB 110

Sterowanie ALU - podsumowanie