- •1 Introduction (Введение)
- •2 Generalized block diagram of a finite state machine (Обобщенная структурная схема конечного автомата).
- •Push – вталкивать данные в стек;
- •Graphs (Графы)
- •Figure 3: Directed labeled graph for the edge detector Ориентированный помеченный граф для краевого детектора)
- •4 Finite State Machines (Конечные Автоматы)
- •5 Unified Modeling Language (Унифицированный язык моделирования)
- •Uml state machines (конечные автоматы унифицированного языка моделирования).
- •Fsm logic (логическая схема работы конечного автомата).
- •State diagrams versus flowcharts (диаграммы состояний в сравнении с блок-схемами программ)
- •Uml state diagram (диаграмма состояний уям)
- •Defining a State diagram (построение диаграммы состояний)
- •Elements of a State diagram (Элементы диаграммы состояний)
- •Asm Chart (диаграмма алгоритмического конечного автомата)
- •Detailed asm Chart (подробная диаграмма asm).
- •Register transfer level (Условное изображение на уровне rtl).
- •Rtl in the circuit design cycle (описание на уровне rtl для разработки имс).
- •Automata-based programming (программирование с помощью модели конечных автоматов).
- •Example (пример)
- •Traditional (imperative) program (обычная императивная программа).
- •Расшифровка операторов программы на языке с:
- •Automata-based style program (программа на основе модели конечного автомата)
- •A separate function for the automaton step (отдельная функция для этапа конечного автомата)
- •Explicit state transition table (таблица переходов состояний в явном виде)
- •Using object-oriented capabilities (использование объектно-ориентированных возможностей)
- •Other extensions
- •Moore machine
- •Formal definition
- •Mealy machine
- •Formal definition
- •Mathematical model
- •Advantages and disadvantages (преимущества и недостатки).
- •Formal definition (формальное определение).
- •Example (пример)
- •Example (пример)
- •Transformations from/to state diagram (переход от/к диаграмме состояний).
- •Directed graph of a finite state machine (направленный граф конечного автомата).
- •Harel statechart (диаграммы Harel).
- •С. State transition table (таблица смены состояний).
- •Δ and λ aren’t shown in Fig.1. Δ и λ не показаны на схеме для визуального упрощения.
- •The methods to define automata (Способы задания автоматов)
- •Transition and output tables (Таблицы переходов и выходов)
- •Transition and output tables for Mealy automaton (тпв автомата Мили)
- •Transition and output tables for Moore automaton (тпв автомата Мура)
Defining a State diagram (построение диаграммы состояний)
Just as we define classes for a Class diagram, it is necessary to define the elements of a State diagram. Let us first see what the elements of a State diagram are.
Elements of a State diagram (Элементы диаграммы состояний)
A State diagram consists of the following behavioral elements:
Условные обозначения:
Initial state – начальное состояние;
State – состояние;
Transition – переход;
History states – предыстория состояний;
Event and action – событие и действие;
Signal – сигнал.
The complete seminar lifecycle (полный жизненный цикл семинара).
Условные обозначения:
Enrollment – запись;
Proposed – предлагаемый;
Scheduled – запланированный;
Full – полный;
Open for enrollment – открыт для записи;
Closed for enrollment – закрыть для записи;
Cancelled – отмена;
Term started – семестр начался;
Being taught – обучение;
Final exams – окончательные экзамены;
Closed – закрыто;
Student dropped – отставание студентов;
Seminar size – объем семинара;
Algorithmic State Machine (алгоритмические конечные автоматы).
The Algorithmic State Machine (ASM) method is a method for designing finite state machines. It is used to represent diagrams of digital integrated circuits. The ASM diagram is like a state diagram but less formal and thus easier to understand. An ASM chart is a method of describing the sequential operations of a digital system.
Метод ASM применяется для разработки конечных автоматов. Он используется для представления схем цифровых ИС. Диаграмма ASM подобна диаграмме состояний, но менее формализованная и более легкая для понимания. Диаграмма ASM является методом описания последовательностных операций цифровых устройств.
The ASM method is comprised of the following steps (метод ASM включает следующие шаги):
1. Create an algorithm, using pseudocode, to describe the desired operation of the device (создание алгоритма с использованием превдокода для описания желаемой операции устройства);
2. Convert the pseudocode into an ASM chart (преобразование превдокода в диаграмму ASM);
3. Design the datapath based on the ASM chart (разработка тракта обработки данных, основываясь на диаграмме ASM);
4. Create a detailed ASM chart based on the datapath (создание детальной диаграммы ASM, исходя из тракта обработки данных);
5. Design the control logic based on the detailed ASM chart (разработка схемы управления логическими элементами, исходя из детальной диаграммы ASM).
Pseudocode is a compact and informal high-level description of a computer programming algorithm that uses the structural conventions of a programming language, but is intended for human reading rather than machine reading.
Псевдокод является компактным и неформальным описанием высокого уровня для алгоритма компьютерной программы, который использует структурные условности языка программирования, но при этом он предназначен скорее для восприятия человеком, чем ЭВМ.
Pseudo-code typically omits details that are not essential for human understanding of the algorithm, such as variable declarations, system-specific code and subroutines. The programming language is augmented with natural language descriptions of the details, where convenient, or with compact mathematical notation. The purpose of using pseudocode is that it is easier for humans to understand than conventional programming language code, and that it is a compact and environment-independent description of the key principles of an algorithm. It is commonly used in textbooks and scientific publications that are documenting various algorithms, and also in planning of computer program development, for sketching out the structure of the program before the actual coding takes place.
A datapath is a collection of functional units, such as ALUs or multipliers, that perform data processing operations. Most processors consist of a datapath and a control unit, with a large part of the control unit dedicated to regulating the interaction between the datapath and memory.
Тракт (обработки) данных, процессор) является совокупностью (набором) функциональных узлов, таких как АЛУ или блоки умножения, которые выполняют операции по обработке данных.