Машинные циклы и синхронизация микро-ЭВМ
Организация внутренней памяти данных.
Пространство DSEG включает в себя 256 ячеек памяти, часть из которых является одновременно элементами других пространств (Рис. 11.11). Так, первые 32 байта ОЗУ занимают 4 банка РОНов. Служебные регистры, порты ввода/вывода, таймеры, аккумуляторы и др. так же совмещены с ячейками памяти и полями битового сегмента. Это дает возможность обращения к одному физическому объекту разными способами. Так, к ячейке DSEG[E0] можно обратиться по прямому и косвенному адресу, обратиться как к аккумулятору A и как к полю BSEG[E0..E7] (к каждому биту в отдельности).
a) | A | B | C | D | E | F | |||||||||||
R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | ||
R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | ||
b) | A | B | C | D | E | F | |||||||||||
A | |||||||||||||||||
B | |||||||||||||||||
C | |||||||||||||||||
D | |||||||||||||||||
E | |||||||||||||||||
F | |||||||||||||||||
A | B | C | D | E | F | ||||||||||||
- ячейки, занятые битовым пространством BSEG |
3 .. | ..7 | A | B | C | D.. | |||||||
P0 | SP | DPTL | DPTH | PCON | TCON | TMOD | T0L | T0H | T1L | T1H | ||
P1 | SCON | SBUF | ||||||||||
A | P2 | IE | ||||||||||
B | P3 | IP | ||||||||||
C | T2CON | RCAP 2L | RCAP 2H | T2L | T2H | |||||||
D | PSW | |||||||||||
E | A | |||||||||||
F | B |
Рис. 11.11. Пространство внутренней памяти данных DSEG
DSEG | |||||||||
BSEG | 00..07 | 08..0F | 10..17 | 18..1F | 20..27 | 28..2F | 30..37 | 38..3F | |
DSEG | 2A | 2B | 2C | 2D | 2E | 2F | |||
BSEG | 40..47 | 48..4F | 50..57 | 58..5F | 60..67 | 68..6F | 70..77 | 78..7F | |
DSEG | A0 | A8 | B0 | B8 | |||||
BSEG | 80..87 | 88..8F | 90..97 | 98..9F | A0..A7 | A8..AF | B0..B7 | B8..BF | |
DSEG | CO | C8 | D0 | D8 | E0 | E8 | F0 | F8 | |
BSEG | C0..C7 | C8..CF | D0..D7 | D8..DF | E0..E7 | E8..EF | F0..F7 | F8..FF |
Рис. 11.12. Размещение битового пространства в DSEG
Память программ адресуется PC[15:] и может составлять до 64К байт, причем младшие 4..8К могут располагаться непосредственно на кристалле микро-ЭВМ (РПЗУ или ПЗУ), а остальная память - внешнее ЗУ. С точки зрения программиста внешняя и внутренняя память программ представляют единое адресное пространство. Имеются “особые точки” CSEG:
RESET | - 0000h | - стартовый адрес; |
EXTI0 | - 0003h | - внешнее прерывание 0; |
TIMER0 | - 000Bh | - прерывание от таймера/счетчика T0; |
EXTI1 | - 0013h | - внешнее прерывание 1; |
TIMER1 | - 001Bh | - прерывание от таймера/счетчика T1; |
SINT | - 0023h | - прерывание последовательного порта; |
TIMER2 | - 002Bh | - прерывание от таймера/счетчика T2. |
Питание микро-ЭВМ ..ВЕ52 осуществляется от одного источника +5В. Кварцевый резонатор 3,5..12 МГц подключается к выводам Х1, Х2; возможно подключение внешнего тактового генератора через Х1.
OSC/2 - основная внутренняя тактовая частота CLK. Первая половина периода CLK - фаза P1, вторая - P2. Каждый машинный цикл состоит из шести периодов CLK: состояний S1, S2, .. S6 или двенадцати периодов OSC, называемых фазами S1P1, S1P2, S2P1, .. S6P, S6P2. Каждый машинный цикл сопровождается генерацией двух стробов ALE длительностью в один период CLK - S1P2..S2P1, S4P2.. S5P1 (Рис. 11.13).
Командный цикл (КЦ) содержит один или два машинных цикла (МЦ) и отсчитывается от S1P1. По фазе S1P2 в IR фиксируется код операции, второй байт двухбайтовой команды читается в S4P2 того же МЦ, третий байт трехбайтовой - в S1P2 следующего МЦ. Таким образом, для ввода каждого байта команды требуется один полуцикл. Во время всех оставшихся полуциклов в фазах S1P2 и S4P2 читается код операции следующей размещенной в памяти команды, однако он не помещается в IR и не инкрементируется PC. Текущий КЦ всегда завершается в S6P2. Вслед за этим начинается S1, в котором в IR вводится новый байт.
Обращение к внешней памяти данных XSEG по команде MOVX требует второго МЦ, в котором не вырабатывается первый строб ALE. На Рис. 11.14 приведена временная диаграмма обращения к XSEG (чтение). Запись в XSEG осуществляется аналогично, кроме того, что вместо сигнала RD формируется WR и на P0 после снятия младшего байта адреса устанавливаются выходные данные (содержимое аккумулятора).
Для приведения ..ВЕ52 в исходное состояние необходимо подать на вход RST импульс H-уровня длительностью не менее 24 периодов OSC (два МЦ) при условии что генератор запущен.
*) если память программ внешняя
Рис. 11.13. Синхронизация микро-ЭВМ ..ВЕ52
По сбросу большинство внутренних регистров устанавливается в нулевое состояние. Исключение составляют:
· порты P0..P3 - в FFh;
· указатель стека SP - в 07.