02 MPS-8085 Functional

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

Transcript of 02 MPS-8085 Functional

Page 1: 02 MPS-8085 Functional

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

Page 2: 02 MPS-8085 Functional

8085А

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

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

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

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

• Функции:

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

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

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

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

Page 3: 02 MPS-8085 Functional

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

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

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

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

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

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

� ARITHMETIC&LOGIC UNIT

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

Page 4: 02 MPS-8085 Functional

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

8085AH

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

HMOS RAM WITH I/O

PORTS AND TIMER

• 8755А EPROM

Page 5: 02 MPS-8085 Functional

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

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

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

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

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

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

Page 6: 02 MPS-8085 Functional
Page 7: 02 MPS-8085 Functional

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

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

8085A

Page 8: 02 MPS-8085 Functional

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

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

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

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

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

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

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

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

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

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

Page 9: 02 MPS-8085 Functional

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

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

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

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

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

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

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

IO/M

Page 10: 02 MPS-8085 Functional

Регистри

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

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

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

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

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

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

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

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

Page 11: 02 MPS-8085 Functional

Регистри (2)

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

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

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

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

инструкции

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

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

Page 12: 02 MPS-8085 Functional

Регистри (3)

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

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

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

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

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

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

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

Page 13: 02 MPS-8085 Functional

FLAGS

• CY – carry

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

операции

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

• AC – auxiliary carry

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

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

Page 14: 02 MPS-8085 Functional

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

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

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

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

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

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

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

Page 15: 02 MPS-8085 Functional

Магацин - stack

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

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

магацин

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

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

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

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

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

Page 16: 02 MPS-8085 Functional

ALU

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

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

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

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

за ротирање

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

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

Page 17: 02 MPS-8085 Functional

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

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

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

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

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

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

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

бафери

Page 18: 02 MPS-8085 Functional

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

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

чипот

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

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

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

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

8085

Page 19: 02 MPS-8085 Functional

Прекини• 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)

Page 20: 02 MPS-8085 Functional

Прекини

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

Page 21: 02 MPS-8085 Functional

Прекини

� Како 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.

Page 22: 02 MPS-8085 Functional
Page 23: 02 MPS-8085 Functional

Прекини кај 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

Page 24: 02 MPS-8085 Functional

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

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

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

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

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

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

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

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

Page 25: 02 MPS-8085 Functional

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

Page 26: 02 MPS-8085 Functional

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

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

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

различни

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

Page 27: 02 MPS-8085 Functional

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

Page 28: 02 MPS-8085 Functional

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

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

� 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 осетлив на растечка ивица на сигналот на прекинувачката линија.

Page 29: 02 MPS-8085 Functional

SIM: Set Interrupt Mask

Accumulator

Page 30: 02 MPS-8085 Functional

RST

• RST 5.5

• RST 6.5

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

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

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

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

Page 31: 02 MPS-8085 Functional

TRAP

• TRAP

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

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

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

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

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

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

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

прекинот

Page 32: 02 MPS-8085 Functional

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

• SID и SOD пинови

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

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

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

– Преку latch

Page 33: 02 MPS-8085 Functional

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

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

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

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

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

Page 34: 02 MPS-8085 Functional

циклуси

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

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

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

Page 35: 02 MPS-8085 Functional

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

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

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

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

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

• Тhold, Тreset, Тhalt.

Page 36: 02 MPS-8085 Functional

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

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

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

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

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

Page 37: 02 MPS-8085 Functional

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

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

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

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

Page 38: 02 MPS-8085 Functional

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

Page 39: 02 MPS-8085 Functional

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

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

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

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

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

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

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

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

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

Page 40: 02 MPS-8085 Functional

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

Page 41: 02 MPS-8085 Functional

Пример STA

store accumulator

Декодира

и одлучува

за уште М

циклуси

А0-15

ALE

RD

D0-7D0-7

во IR

RD

Opcode fetch

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

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

Page 42: 02 MPS-8085 Functional

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

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

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

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

Page 43: 02 MPS-8085 Functional

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

�READY, RESET, OUT,

HOLD, HLDA, CLK, INTR

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

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

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

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

Page 44: 02 MPS-8085 Functional

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

Page 45: 02 MPS-8085 Functional

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

Page 46: 02 MPS-8085 Functional

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

Page 47: 02 MPS-8085 Functional

RESET IN

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

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

Page 48: 02 MPS-8085 Functional

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

Page 49: 02 MPS-8085 Functional

• Систем со

користење на

стандардни

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