Przestrzeń pamięci. Układy dekoderów adresowych

Podobne dokumenty
Współpraca procesora pamięcią

Architektura systemu komputerowego

Współpraca procesora ColdFire z pamięcią

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

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

Architektura komputera

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Wykład Mikroprocesory i kontrolery

System mikroprocesorowy i peryferia. Dariusz Chaberski

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

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

Architektura komputerów

Technika Mikroprocesorowa

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Mikroprocesor Operacje wejścia / wyjścia

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Wykład I. Podstawowe pojęcia Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

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

RODZAJE PAMIĘCI RAM. Cz. 1

Temat: Pamięci. Programowalne struktury logiczne.

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Technologia informacyjna. Urządzenia techniki komputerowej

Projekt prostego procesora

dr inż. Jarosław Forenc

Architektura komputerów

Organizacja typowego mikroprocesora

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Zarządzanie zasobami pamięci

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Mikroprocesory i Mikrosterowniki

Technologie informacyjne - wykład 2 -

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

URZĄDZENIA WEJŚCIA-WYJŚCIA

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

2. Architektura mikrokontrolerów PIC16F8x... 13

Urządzenia wejścia-wyjścia

Programowanie Mikrokontrolerów

Architektura komputerów

Mikroprocesory i Mikrosterowniki

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Programowalne układy logiczne

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

LEKCJA TEMAT: Zasada działania komputera.

Współpraca procesora z urządzeniami peryferyjnymi

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

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

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

Architektura Systemów Komputerowych. Paweł Pełczyński

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Urządzenia zewnętrzne

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

LEKCJA. TEMAT: Pamięć operacyjna.

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

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Architektura komputerów. Układy wejścia-wyjścia komputera

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Architektura komputerów

architektura komputerów w. 6 Pamięć I

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

Wykład 14. Zagadnienia związane z systemem IO

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

WPROWADZENIE Mikrosterownik mikrokontrolery

Architektura mikroprocesorów z rdzeniem ColdFire

Pamięć wewnętrzna ROM i RAM

Pamięć. Podstawowe własności komputerowych systemów pamięciowych:

Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach:

Programowalne układy logiczne

Architektura komputerów

Podstawy Informatyki JA-L i Pamięci

Systemy wbudowane Mikrokontrolery

Mikroprocesory i mikrosterowniki

Układy programowalne. Wykład z ptc część 5

Systemy na Chipie. Robert Czerwiński

Inteligentny czujnik w strukturze sieci rozległej

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

System pamięci. Pamięć podręczna

Komputery klasy PC. Dariusz Chaberski

Układy wejścia/wyjścia

Architektura systemów komputerowych

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Współpraca procesora z urządzeniami peryferyjnymi

Technika Cyfrowa i Mikroprocesory

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

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

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

Magistrala systemowa (System Bus)

ARCHITEKTURA PROCESORA,

Pod o z d ia i ł a r yn y k n u k u ( 2004 r.). źródło: Gartner 3

Transkrypt:

Zakres przedmiotu 1. Wstęp do systemów mikroprocesorowych. 2. Współpraca procesora z pamięcią. Pamięci półprzewodnikowe. 3. Architektura systemów mikroprocesorowych. 4. Współpraca procesora z urządzeniami peryferyjnymi. 5. Przykładowy system mikroprocesorowy. 6. Architektura procesorów 32-bitowych na przykładzie układów Freescale 68k/ColdFire. 7. Architektura mikrokontrolerów 8-bitowych. 1

Przestrzeń pamięci. Układy dekoderów adresowych 2

Przestrzeń adresowa procesora 68k 0x00.0000 0 0xFF.FFFF 16777216 B UDS = 0 LDS = 0 D15..D8 D7..D0 Byte 0 Byte 1 Byte 2 Byte 3 Byte FFFFFC Byte FFFFFD Byte FFFFFE Byte FFFFFF 16 bit 2^24 = 8 M words = 16 M bytes 3

Przestrzeń adresowa procesora ColdFire 0x0000.0000 BS3 = 0 BS2 = 0 BS1 = 0 BS0 = 0 D31..D24 D23..D16 D15..D8 D7..D0 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte FFFFFFF8 Byte FFFFFFF9 Byte FFFFFFFA Byte FFFFFFFB 0xFFFF.FFFF 4294967296 B Byte FFFFFFFC Byte FFFFFFFD Byte FFFFFFFE Byte FFFFFFFF 32 bit 2^32 = 2 G words = 4 G bytes 4

Architektura systemu komputerowego Architektura polega na ścisłym podziale komputera na trzy podstawowe części: procesor, pamięć (zawierająca dane oraz program), urządzenia wejścia/wyjścia (I/O). PAMIĘĆ PODSTAWOWA URZĄDZENIA ZEWNĘTRZ. PROCESOR 5

Pamięć stała A0-A19-1MB D0-D7 6

Współpraca procesora z pamięcią zewnętrzną ColdFire magistrala wewnętrzna sterownik DRAM SDRAM / DDR sterownik magistrali zewnętrznej SRAM moduł chip select FLASH / EEPROM 7

Moduł sterujący pamięcią procesora Motorola ColdFire \CS \BS \TS Dane ColdFire Adres A0-A23 Moduł Chip Select Dane Adres \W/R \WR \TA \OE Pamięć: SRAM, FLASH, urządzenia zewnętrzne \TA Transfer Acknowledge, potwierdzenie transmisji \TS Transfer Strobe, ważne dane oraz adresy na magistralach \TIP Transfer In Progres, utrzymywany w stanie niskim do zakończenia transmisji \TEA Transfer Error, wejście sygnalizacji błędu zewnętrznego 8

Przykładowa mapa pamięci 9

Przykład 1 10

Pełny dekoder adresowy przykład 1 M1: 0x0000-0x0FFE 2^12 = 4 kb M2: 0x1000-0x1FFE 2^12 = 4 kb 11

Przykład 2 12

Pełny dekoder adresowy - przykład 2 0x00.0000 2 kwords 0x00.1000 2 kwords 0x00.4000 8 kwords 0x00.8000 2 Words 0x00.8000 2 Words 13

Przykład 3 14

Niepełny dekoder adresowy - przykład 3 M1: 0x00.0000-0x00.0FFE 2^12 = 4 kb M2: 0x00.1000-0x00.1FFE 2^12 = 4 kb M1: 0x00.0000-0x7F.FFFE 2^12 = 4 kb M2: 0x80.0000-0xFF.FFFE 2^12 = 4 kb 15

Niepełny dekoder adresowy przykład 3? 16

Niepełny dekoder adresowy - przykład 2 17

Niepełny dekoder adresowy - przykład 2 18

Dekoder/demultiplekser 4 => 16 (1) 74 LS 154 19

Dekoder/demultiplekser 4 => 16 (2) 20

Dekoder/demultiplekser 4 => 16 (3) 21

Dekoder/demultiplekser 3 => 8 (1) 74 LS 138 22

Dekoder/demultiplekser 3 => 8 (2) 23

Dekoder 5 na 32 24

Podwójny dekoder 2 na 4 74 LS 139 25

Niepełny dekoder adresowy 1Mw A23 A22 A21 AS* 0 1 74 LS 138 M1 M2 M3 M4 M5 M6 M7 M8 8 x 1M słów w przestrzeni adresowej 0x00.0000-0xFF.FFFF 26

Niepełny dekoder adresowy 256 kw A23 A22 A21 AS* A19 A20 74 LS 138 M1 M2 M3 M4 M5 M6 M7 M8 8 x 256 k słów w przestrzeni adresowej 0x40.0000-0x7F.FFFF (2 Mw) 27

Przypomnienie... 1. Dekoder adresowy: RAM_CS: 0x00.0000-0x00.1fff ROM_CS: 0x80.0000-0x00.ffff 2. Dekoder adresowy: Dekoder niewykonalny: RAM_CS: 0x00.0000-0x00.1fff 2^13=8 kb ROM_CS: 0x00.2000-0x01.1fff 2^16=64 kb Pełny dekoder adresowy: RAM_CS: 0x00.0000-0x00.FFFF 2^16=64 kb ROM_CS: 0x01.FFFF-0x01.FFFF 2^16=64 kb 28

Niepełny dekoder adresowy, cd... 1 M-word 29

Niepełny dekoder adresowy, cd... 30

Pełny dekoder adresowy przykład 4 31

Tablica adresów pamięci przykład 4 32

Pełny dekoder adresowy przykład 4 0x00.0000-0x1FFF 0x00.2000-0x3FFF 0x00.4000-0x5FFF 0x00.6000-0x7FFF 2^13= 8 kb A16 = 0, A17 = 1 0x02.0000-0x02.07FF 0x02.0800-0x02.0FFF... 2^11= 2 kb A16 = 1, A17 = 0 0x01.0000-0x01.000E 0x01.200F-0x01.001E 2^4= 16 B 33

PROM jako dekoder adresowy (1) 34

PROM jako dekoder adresowy (2) Aktywny stanem niskim 35

PROM jako dekoder adresowy (3) 36

Dekoder PROM - przykład 5 Możliwość rozszerzenia pamięci ROM do 8 kbx8, RAM? 37

Tablica adresów pamięci przykład 5? 38

Tablica adresów pamięci przykład 5 4 kb 39

PROM jako programowalny dekoder adresowy 40

Dekoder adresowy przykład 5 Możliwość rozbudowy CS_PERIs* 41

Dekoder adresowy procesora motorola 68k adres bazowy: 0x00. 0000 przestrzeń adresowa: 0x00.0000-0x00.FFFF 2^5 = 32 obszary po 2 kb Możliwość obsługi pamięci ROM maksymalnie: 3 x 16 kb 0xC000 = 49152 (48 kb) BERR* Write = Bus Error 42

Transfery 8- i 16-to bitowe 43

Dekoder aktywujący pamięci 8-bitowe w systemach 32-bitowych 44

Dekoder PROM Zalety: Możliwość wyboru pamięci o różnych wielkościach (RAM/ROM 1, 2, 4, 8 kb), Możliwość łatwej rozbudowy oraz modyfikacji (zamiana pamięci ROM 4 kb na mak. 16 kb). Wady: W celu zdekodowania całej przestrzeni należy wykorzystać pamięci PROM o dużych rozmiarach (2^24 = 16 Mb, 2^32 = 4 GB!), Potrzeba stosowania dekoderów pomocniczych, Wielopoziomowe dekodery mogą zwiększyć czas dostępu do pamięci (cykle oczekiwania, wait state). Czy można użyć pamięci EPROM do budowy dekodera adresowego? 45

Zastosowanie układów programowalnych do budowy dekoderów adresowych 46

Schemat blokowy pamięci PROM 47

Funkcje opisujące dekoder adresowy Adres bazowy pamięci Rozmiar pamięci = maska 48

Schemat układu programowalnego PAL (Programmable Array Logic) 49

Struktura układu PAL16V8 50

Układ sekwencyjny GAL16V8 (Generic Array Logic) 51

Układ sekwencyjny GAL16V8 52

Dekoder adresowy opisany w języku ABEL-HDL 53

Wynik kompilacji programu dekodera adresowego 54

Sygnały przypisane do wyprowadzeń układu P16V8 55

Wykorzystanie układu P16V8 56

Wykorzystanie matrycy programowalnej 57

Porty I/O układu programowalnego 58

Wektory testowe 59

Wynik kompilacji program w formacie JEDEC 60

Dekoder adresowy procesora MC68020 61

Przestrzenie adresowe procesora Motorola z rodziny 68k CPU space przestrzeń adresowa procesora (obsługa rejestrów specjalnych RAMBAR, FLASHBAR, konfiguracja pamięci cache, kooprocesor, itp...), instrukcja MOVES 62

Zastosowanie układów programowalnych do budowy dekoderów adresowych ColdFire Układ programowalny CPLD/FPGA sterownik DRAM sterownik magistrali zewnętrznej magistrala wewnętrzna SDRAM / DDR SRAM Rejestry konfiguracyjne moduł chip select FLASH / EEPROM 63

Dekoder adresowy w języku VHDL Entity AddressDecoder is port ( Address : in std_logic_vector(19 downto 0); CS_RAM1, CS_RAM2, CS_ROM1, CS_ROM2 CS_PER1, CS_PER2 : out std_logic ); end AddressDecoder; Architecture behavior of AddressDecoder is begin CS_RAM1 <= '0' when address<0x1000 else '1'; CS_RAM1 <= '0' when (address>=0x1000 and address<0x2000) else '1'; CS_ROM1 <= '0' when (address>=0x2000 and address<0x3000) else '1'; CS_ROM1 <= '0' when (address>=0x3000 and address<0x4000) else '1'; CS_PER1 <= '0' when (address>=0x4000 and address<0x4100) else '1'; CS_PER2 <= '0' when (address>=0x4100 and address<0x6102) else '1'; End behavior; 64

Praca domowa Zaprojektować pełny dekoder adresowy zapewniający obsługą następującej przestrzeni adresowej: RAM1 RAM2 I/O_1 I/O_2 00.0000-00.FFFF 01.0000-01.FFFF E0.0000-E0.001F E0.0020-E0.003F 65

Bezpośredni dostęp do pamięci DMA (ang. Direct Memory Access) 66

Współpraca urządzeń peryferyjnych z pamięcią i procesorem 67

Urządzenia peryferyjne mapowane na przestrzeń pamięci Magistrala łącząca procesor z pamięcią może się okazać wąskim gardłem systemu. Ograniczona szybkość transmisji pomiędzy procesorem, a pamięcią w porównaniu z ilością dostępnej pamięci nazywana jest wąskim gardłem von Neumanna (ang. von Neumann bottleneck). Jak można przeciwdziałać? 1. Pamięć cache, 2. Układ DMA. 68

Bezpośredni dostęp do pamięci (1) Zadanie Napisać program w języku asembler kopiujący blok danych o wielkości 512 B z bufora interfejsu sieciowego (eth0) do pamięci danych (pod adres 0x1000). Urządzenie eth0 mapowane jest pod adresem 0xFFC0.0100. 69

Bezpośredni dostęp do pamięci (2) DMA request DMA ack 70

Układ DMA procesora ColdFire 71

Układ DMA procesora ColdFire Cechy modułu DMA: Cztery niezależne programowalne kanały DMA Automatyczne wyrównywanie podczas dostępu do przestrzeni adresowej obu urządzeń, Transfer danych 8-, 16-, 32-, or 128-bitowych, Transfer jednokrotny lub ciągły, Transfer z urządzeń o różnych szerokościach magistral, Niezależne rejestry adresowe dla obu urządzeń między, którymi wykonywany jest transfer Zgłaszanie przerwań w przypadku nieprawidłowego odczytu 72

Sterowniki DMA 73

Motorola MC 68000 74

Sygnały procesora Motorola (2) 75

Motorola MC 68020 76

Obudowa procesora MC 68020 77

Dynamic Bus Sizing 78

Zależności pomiędzy ilością przesyłanych bajtów, a magistralą 79

Dynamic Bus Sizing 80

Transfer danej spod nieparzystego adresu przez 16-bitową magistralę 16 bit Próba odczytu 4 bajtów Próba odczytu rozkazu umieszczonego pod nieparzystym adresem w pamięci programu powoduje wystąpienie wyjątku (Address Error Exception). Rozwiązanie problemu: Rozkazy powinny być wyrównane do granicy 2 bajtów lub 4 bajtów (dyrektywa asemblera ALIGN). 81

Przebiegi obrazujące zapis danych pod nieparzysty adres 82

Współpraca procesora z urządzeniami o różnych magistralach danych 83

Współpraca procesora 68020 z pamięcią z magistralą 16 bitową A31 - A1 84

Zależności pomiędzy ilością przesyłanych bajtów, a magistralą 85