Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 82 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -10,8 +10,11 @@
|
|||||||
- [Понятие системы](Системная%20инженерия/Понятие%20системы.md)
|
- [Понятие системы](Системная%20инженерия/Понятие%20системы.md)
|
||||||
- [Компьютерные системы](Вычислительные%20системы/Компьютерные%20системы.md)
|
- [Компьютерные системы](Вычислительные%20системы/Компьютерные%20системы.md)
|
||||||
- [Особенности производства аппаратуры](Системная%20инженерия/Особенности%20производства%20аппаратуры.md)
|
- [Особенности производства аппаратуры](Системная%20инженерия/Особенности%20производства%20аппаратуры.md)
|
||||||
|
- [Hardware and Software](Системная%20инженерия/Hardware%20and%20Software.md)
|
||||||
## Схемотехника
|
## Схемотехника
|
||||||
- [Цифровая схемотехника](Цифровая%20схемотехника/Цифровая%20схемотехника.md)
|
- [Цифровая схемотехника](Цифровая%20схемотехника/Цифровая%20схемотехника.md)
|
||||||
|
## Теория вычислений
|
||||||
|
- [Модель вычислений](Вычислительные%20системы/Модель%20вычислений.md)
|
||||||
## Вычислительные архитектуры
|
## Вычислительные архитектуры
|
||||||
- [Вычислительные архитектуры](Архитектуры/Вычислительные%20архитектуры.md)
|
- [Вычислительные архитектуры](Архитектуры/Вычислительные%20архитектуры.md)
|
||||||
## Инструменты low-level
|
## Инструменты low-level
|
||||||
|
|||||||
@@ -12,4 +12,4 @@
|
|||||||
3. Desktops - компьютеры на рабочем месте, почти у всех
|
3. Desktops - компьютеры на рабочем месте, почти у всех
|
||||||
4. Сервисы - решения прикладных задач, чтобы не делать их локально
|
4. Сервисы - решения прикладных задач, чтобы не делать их локально
|
||||||
5. Мобильные вычисления - повсеместно
|
5. Мобильные вычисления - повсеместно
|
||||||
6. Вычисления окружают нас уже повсеместно
|
6. Вычисления окружают нас уже повсеместно
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
MoC - Model of Computation
|
||||||
|
1. MoC предоставляет язык для описания моделей процессов/программ/структур
|
||||||
|
2. MoC определяет возможности вычислительной машины
|
||||||
|
3. MoC характеризует, как исполняется модель (программа): возможные состояния вычислителя, их последовательность, правила переходов (детерменированные или нет)
|
||||||
|
4. MoC, обычно, минималистичны относительно реальных вычислителей
|
||||||
|
## Последовательные модели
|
||||||
|
Sequential models
|
||||||
|
Относительно просто реализуются в виде аппаратных схем
|
||||||
|
### Конечные автоматы
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Несколько наборов состояний системы и условия переходов между ними
|
||||||
|
#### Автомат с магазинной памятью
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Например, парсеры
|
||||||
|
#### Достоинства
|
||||||
|
- Таблица состояний
|
||||||
|
- Верифицируемость переходов
|
||||||
|
- Простая реализация в схемотехнике и ПО
|
||||||
|
### Машина Тьюринга
|
||||||
|
Включает:
|
||||||
|
- Неограниченную двустороннюю ленту, разделенную на ячейки
|
||||||
|
- Устройство управления (головка записи-чтения), которое может находиться в конечном числе состояний
|
||||||
|
Управляющее устройство может:
|
||||||
|
- Перемещаться по ленте влево и вправо
|
||||||
|
- Читать и записывать в ячейки символы конечного алфавита
|
||||||
|
Машина Тьюринга
|
||||||
|
1. Не может быть реализована на практике (нет бесконечной ленты)
|
||||||
|
2. Обладает полнотой по Тьюрингу (можно реализовать любой известный алгоритм)
|
||||||
|
3. Проблема остановки
|
||||||
|
4. Данные и управление отделены
|
||||||
|
5. Ориентирована на реализацию
|
||||||
|
### Random Access Machine
|
||||||
|
|
||||||
|

|
||||||
|
## Функциональные модели
|
||||||
|
Functional models
|
||||||
|
Представление вычислительного процесса как совокупности символов и правил их преобразований
|
||||||
|
1. Арифметика
|
||||||
|
2. Лямбда исчисление (полнота по Тьюрингу)
|
||||||
|
3. Combinatory logic
|
||||||
|
4. General recursive functions
|
||||||
|
5. Abstract rewriting systems
|
||||||
|
Программа/данные - математический объект
|
||||||
|
Возможна Тьюринг неполнота
|
||||||
|
### Лямбда исчисление
|
||||||
|
#### 4 вида выражений
|
||||||
|
1. Переменная: $x, y\ \text{и} \ z$
|
||||||
|
2. Константа: $a,b,c$
|
||||||
|
3. Коминация (вызов): $s\ t$
|
||||||
|
4. Абстракция: $\lambda x.s$
|
||||||
|
#### 3 вида редукций/подстановки
|
||||||
|
1. Переименование переменных: $\lambda u.u\ v \xrightarrow{\alpha} \lambda w.w\ v$
|
||||||
|
2. Применение функции (подстановка аргумента): $(\lambda x.s)\ t \xrightarrow{\beta} s[t/x]$
|
||||||
|
3. Сокращение аргумента: $\lambda u.v\ u \xrightarrow{\eta} v$
|
||||||
|
## Параллельные модели
|
||||||
|
Системы, включающие несколько взаимодействующих процессов
|
||||||
|
- Kahn process networks - однонаправленные каналы с неограниченными буферами (+- как в гошке)
|
||||||
|
- Actor model - отправка сообщений в "почтовые ящики" (как в Erlang)
|
||||||
|
- Discrete Event - события в заданные моменты времени (цифровые схемы)
|
||||||
|
- Multi-Thread Model - общая память (как в джаве)
|
||||||
|
- Synchronous Data Flow - синхронизированные потоки данных
|
||||||
|
## Близкие понятия
|
||||||
|
### Парадигмы программирования
|
||||||
|
Способ классификации языков программирования на основе их функций. Языки могут относиться к нескольким парадигмам
|
||||||
|
### Стиль программирования
|
||||||
|
Это набор правил или рекомендации, используемых при написании исходного кода компьютерной программы
|
||||||
|
## Применение на практике
|
||||||
|
1. Computer Science. Формальные модели
|
||||||
|
2. Дизайн ЯПов
|
||||||
|
3. Ограничение творческого порыва, контроль сложности
|
||||||
|
4. Модель-ориентированная инженерия
|
||||||
|
## Model-Driven Engineering
|
||||||
|
1. Разработка через моделирование предметной области
|
||||||
|
2. Автоматическая генерация кода из моделей
|
||||||
|
3. Повышение уровня абстракции при разработке
|
||||||
|
4. Сокращение разрыва между требованиями и реализацией
|
||||||
|
5. Улучшение коммуникации между заинтересованными сторонами
|
||||||
|
6. Снижение сложности разработки масштабных систем
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
- **Hardware** производится один раз и дальше не меняется, не корректируется
|
||||||
|
- **Software** адаптируется под задачу, легко изменяется
|
||||||
|
- Разделены по времени/специальности: разные дисциплины и разные индустрии
|
||||||
|
## Как разделить HW/SW
|
||||||
|
1. Определяем возможности "конфигурирования":
|
||||||
|
- Заложенные при проектировании - интерфейс задокументирован и стабилен (ISA, API)
|
||||||
|
- Незадокументированные (нецелевое использование, дыра в безопасности) - используется то, что интерфейсом не гарантировано но работает
|
||||||
|
2. Фиксируем интерфейс "конфигурирования"
|
||||||
|
- Набор механизмов
|
||||||
|
- Модель вычислений
|
||||||
|
- Интструментальные средства
|
||||||
|
## Конфигурирование [РЭА](Особенности%20производства%20аппаратуры.md#Монтаж%20радиоэлектронной%20аппаратуры%20(РЭА))
|
||||||
|
1. Макетные платы
|
||||||
|
2. Печатные платы: перерезать, навесить дорожку
|
||||||
|
3. Джамперы
|
||||||
|
4. Платы расширения
|
||||||
|
- Вычислительные платы
|
||||||
|
- Порты ввода/вывода
|
||||||
|
- Dendy (память программ и графическая память)
|
||||||
|
## Реконфигурация. Коммутация
|
||||||
|
### Реконфигурируемые архитектуры
|
||||||
|
Архитектуры, где задача отображается в структуру вычислителя (пространственно, spatial), а не выполняется потоком инструкций. В отличие от ASIC, это структура может быть перенастроена после изготовления
|
||||||
|
1. Программируемые логические интеграционные схемы
|
||||||
|
2. Крупногранулярные реконфигурируемые массивы (CGRA)
|
||||||
|
3. Выстраивание людей для расчета таблиц
|
||||||
|
## Программное управление
|
||||||
|
1. Данные (программы) определяют то, какой прикладной процесс будет разворачиваться
|
||||||
|
2. Количество уровней исполнения/интерпретации данных ограничено только целесообразностью
|
||||||
|
**Временные вычисления** - одна и та же схема последовательно проходит через разные состояния во времени
|
||||||
|
## Аппаратное обеспечение
|
||||||
|
Электронные и механические части вычислительного устройства, входящие в состав системы. Включает: компьютеры и логические устройства, внешние устройства и диагностическую аппаратуру, энергетическое оборудование
|
||||||
|
## Программное обеспечение (ПО)
|
||||||
|
Совокупность программ и программных документов необходимых для эксплуатации. Позволяет аппаратному обеспечению выполнять функции
|
||||||
|
## Аппаратура и ПО != Hardware и Software
|
||||||
|
1. Программная/аппаратная составляющая слабо связаны с SW/HW:
|
||||||
|
- Minix - ОС встроена в Intel ME/CSME
|
||||||
|
- Микропрограммное обеспечение
|
||||||
|
2. Часто аппаратурой называют то, что работает как аппаратное обеспечение
|
||||||
|
- Virutal-Computer, Virtual-Network, Virtual-Volume, etc
|
||||||
|
- Реконфигурируемые архитектуры (ПЛИС, CGRA)
|
||||||
|
3. Разделение на SW/HW зависит в большей степени от способа использования
|
||||||
|
- Hardware - тяжело/долго/дорого поменять
|
||||||
|
- Software - легко/быстро/дешево поменять
|
||||||
|
## Плюсы и минусы ПО/SW
|
||||||
|
### Часть плюсов
|
||||||
|
1. Быстрый цикл разработки, CI/CD и тд
|
||||||
|
2. Меняем у пользователя
|
||||||
|
3. Пользователь - Beta-тестер
|
||||||
|
### Часть минусов
|
||||||
|
1. Высокая сложность программ
|
||||||
|
2. Безопасность
|
||||||
|
3. Культура разработки. Верификация
|
||||||
|
## Типовое HW/SW проектирование
|
||||||
|
### Проектируем аппаратуру
|
||||||
|
- Система команд и вычислительные механизмы
|
||||||
|
- Интерфейсы управления аппаратурой
|
||||||
|
- Цифровая схематехника, система команд
|
||||||
|
### Пишем программу
|
||||||
|
- Прикладная задача
|
||||||
|
- Язык и библиотеки
|
||||||
|
- Система команд и вычислительные механизмы (виртуальная память, прерывания)
|
||||||
|
- Интерфейсы управления аппаратурой
|
||||||
|
### Проблемы
|
||||||
|
1. Излишне шаблонное проектирование
|
||||||
|
2. Высокие интеграционные риски
|
||||||
|
3. Последовательная разработка (сроки)
|
||||||
|
## Hardware/Software CoDesign
|
||||||
|
Мы проектируем систему
|
||||||
|
1. Разработка интерфейса HW/SW (системы команд)
|
||||||
|
2. Разработка моделей HW/SW, для получения обратной связи
|
||||||
|
3. Разработка HW/SW, верификация моделей
|
||||||
|
4. Заменая моделей на HW/SW
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
В итоге: сокращение цикла разработки
|
||||||
|
## Как выбирать инструменты для разработки Software
|
||||||
|
1. От доступного Hardware и инструментальных средств
|
||||||
|
2. От доступной команды разработки
|
||||||
|
3. От прикладной задачи
|
||||||
|
- От области (библиотеки)
|
||||||
|
- От модели вычислений (принципов организации вычислительного процесса: параллелизм, конвейризация, оптимизации и тд)
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
Различают:
|
Различают:
|
||||||
- одно- и двухслойные платы
|
- одно- и двухслойные платы
|
||||||
- многослойные платы
|
- многослойные платы
|
||||||
## Виды монтажа компонентоы
|
## Виды монтажа компонентов
|
||||||
- Выводной (в отверстие)
|
- Выводной (в отверстие)
|
||||||
- Поверхностный
|
- Поверхностный
|
||||||
- Встроенный
|
- Встроенный
|
||||||
@@ -94,6 +94,7 @@
|
|||||||
1. Разные частоты процессоров -> разные SKU из одного wafer
|
1. Разные частоты процессоров -> разные SKU из одного wafer
|
||||||
2. Core Single / Core Duo / Core Quad -> одинаковый кристалл, разное число активных ядер
|
2. Core Single / Core Duo / Core Quad -> одинаковый кристалл, разное число активных ядер
|
||||||
3. Intel Pentium / Celeron -> урезанные Core с отключенными кэшем и функциями
|
3. Intel Pentium / Celeron -> урезанные Core с отключенными кэшем и функциями
|
||||||
|
## Реальный мир
|
||||||
### Производство
|
### Производство
|
||||||
1. Логистика
|
1. Логистика
|
||||||
2. Склады
|
2. Склады
|
||||||
@@ -107,4 +108,13 @@
|
|||||||
1. Амортизация. Выход оборудования из строя
|
1. Амортизация. Выход оборудования из строя
|
||||||
2. Необходимость физического доступа
|
2. Необходимость физического доступа
|
||||||
3. Особенности среды эксплуатации
|
3. Особенности среды эксплуатации
|
||||||
4. Долгосрочные эффекты
|
4. Долгосрочные эффекты
|
||||||
|
### Сложность изменений
|
||||||
|
1. Чем совершеннее технология, тем сложнее внести изменения
|
||||||
|
2. Физический контакт
|
||||||
|
### Варианты замены устаревшей аппаратуры
|
||||||
|
1. Перепроектирование на новой элементной базе
|
||||||
|
2. Модульная организация. Стандартные интерфейсы. Имитация старых систем
|
||||||
|
3. Виртуализация
|
||||||
|
|
||||||
|
Как решаем проблемы аппаратуры - [Hardware and Software](Hardware%20and%20Software.md)
|
||||||
Reference in New Issue
Block a user