SMP Übung 2 1. Aufgabe

Ähnliche Dokumente
Folie 1. Folie 2. FH-Augsburg. FH-Augsburg

Mikroprozessortechnik Grundlagen 1

Kapitel 18. Externe Komponenten

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I

Automation und Prozessrechentechnik

Ein- Ausgabeeinheiten

Speicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER

Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM

B Hauptspeicher und Cache

B Hauptspeicher und Cache

1,8V Flash and SRAM 28F3208W30

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Kapitel 16. Externer Bus

E Hauptspeicher und Cache

Der Chip Select - Decoder

Lösung 5. Mikroprozessor & Eingebettete Systeme 1

Aufbau eines Taschenrechners

Inhalt Teil Speicheraufbau und Speicherzugriff

Organisatorisches. - zwei Übungsgruppen. - zweiwöchiger Rhythmus. - kleine Programmieraufgaben. - Textaufgaben direkt in der Übung

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72

Digitaltechnik. 6 Speicherelemente. Revision 1.4

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Hauptspeicher H.1.1 Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik :

Fachbereich Medienproduktion

Teil 1: Digitale Logik

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

Rechnerorganisation. 1. Juni 201 KC Posch

Kopplung Interaktion. TI-Übung 6. Kopplung Datenübergabe. RS232 Datenfluss (1) Teilnehmer. Ein-/Ausgabe. Interaktionsarten

13.3 Datenpfade zur Befehlsdurchführung

Halbleiterspeicher. Halbleiterspeicher Michael Kuhfahl 1

Vorwort 8. Kap. 1: Grundlagen 10

Arithmetische und Logische Einheit (ALU)

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10

Tutorium Rechnerorganisation

Halbleiterspeicher. Halbleiterspeicher

RO-Tutorien 3 / 6 / 12

Wichtige Rechnerarchitekturen

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Grundlagen der Rechnerarchitektur

ISA96 HD-Card. Technische Beschreibung

EEPROM Lesen/Schreiben über SPI-Bus

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

Computer-Systeme. Teil 3: Das Boxmodell von Variablen

Der Anschluss eines seriellen 16kb EEProms an die I²C Schnittstelle ist denkbar einfach: Hier als Beispiel mit einem ST24C16:

Grundlagen der Informatik III Wintersemester 2010/2011

Modul 304: Personalcomputer in Betrieb nehmen Thema: Speicher. Speicher / Memory V 1.0. Technische Berufsschule Zürich IT Seite 1

Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

Teil 1: Digitale Logik

RO-Tutorien 15 und 16

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

STM32 - Schieberegister, SPI - u

E Mikrocontroller-Programmierung

Datenpfad einer einfachen MIPS CPU

AVR-Mikrocontroller in BASCOM programmieren

Der Übungsrechner

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

13 Programmierbare Speicher- und Logikbausteine

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7

Mikroprozessor als universeller digitaler Baustein

Neues vom STRIP Forth-Prozessor

1. Basiskomponenten eines Rechners 1.3 Befehlssatzarchitekturen (1) Mehr Flexibilität beim Datenzugriff. Vier Klassen von Befehlssatz-Architekturen

Leichtgewichtsprozesse

Frei programmierbare 4-8 Digit / Bargraph LED-Anzeige für µcontrolleranwendungen

8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Die Arithmetisch-Logische Einheit ALU 74181

Klausur zur Mikroprozessortechnik

Das Motherboard (Hauptplatine) beinhaltet Prozessor (CPU), Speicher (RAM) Anschlüsse für interne Disks, Steckkarten, Anschlüsse nach aussen

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

einfache DRAMs sind heute nicht mehr erhältlich, sondern nur noch die schnelleren DRAM-Varianten...

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Grob-Struktur des Prozessor-Speichersystems

Der I²C-Bus. Bearbeitet von: Thomas Finke, EL5

I2C-BUS Von Ramesh Sathiyamoorthy Klasse E4p Embedded Control Hr.Felser HTI Burgdorf

Aufgabe 4 : Virtueller Speicher

GRAFIK 128x64 IN 2 GRÖSSEN MIT ST7565. preliminary

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor

Theorie der Programmiersprachen

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Technische Informatik 2 Speichersysteme, Teil 3

Geräteentwurf mit Mikroprozessoren 1

Inhalt Teil 8 (PCI-Bus) aus 5. Busse und Systemstrukturen

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

Name : Klasse : Punkte : Note :

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1

Statischer Speicher - Schaltsymbol

1. Keil starten. Sollten Sie keinen leeren Bildschirm haben, löschen Sie einfach die

Embedded Systemarchitekturen und Echtzeitbetriebssysteme

Transkript:

SMP Übung 2 1. Aufgabe a) Kilo: K = 2 10 = 1.024 Mega: M = 2 20 = 1.048.576 Giga: G = 2 30 = 1.073.741.824 Tera: T = 2 40 = 1.099.511.627.776 b) Der Prozessor hat 30 Adressleitungen A[31..2], mit denen er 2 30 (1G) Worte adressieren kann. Eine Speicherzelle umfasst hier 32 Bit bzw. 4 Byte bzw. 1 Wort, da es sich um einen 32-Bit-Prozessor handelt. Demzufolge kann der Prozessor 2 30 Speicherzellen adressieren. (Durch die ByteEnable-Signale BE#[3..0] kann der Prozessor auch innerhalb eines Wortes das gewünschte Byte oder Halbwort einzeln ansprechen.) c) Der -Baustein hat 16 Adressleitungen, hat also einen Adreßraum von 2 16. Es handelt sich um Byteadressen, weil der Baustein 8 Datenleitungen (8 Bit) besitzt. Deshalb hat er eine Kapazität von 2 16 Byte = 64 KByte d) Der RAM-Baustein hat 19 Adressleitungen und 8 Datenleitungen. Man erhält 2 19 Byte = 512 KByte e) 8 MByte / 512 KByte = 16 RAM-Bausteine f) 512 KByte / 64KByte = 8 -Bausteine 1

Definition von Begriffen bei der Speicheradressierung Seitennummer Wortnummer (Adr. im Speicher) ADRHigh ADRLow ADRByte Byteadresse (32 Bit) 1010 1111 1000 xxxx xxxx xxxx xxxx xx xx Seite (Seitenadressbereich) x = 0 oder 1 1010 1111 1000 0000 0000 0000 0000 00 00 Basisadresse 1010 1111 1000 xxxx xxxx xxxx xxxx xx ** Adressmaske für Speicherbaustein mit 20 Bit Adresse x = 0 oder 1 * = nicht angeschlossen 2

SMP Übung 2 2. Aufgabe Vorüberlegungen: 1. Der Prozessor adressiert mit einer Wortbreite von 32 Bit. Jeder der Bausteine hat 8 Datenleitungen. Demzufolge muß man 4 Bausteine aneinanderreihen. 2. Für die RAM-Bausteine gilt: Bei einer Bausteinkapazität von 512 KByte ist die kleinstmögliche Speicherkapazität für 32 Bit Wortbreite 4*512 KByte = 2 MByte. Man braucht 2 solcher Speicherbänke, um 4 MByte zu realisieren. 3. Für die -Bausteine gilt: 4*64 KByte = 256 KByte. Eine Speicherbank reicht aus. Folgende Bausteine und Anschlüsse werden also benötigt: 8x RAM Daten (8 Bit) Adresse (19 Bit) 4x Daten (8 Bit) Adresse (16 Bit) (Bei RAM und außerdem: BUSCLK, READY# und CSTART#) V SS V CC Adresse (30 Bit) OE# R/W# OE# Bausteinansteuerung 1x CPU Daten (32 Bit) BE#[3..0] 1x Adressdekodierer CSTART# BUSCLK READY# VA# R/W# A[31..2] VA# BE#[3..0] (Hinweis : Man schreibt für CSauch ) 3

RAM-Ansteuerung, Prinzip VA# ByteEnable#[3.. 0] Adressdekoder für RAMs ADR High!CSi# = Seitennummer und VA und BEi, OEi# = 0 CS3# CS2# CS1# CS0# CPU Low BUSCLK R/W# M3 M2 M1 M0 READY# DATA Adresse ADRHigh ADRLow ADRByte Seitennummer Adr. im Speicher interne Adresse 4

VA# A Adressdecoder Chip-Select- Signale BUSCLK CSTART READY# Speicher- Steuerung A[20:2] Für alle RAM- und -Bausteine: OE# = 0 19 RAM1 3 CSRAM1 3 RAM1 2 CSRAM1 2 RAM1 1 CSRAM1 1 RAM1 0 CSRAM1 0 d3 d2 d1 d0 RAM2 3 CSRAM2 3 RAM2 2 CSRAM2 2 RAM2 1 CSRAM2 1 RAM2 0 CSRAM2 0 A[17:2] d3 d2 d1 d0 D d3 d2 d1 d0 16 3 2 1 0 CS 3 CS 2 CS 1 CS 0 d3 d2 d1 d0 5

SMP Übung 2 Lesezyklus: ADR VA CS DataFromMem READY CSi = Seitennummer und VA und BEi READY#: generiert der Speicher (im Buszyklus Z3 und Z0) CPU übernimmt BUSCLK Z0 Z1 Z2 Z3 DR[31:2], BE#[3:0] wechselt Adresse stabil CSTART# VA# DATA[31:0] (vom Speicher) Valid Address R/W# (nur RAM) READY# read Chip Select 6

SMP Übung 2 : Schreibzyklus: ADR VA CS DataToMem READY CSi = Seitennummer und VA und BEi READY#: generiert der Speicher (im Buszyklus Z3 und Z0) BUSCLK Z0 Z1 Z2 Z3 ADR[31:2], BE#[3:0] wechselt Adresse stabil CSTART# VA# Valid Address DATA[31:0] (von CPU) R/W# READY# write write Memory Chip Select 7

SMP Übung 2 - Lösungsvorschlag Der Adressdekodierer wandelt die Signale der CPU in die Bausteinansteuerung um. Dazu überlegt man sich logische Ansteuergleichungen, die den Diagrammen entsprechen. Um Verwechslungen des booleschen NICHT- Operators mit Active-Low Signalen zu vermeiden, benutzen wir für boolesche Gleichungen folgende Syntax: * ist die boolesche UND-Verknüpfung,! ist die boolesche NICHT-Funktion, + ist die boolesche ODER-Funktion Beispiel: =!A bedeutet hier, dass das Signal auf logisch 0 steht, wenn A = 1. Da Chip Select ein Active-Low Signal ist, ist dann der zugehörige Baustein angewählt. Für das ergibt sich folgendes: Sobald eine richtige Adresse und Valid Address vorliegt, soll Chip Select gesetzt werden. Eine richtige Adresse liegt dann vor, wenn die höherwertigen Adressbits gleich der gewählten -Seitenadresse sind. Zusätzlich werden die Byte-Enable-Signale berücksichtigt.! [3 : 0] (Seite *!VA# ) *!BE# [3 : 0] Seite ist der Adressbereich, in der die Speicherbank liegt. (gewählt wird A[31..18] = 00 0000 0000 0000) Seite!A31*!A30*!A29*!A28*!A27*!A26*!A25*!A24*!A23*!A22*!A21*!A20*!A19*!A18 Die Signale OEi# werden fest auf 0 (aktiv low) verdrahtet. OE# [3..0] 0000 8

SMP Übung 2 - Lösungsvorschlag Es fehlen jetzt noch die Gleichungen für die Adress- und Datenleitungen: Romadr[15...0] d[7..0] Rom 0 d[7..0] Rom 2 D[7..0] A[17..2] D[23..16] Wortnummer, identisch für alle -Bausteine d[7..0] Rom 1 d[7..0] Rom 3 D[15..8] D[31..24] Jedes ist einen Datenbyte zugeordnet Beim RAM kommt man mit den gleichen Überlegungen auf folgende Gleichungen: Ramadr[18...0] d[7..0] Ram 0 d[7..0] Ram 2 A[20..2] D[7..0] D[23..16] d[7..0] Ram 1 d[7..0] Ram 3 D[15..8] D[31..24] Für die erste Speicherbank wird die Basisadresse 0x0020 0000 gewählt 0000 0000 0010 0000 0000 0000 0000 0000 RAM1Seite!A31*!A30*!A29*!A28*!A27*!A26*!A25*!A24*!A23*!A22*A21! CSRAM#[3..0] (RAM1Seite *!VA# ) *!BE#[3..0] Für die zweite Speicherbank wird die Basisadresse 0x0040 0000 gewählt: 0000 0000 0100 0000 0000 0000 0000 0000 RAM2Seite!A31*!A30*!A29*!A28*!A27*!A26*!A25*!A24*!A23*A22*!A21! CSRAM#[3..0] (RAM2Seite *!VA# ) *!BE# [3..0] Die Output-Enable-Signale werden auf aktiv low verdrahtet. OERAM1# [3..0] OERAM2# [3..0] 0000 9

SMP Übung 2 - Lösungsvorschlag A[31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00] 0xFFFF FFFF 64 K (Worte) 512 K (Worte) Speicherbelegung 0x005F FFFF 0x0040 0000 0x003F FFFF 0x0020 0000 RAM 2 RAM 1 RAM2Seite =!A31 *!A30 *!A29 *!A28 *!A27 *!A26 *!A25 *!A24 *!A23 * A22 *!A21 512 K (Worte) 0x0003 FFFF 0x0000 0000 32 Bit 64 K (Worte) 10

SMP Übung 2 - Lösungsvorschlag Zum besseren Verständnis des Prinzips der Ansteuerung von Speicherbausteinen kann das Beispielsystem MemoryControl.sim mit dem Simulator geöffnet werden. Hier werden die Adress- und Datenleitungen nicht mit einer CPU verbunden, sondern mit manuell bedienbaren Schaltern. Dadurch kann man direkt die Schreib- und Lesezyklen anstoßen, ohne ein Assemblerprogramm für eine CPU schreiben zu müssen. Achtung: Im Simulator stehen nur asynchrone Speichermodule zur Verfügung. Daher entfallen hier Signale wie BUSCLK, CSTART# oder READY#. Out[15-11] ADR15_ADR0 16 Schalter Out[10] Out[9-7] A[15-7] Logic Decode_ A[15-11] Logic Decode_RAM Demux ToggleRAM Out[6-0] A[6-0] A[9-0] A[9-0] 2 Schalter OE_RW OE# (alle) WE# (nur RAMs) 0 (128B) RAM0 (1KB) RAM1 (1KB) 8 LEDs D_IN D[7-0] D_IN[7-0] D_OUT D_IN D_OUT[7-0] 8 Schalter D_OUT 11