928


MM
1. Zaimplementuj bufor okrężny

(Kompletna implementacja, wraz ze wszystkimi zbędnymi rzeczami ;-) )

#define DLUGOSC_BUFF 500

//...

int buff[DLUGOSC_BUFF];

int i=0,koniec=0;

//...

while(!koniec)

{

buff[i]=wejscie;

i++;

if (i>DLUGOSC_BUFF) i=0;

//… jakieś operacje na buforze

}


2. Przetwarzanie równoległe a potokowe

Przetwarzanie równoległe: dwie różne jednostki procesora wykonują równocześnie dwie różne instrukcjie, np.: w procesorze dsp omawianym na laboratorium mielismy jednoczesne dodawanie (na ALU - arithmetic-logic unit) i mnożenie (na MAC'u - multiply-accumulate).

Przetwarzanie potokowe: czyli wykorzystywanie kilku podjednostek procesora w celu równoległego wykonywania kilku instrukcji (niemalże, ponieważ instrukcje wykonywane są sekwencyjnie, jedynie czas trwania pojedyńczej instrukcji, ze względu na potokowość zmalał, bywa też, np. przy instrukcji skoku że potokowość zostaje zakłócona ponieważ nie można przewidzieć następnej instrukcji przy skoku). Procesor przez nas opisywany miał 4 niezależne potoki. Każdy potok zajmował się jednym procesem, tj. pobieraniem instrukcji (fetch), jej dekodowaniem (decode) i wykonaniem (execute) oraz zapisem przetworzonych danych do pamięci (writeback). Poniższa tabelka pokazuje zasadę działania przetwarzania potokowego.

Instrukcja

Pobieranie

Dekodowanie

Wykonanie

Zapis

I1 ⇒

I1

I2 ⇒

I2

I1

I3 ⇒

I3

I2

I1

...

...

I3

I2

I1

...

I3

I2

3. Układ DMA, jak działa, przykładowe zastosowanie

DMA (Direct Memory Access - bezpośredni dostęp do pamięci) - to układ do przesyłania danych między pamięcią a pamięcią, pamięcią a układami wejścia/wyjścia, i układami wejścia/wyjścia a pamięcią - bez użycia procesora. Brak ingerencji procesora w przesyłanie danych skutkuje większą prędkością - procesorowi ta sama czynność zajmuje znacznie więcej czasu. DMA nie potrzebuje żadnych instr., generuje potrzebne adresy i sygnały sterujące dla pamięci i urządzeń zewnętrznych umożliwiając bezpośrednią wymianę danych. Mikroprocesor musi dla tej samej czynności pobrac instrukcje i je przetworzć, co jest zdecydowanie wolniejsze. Układ DMA działa według następującego schematu:

po otrzymaniu żądania bezpośr. dostępu do pamięci od urz. zewn.:przejmuje kontrolę nad magistralą systemową; potwierdza żądnie dostępu do pamięci przez to urządz., które ma największy priorytet; generuje potrzebny adres i sygnał sterujący do pamięci i urządz. zew. umożliwiając wymianę danych (trwa to dopóki urz. zew. Podtrzymuje żądanie bezpośr. dostępu do pamięci); po transmisji zadanej ilości słów sygnalizuje zakończenie cyklu


KC
1. Cechy charakterystyczne RISC

RISC (Reduced (or regular) instruction set computer (or Computing)):

-uniwersalna (stała) długość rozkazu;

-rejestry uniwersalne (mogą przechowywać dane i adresy);

-architektura LOAD/STORE;

-każda instrukcja wykonywana w jednym cyklu zegara;

-zredukowana ilość rozkazów
CISC (Complex instruction set computer):

-duża ilość złożonych rozkazów, mających zmienny format;

-rejestry dedykowane, akumulator;

-rozbudowany sposób adresowania;

-rozbudowana liczba rozkazów


2. Narysować schemat Counter-Timera i omówić jak działa

Timer Counter 8253/8254

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Programowalny generator przebiegów czasowych i jest przeznaczony do generacji szerokiego wachlarza sygnałów będących funkcją czasu lub funkcją liczby zliczanych impulsów. Układ ten składa się z: 3 16bitowych liczników odejmujących, których wartości początkowe można ustawić; magistrali adresowej, magistrali danych, magistrali sterującej, magistrali wewnętrznej, bufora danych, rejestru kontrolnego. Każdy licznik może być indywidualnie programowany do liczenia w kodzie binarnym lub BCD. Zliczane są opadające zbocza sygnału podawanego na wejście CLK danego licznika. Graniczną częstotliwością pracy układu są 2MHz. Zliczaniem impulsów można sterować za pomocą sygnału We GATE, gdy jest on równy 1 odbywa się zliczanie. Tryb pracy:
0 - po zakończeniu zliczania zadanej liczby impulsów na wyjściu pojawia się 1
1 - licznik pracuje jako programowalny przerzutnik monostały

2 - licznik pracuje jako dzielnik impulsów
3 - licznik pracuje jako generator impulsów
4 - programowo generowany pojedynczy impuls jednostkowy
5 - sygnałowo generowany pojedynczy impuls jednostkowy
8254 pozwala dodatkowo odczytać słowo statusowe licznika.


3. Na procku ARM ustawić flagę przerwań (7. bit) gdy ustawiona jest flaga przeniesienia (30. bit)

// 100000000000000000000000000000b= 20000000h

if (cpsr & 0x20000000)
{
  cpsr = cpsr | 0x40;
}


(7 bit, uznaję , że siódmy bit kolejno, czyli 6 numer, liczony od 0, to samo ma się do 30 bitu, czyli to będzie 29 bit, liczony od 0, czyli 1 i 29 zer. Jeżeli tu jest gdzieś błąd, to poprawcie według własnego uznania.)
JH
1. Bloki funkcyjne mikrokontrolera na przykładzie H8

0x01 graphic

(wydaje mi się, że jak tyle narysujecie, to powinno być dość , )
Może tylko jeszcze wyjaśnię parę skrótów:
SCI - serial communication interface

Watchdog Timer - specjalny bloczek pilnujący, aby procek nie wpadł w martwą pętlę, wykrywa także różne nieprawidłowości w działaniu kontrolera (np. niestabline napięcie zasilania)
I2C - standardowa magistrala do komunikacji między różnymi urządzeniami (standard industrialny )

A/D converter - Analog/Digital -analogowo cyfrowy przetwornik

Reszta - standard


2. Narysować ramke w kom. synchro. i asynchro. dla słowa B7h gdy transmisja jest ustawione (czy cos takiego) na 8N1 (8 bitów, nie ma Partiy Bit, 1 bit stopu)

B7h= 10110111b

Synchroniczna:

1

0

1

1

0

1

1

1

D7

D6

D5

D4

D3

D2

D1

D0

Asynchroniczna:

1

1

1

0

1

1

0

1

Bit_startu

D0

D1

D2

D3

D4

D5

D6

D7

Bit_stopu


3. Rotajcja bitu w bajcie (progs)

If (kierunek==1)
{
 Char c = bajt & 0x80;
  Bajt=bajt<<1
  If (c)
   Bajt = Bajt | 0x01;
}else{
  Char c= bajt & 0x01
  Bajt=bajt>>1;
  If (c)
   Bajt= Bajt | 0x80;
}

JL
1. Wymienić i opisać flagi w procku

AF - Auxiliary Flag - przeniesienie pomocnicze

CF - Carry Flag - przeniesienia

DF - Direction Flag - kierunku

IF - Interupt Flag - flaga przrwania (wykorzystana, przy maskowaniu przerwań)

OF - Overflow Flag - przepełnienia

PF - Parity Flag - bit parzystości

SF - Sign Flag - znacznik znaku

TF - Trap Flag - pracy krokowej

ZF - Zero Flag - znacznik zera


2. Wymienić rodzaje pamięci w mikroprocesorze (podkreślił, że nie w mikrokomputerze)

RAM- Random acces memory - pamięć o swobodnym dostępie, dla danych

ROM- Read only memory - pamięć tylko do odczytu, dla programu, elementów systemu op.

CACHE - pamięć podręczna, przeważnie zróżnicowana, inna dla danych, inna dla kodu programu.

PROM - Programmable ROM

EPROM - Erasable Programable ROM

EEPROM - Electrically-Erasable Programable ROM


3. Bloki funkcyjne (a moze jednak cos innego) w 8051

(jeżeli chodziło o bloki MIKROKONTROLERA, to odp. Będzie na miejscu ;-) )


Mikrokontrolery powstały ze scalenia kontrolerów z pewnymi urządzeniami w jeden chip w procesie miniaturyzacji. Mikrokontrolery zawierają zazwyczaj:

$ver: 1.0.2 by wuja diskaciu / 30.01.2005

Bufor danych
i ukł. sterowania

A0

A1

WR

RD

CS

D0-D7

Licznik 0

CLK 0

GATE

OUT 0

OUT 2

Licznik 2

GATE

CLK 2

OUT 1

Licznik 1

GATE

CLK 1



Wyszukiwarka

Podobne podstrony:
928
SUM 928 UNICABLE przykład zastosowania
928 929
20030831193748id#928 Nieznany
928
928
ajas65922 928
928
928
928
928
928
NX 928
928 929
concert 928 p
A Taste of Tropp 928 cookbook
foxtrot 928
Hemingway Ernest Stary czlowiek i morze (SCAN dal 928)
akumulator do porsche 928 44 46 s 49 s 49 s4 50 s4 50 gt

więcej podobnych podstron