Машинные циклы и синхронизация микро-ЭВМ

Организация внутренней памяти данных.

Пространство 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.