02 MPS-8085 Functional

Post on 21-Apr-2015

88 views 4 download

Transcript of 02 MPS-8085 Functional

Функциски опис на 8085

8085А

• 8 битен микропроцесор

• Може да адресира до 64KB меморија

• Има статусни линии за контролирање

поголеми системипоголеми системи

• Функции:

– Извршување на множеството инструкции

– Генерирање на такт сигнал

– Контрола на системската магистрала

– Избор на приоритети на прекините

Архитектура на µP8085А

• Вклучува во својата структура:

� TIMING&CONTROL- сам го генерира такт (clock) сигналот.

работниот такт на секој µP по правило е 2x поголем од оној на другите компоненти.

� SYSTEM BUS CONTROL –управување со системската магистрала.� SYSTEM BUS CONTROL –управување со системската магистрала.

� INTERRUPT CONTROL-Приоритетна селекција на прекини и нивно опслужување.

� ARITHMETIC&LOGIC UNIT

� SERIAL I/O CONTROL-обезбедува интерфејс за комуникација со сериски уреди.

• Минимален систем

8085AH

• 8156 - 2048-BIT STATIC • 8156 - 2048-BIT STATIC

HMOS RAM WITH I/O

PORTS AND TIMER

• 8755А EPROM

Архитектура на µP8085А

� Регистри и бафери.

� INSTRUCTION DECODER AND MACHINE CYCLE ENCODING-Логика за декодирање и извршување на инструкции.

� Пренесува податоци по 8-битна двонасочна магистрала со три � Пренесува податоци по 8-битна двонасочна магистрала со три состојби.

� CPU директно адресира со 16 адресни линии 64КВ=216 бита меморија.

� CPU генерира контролни и статусни сигнали со кои се дефинира насокaта на податочниот трансфер, селекција на В/И порти или меморија .

Конфигурација

на пиновите на на пиновите на

8085A

Пренос на податоци

• Двонасочна трисостојбена 8 битна податочна

магистрала AD0-7

• Мултиплексирана со 8те долни битови на

адресната магистрала

Плус 8 бита за горниот дел од адресната• Плус 8 бита за горниот дел од адресната

магистрала А8-15

• = 8 битна податочна магистрала

• = 16 битна адресна магистрала

• мултиплексирани

Контролни сигнали

• За избор на соодветен надворешен уред

• Функции за читање и запишување

• Селекција на меморија или В/И порти

• Може да адресира до 256 различни В/И • Може да адресира до 256 различни В/И локации (адреси 00 – FF hex исто како првите 256 мемориски локации)

– Се знае дека е В/И преку излезот

– Можно е да се направи и мемориско мапирање на В/И порти

IO/M

Регистри

• 8 адресабилни 8 битни внатрешни регистри

– 6 може да се користат како 8 битни или како 16

битни регистарски парови

– + 2 16 битни регистри– + 2 16 битни регистри

• ACC акумулатор – само 8 битен

• PC – програмски бројач – 16 битна

мемориска адреса на локацијата на

следната инструкција

Регистри (2)

• Регистри за општа намена – BC, DE, HL

– Како 8 битни или 16 битни парови

– HL е покажувач кон податоци во меморија кои

може да се извор или одредиште за некои може да се извор или одредиште за некои

инструкции

– BC и DE се користат од мал број инструкции за

индиректно адресирање

Регистри (3)

• SP – покажувач кон магацин (stack)

– Покажува кон следната слободна адреса на

магацинот (врвот)

– 16 битен– 16 битен

• Регистер со знаменца (flags)

– 5 1-битни знаменца кои означуваат статус или

ја контролираат работата

FLAGS

• CY – carry

– Се поставува и ресетира со аритметички

операции

– Вредноста може да се провери во програмата– Вредноста може да се провери во програмата

• AC – auxiliary carry

– Го гледа 3тиот бит на акумулаторот

– Се користи за BCD аритметика

• S – sign– Поставен на состојбата на најзначајниот бит во

акумулаторот по аритметичка или логичка операција

– Забелешка (АС знае да работи со броеви во опсегот -128 до +127)

– Забелешка (АС знае да работи со броеви во опсегот -128 до +127)

• Z – zero– Поставен ако резултатот од некоја операција е 0

• P – parity– Поставен на 1 ако акумулаторот содржи вредност

која има парна парност (парен број на 1ци)

Магацин - stack

• SP може да се иницијализира за користење

на било кој дел од RW меморијата како

магацин

• SP се намалува за 2 бајти секој пат кога се • SP се намалува за 2 бајти секој пат кога се

додаваат податоци во магацинот

– Се зголемува кога се вадат

– Сите операции со магацин важат за

регистерските парови

ALU

• Содржи ACC и регистарот со знаменца и

некои привремени регистри кои се

недостапни за програмирање

• Изведува аритметички, логички и операции • Изведува аритметички, логички и операции

за ротирање

• Резултатите се ставаат во акумулаторот, или

на внатрешната податочна магистрала

Инструкциски регистар и декодер

• За време на fetch фазата првиот бајт од

инструкцијата (кој го содржи opcode) се

пренесува во IR

• Содржината на IR е достапна за декодерот• Содржината на IR е достапна за декодерот

• Излезот од декодерот ги контролира

регистрите, ALU, податочните и адресните

бафери

Внатрешен такт генератор

• Има комплетен такт генератор вграден на

чипот

• Бара само додавање на кварцен кристал

– Може да прифати и надворешен такт сигнал– Може да прифати и надворешен такт сигнал

– Кристалот треба да има паралелна резонанција

на фреквенција од 6,25 MHZ = 2 х основната на

8085

Прекини• 8 Софтверски прекини - се генерираат со вметнување на

посебни инструкции за таа намена.

• 5 хардверски прекини:

• INTR - маскирачки прекин со најмал приоритет (EI/DI). Неговото активирање резултира со извршување на една од 8-те софтверски инструкции RST(restart addresses).– Софтверски прекини RST0-RST7 - на фиксни мемориски локации.– Софтверски прекини RST0-RST7 - на фиксни мемориски локации.

– INTR може да се мултиплексира. Пр. коло за мултиплексирање -8259PIC-интерапт контролерот. Прикачува до 8 прекини и генерира CALL инструкции наместо процесорските RST инстр.

• RST5.5, RST6.5, RST7.5- овие хардверски прекини се маскираат преку користење на SIM (Set Interrupt Mask) инструкцијата со ре/сетирање на соодветните битови од маската, поставена во акумулаторот со RIM (Read Interrupt Mask)

Прекини

3. TRAP-немаскирачки, со највисок приоритет хардверски прекин. Се активира при катастрофални ситуации (проблем со напојување, грешка на дискот...).

Прекини

� Како 8085А ги опслужува прекините?

� 64В резервирана меморија, почнувајќи од адреса

0000h-003Fh за опслужување на 8-те софтверски

прекини по 8В (за сместување на кодот на ЈUMP прекини по 8В (за сместување на кодот на ЈUMP

инструкцијата и ЈUMP адресата.)

� Адресите за опслужување на RST5.5 (помеѓу RST5 и

RST6) е 2CH, RST6.5 e 34H, RST7.5 e 3CH.

� TRAP се опслужува од адреса 24H.

Прекини кај 8085

Interrupt

Save

program

counter

Disable

interrupts

Send out

interupt

acknowledge

INTA

При појава на сите освен INTRсодржината на PC автоматски се става на stack

Main routine

Service routine

Go to

service

routine

Get

original

program

counter

Go back

EI

RET

Restart (RST) Инструкции

Кога пристигнува INTR сигнал, процесорот треба да знае на која

локација да скокне за извршување на сервисната процедура

� процесорот очекува надворешна 8-bit команда (RSTx) на

магистралата веднаш по INTRмагистралата веднаш по INTR

� постојат 8 различни RST инструкции

� Секоја RST инструкција му кажува на процесорот да скокне

на одредена мемориска адреса (фиксни локации)

Читање на RST5 инструкција

Зошто 8 различни RST инструкции

Повеќе прекини

пристигнуваат од 8

различни

надворешни уреди

Вектори на прекини

Маскирање на прекините

-Маската ги содржи следниве информации:

� 3 бита за актуелната состојба на маскирање на RST5.5, 6.5, 7.5 .

� IE-бит за генералната овозможеност на прекините.

� 3 бита кои ја даваат состојбата на прекините RST5.5, 6.5, 7.5� 3 бита кои ја даваат состојбата на прекините RST5.5, 6.5, 7.5не/овозможени преку инструкциите EI/DI.

INTR, RST5.5, 6.5- се прекини осетливи на ниво

RST7.5- e осетлив на растечка ивица на сигналот на прекинувачката линија.

SIM: Set Interrupt Mask

Accumulator

RST

• RST 5.5

• RST 6.5

• RST 7.5 (осетлив на ивица)

– Може да се маскираат со користење на SIM– Може да се маскираат со користење на SIM

инструкцијата

– Статусот се чита со RIM инструкција

TRAP

• TRAP

– Не може да се маскира

– По растечка ивица на TRAP влезот процесорот

започнува реакција на прекинот но сигналот започнува реакција на прекинот но сигналот

мора да стои на високо се додека не се потврди

• Проверката за прекини се прави на

опаѓачка ивица на CLK еден циклус пред

крај на инструкцијата во кој е активиран

прекинот

Сериски влез/излез

• SID и SOD пинови

• Со извршување на RIM, состојбата на SID пинот се запишува во 7иот бит во ACCво ACC

– Значи RIM се користи за прекини и сериски влез

• Со SIM се поставува SODна 7иот бит на ACC(6тиот мора да е 1)

– Преку latch

Мултиплексирана магистрала

• Генерира сигнали кои им кажуваат на

периферните уреди каков тип на

информација е на мултиплексираната

магистраламагистрала

циклуси

• секоја инструкција = инструкциски циклус

• се состои од 1 до 5 машински циклуси

• а тие од 3 до 6 Т-состојби = такт-периоди на CLKсигналот

Состојби и машински циклуси

• Процесорот во текот на својата работа може да се најде

во една од вкупно 10 Т-состојби.

• Т1-Т6 се регуларни,

• Тwait-состојба на чекање,

• Тhold, Тreset, Тhalt.

Состојби и машински циклуси

• T1 e значајна затоа што е почеток на секој машински циклус и е поврзана со издавање на адресна информација на адресните линии.

• Т2 и Т3 се поврзани со исчитување на кодот на инструкцијата која ќе се извршува во следните такт периоди.

• Т4 постои само во машинскиот циклус М1-OpcodeFetch, декодирање на кодот на инструкцијата.

• Т5 иТ6 може да се јават ако станува збор за инструкции чии операнди не се во меморија туку се наоѓаат во процесорските регистри. (М1=инструкцискиот циклус)

Состојби и машински циклуси

• Затоа М1 може да трае од 4-6 такт периоди.

• Процесорот за своите активности (типот на машинскиот циклус) што сака да ги спроведе ги информира останатите компоненти со кои комуницира на почетокот на секој машински циклус преку активирање на соодветни сигнали - статусни и контролни.активирање на соодветни сигнали - статусни и контролни.

• Статусни: S1, S0, IO/M - определуваат генерална селекција на компонентите (меморија или влез/излез) и што ќе се прави со неа(читање, запишување). Пр. читање : S1=1, S0 =0.

Состојби и машински циклуси

Состојби и машински циклуси

• Контролни: RD, WR, INT – за дополнителна контрола

на насоката на протокот на податоците и за детекција

на прекините.

• Секоја инструкција може да се состои од максимум 5

машински циклуси.

• постојат вкупно 7 различни типови на машински

циклуси дефинирани со состојбата на статусните и

контролните сигнали.

Machine

cycle

status control

IO/M S1 S0 RD WR INTA

OPCODE FETCH (OF)

MEMORY READ (MR)

0

0

1

1

1

0

0

0

1

1

1

1

Состојби и машински циклуси

Го одредуваат типот

на маш. циклус

MEMORY WRITE (MW)

I/O READ (IOR)

I/O WRITE (IOW)

INTR

ACKNOWLEDGE(INA)

BUS IDLE (BI):DAD

INA(RST/TRAP)

HALT

0

1

1

1

0

1

TS

0

1

0

1

1

1

0

1

0

1

1

0

1

0

1

0

1

1

1

1

TS

0

1

0

1

1

1

TS

1

1

1

0

1

1

1

Пример STA

store accumulator

Декодира

и одлучува

за уште М

циклуси

А0-15

ALE

RD

D0-7D0-7

во IR

RD

Opcode fetch

Уникатна со повеќе

од 3 T состојби

8085 системска магистрала

� RD,WR,INT-овие се контролни сигнали кои го дефинираат типот и времетраењето на циклусот на податочен трансфер.

� IO/M – оваа линија дефинира податочен трансфер во В/И адресен простор или во меморискиот адресен простор.простор или во меморискиот адресен простор.

� ALE –ADDRESS LETCH ENABLE, излезен сигнал од процесорот ,со кој процесорот “соопштува”дека линиите АD0-АD7 ќе се користат за адреса, а тоа значи дека информацијата од линиите треба да се зачува во леч.

8085 системска магистрала

�READY, RESET, OUT,

HOLD, HLDA, CLK, INTR

�овие сигнали се користат за синхронизација на �овие сигнали се користат за синхронизација на

побавните мемории, системски RESET,

директен мемориски пристап (DMA),

системското време и CPU прекините.

Читање од меморија или В/И

Запишување во МЕМ или В/И

Поставување на PC на стекот

RESET IN

По ресетирањето 8085 ќе почне со извршување инструкции од локацијата 0 со

оневозможени прекини.

Основни сигнали

• Систем со

користење на

стандардни

мемориимемории