Блок управления компьютера что делает
Для того чтобы понять основные принципы работы компьютера, не помешает ознакомиться с его устройством, хотя бы в общих чертах.
Основой компьютера является материнская плата , к которой подключаются все остальные устройства.
От архитектуры (конфигурации) материнской платы зависит и то, сколько дополнительных устройств может быть подключено к компьютеру. Также, материнская плата является распределителем питания для всех устройств.
BIOS — Basic Input/Output System — (Базовая Система Ввода/Вывода) — первичный программный код, который записан в постоянное запоминающее устройство, находящееся на материнской плате. По своей сути BIOS это первичный язык (азбука) компьютера, который позволяет ему обнаруживать все внутренние подключенные к материнской плате устройства, работать с ними, а также содержит первичные базовые команды, которые позволяют компьютеру осуществлять загрузку более серьезного программного обеспечения.
Если сравнить компьютер с новорожденным ребенком, то BIOS это набор первичных инстинктов, с которыми ребенок рождается на свет. Он ещё ничего не знает, но уже может смотреть, кричать, хаотично двигать ручками и ножками, слышать звуки, ощущать прикосновения, запоминать какую-то незначительную информацию. У новорожденного ребенка уже всё работает, но совершенно хаотично и несистематизировано. Возможности новорожденного ребенка сильно ограничены.
Процессор — мозг компьютера. Процессор совершает все вычислительные операции. Вычислительной операцией называется абсолютно всё. Пользователь может видеть на экране текст, либо цветные картинки, либо слышать музыку из динамиков, для компьютера это всё — вычислительные операции. Компьютер работает с цифровыми значениями. Для него существуют только цифры и сочетания цифр. Все исходные данные, а также результаты вычислений записываются в оперативную память.
Оперативная память сохраняет информацию только при поддержке питания. При обесточивании, вся информация из оперативной памяти безвозвратно исчезает. Оперативная память работает в паре с процессором и от её объема зависит продуктивность процессора. К примеру, если требуется обработать файл, который может быть целиком загружен в оперативную память, он будет обработан в ней процессором, а потом сохранен на жесткий диск.
В этом случае, недостаточный объем оперативной памяти может быть частично компенсирован её быстродействием. Если обмен данными происходит быстро, то пользователь не обнаружит задержки — когда часть обработанного файла была сохранена на жесткий диск, а на освободившееся в оперативной памяти место был загружен следующий фрагмент файла.
Жесткий диск в обиходе имеет несколько названий. Иногда его называют HDD — сокращение от Hard Disk Drive, а также можно услышать: Винчестер, Винт, Хард или Хард-диск . Жесткий диск является постоянным запоминающим устройством, которое способно хранить информацию даже при полном отключении электроэнергии.
Когда возникают сбои в работе компьютера или перепады напряжения в электросети, та информация, которая была сохранена на жестком диске, не утрачивается и не теряется.
Видеокарта служит для просчета изображения и вывода его на экран. По своей сути, видеокарта это мини-компьютер, который находится внутри большого компьютера. Видеокарта имеет свой собственный процессор и свою собственную оперативную память, в которой происходит просчет изображений и виртуальных сцен.
Видеокарта берёт на себя часть задач, связанных с просчетом изображения, чтобы этим не приходилось заниматься основному процессору компьютера.
Файл подкачки это зарезервированная область на жестком диске, которая используется для хранения виртуальных страниц и создаётся операционной системой автоматически. Обычно, система создаёт файл подкачки в полтора раза больше, чем имеется в наличии оперативной памяти, если пользователь не указал иные размеры. Файл подкачки позволяет расширить общий объем виртуальной памяти и обеспечивает быстрый доступ к уже просчитанным виртуальным страницам, чтобы избавить компьютер от необходимости просчитывать страницу каждый раз при обращении к ней.
Звуковая карта это аналог видеокарты, с той разницей, что звуковая карта занимается воспроизведением звука, дабы не отвлекать на эту задачу центральный процессор компьютера. Но поскольку воспроизведение звука не является столь сложной задачей, как воспроизведение видео, в большинстве случаев, звуковая карта интегрирована в материнскую плату и является её неотъемлемой частью.
Дополнительную звуковую карту устанавливают только в тех случаях, когда требуется высококачественный, студийный звук, который будет выводиться не на компьютерные колонки, а на профессиональную аудиоаппаратуру. В других случаях, использование отдельной звуковой карты не имеет смысла.
CD/DVD-ROM это устройство чтения компакт-дисков формата CD или DVD. Устройство используется для воспроизведения (чтения) аудио или видеофайлов, просмотра фотоальбомов, а также — установки операционной системы с загрузочного компакт диска на жесткий диск компьютера. Помимо чтения дисков, такое устройство может производить запись на CD или DVD диск.
Порты USB универсальные порты, которые были разработаны для подключения к компьютеру различных внешних устройств: смартфон, цифровая камера, флеш-накопители, мышь, клавиатура, съемные жесткие диски, устройства беспроводной связи и многое другое. При подключении устройства к порту USB, устройство сообщает компьютеру свою модель и другие исходные данные, которые позволяют компьютеру "найти общий язык" и работать с подключенным устройством.
Использование стандарта USB широко применяется в ноутбуках. Как правило, ноутбук может иметь два и более внешних порта USB, доступных пользователю. На самом же деле, таких портов гораздо больше, они находятся внутри ноутбука, не имеют стандартного внешнего разъема, поскольку, к ним постоянно подключены второстепенные внутренние устройства ноутбука: веб-камера, тачпад, встроенный микрофон, встроенные модули Wi-Fi и Bluetooth, а также устройства чтения карт памяти.
Использование стандарта USB широко применяется в ноутбуках. Как правило, ноутбук может иметь два и более внешних порта USB, доступных пользователю. На самом же деле, таких портов гораздо больше, они находятся внутри ноутбука, не имеют стандартного внешнего разъема, поскольку, к ним постоянно подключены второстепенные внутренние устройства ноутбука: веб-камера, тачпад, встроенный микрофон, встроенные модули Wi-Fi и Bluetooth, а также устройства чтения карт памяти.
Какие датчики использует ЭБУД
Для полноценного управления двигателем ЭБУ требуется много входных данных. Эта информация поступает от множества датчиков. Вот основные из них.
-
или MAP сенсор (Manifold Absolute Pressure).
- Датчик температуры всасываемого воздуха — IAT. или MAF сенсор (Mass Air Flow).
- ДПКВ (Датчик Положения Коленвала) или CKP (Crankshaft position sensor).
- ДПРВ (Датчик Положения Распредвала) или CMP (camshaft position sensor). . . или TP (throttle position).
- ДС (Датчик Скорости) или VSS (Vehicle Speed Sensor).
- ДД (Датчик детонации). — APP.
- Датчик хладагента.
Body Control Module (BCM)
Блок управления бортовой электроникой (дверные замки, стеклоподъемники, подсветка салона и т. п.). BCM крепится к блоку предохранителей с водительской стороны ниже приборной панели.
Внутри BCM есть микросхема, которая получает информацию от датчиков в автомобиле через программируемый интерфейс связи (РСI — Programmable Communication Interface).
PCI предназначен для организации обмена данными между микропроцессором и удаленными внешними устройствами.
BCM обеспечивает работу многих электрических функций:
- внутреннее освещение;
- внешнее освещение;
- прерывистый режим работы стеклоочистителей;
- дополнительная задержка (это функция, которая позволяет использовать аксессуары, в том числе аудиосистему, до 10 минут после выключения двигателя);
- радио;
- подогрев сидений.
Отслеживание ошибок OBD-II
Сложность реализации контроля входов и выходов требует относительно продвинутых возможностей самодиагностики, традиционная диагностика двигателя устаревает.
Если показания датчика выходят за пределы допуска в течение заданного времени, регистрируется неисправность и её код сохраняется для последующего считывания.
Когда код неисправности сохраняется в памяти, это обычно приводит к обходу некоторой логики в программном обеспечении, что снижает эффективность двигателя, хотя он все еще может работать на базовом уровне.
В некоторых случаях процедура самодиагностики обнаруживает серьезную неисправность, которая либо принципиально препятствует запуску двигателя, либо выключает двигатель в целях безопасности.
Коды неисправностей хранятся в виде 5-значных буквенно-цифровых кодов, начинающихся с P, B, C или U, за которыми следуют 4 цифры. Подробности этих кодов и их описания можно найти здесь: Коды неисправностей и ошибок OBD2.
В дополнение к этим кодам с помощью диагностического прибора возможно просматривать данные датчиков в реальном времени. Это позволяет видеть показания датчика, которые неверны, но не выходят за допустимые пределы с достаточным запасом, чтобы вызвать ошибку.
Из чего состоит ЭБУ двигателя
Блок управления двигателя состоит:
Sunroof Module (SM)
SM — модуль люка в крыше.
Расположен в потолке, является частью люка. Управляет открытием, закрытием и вентиляцией люка.
Инструкции по декодированию
Каждый процессор имеет набор регистров и инструкций или ISA что мы можем понимать как язык процессора, поэтому в зависимости от каждого процессора двоичный код может означать одно или другое . Но во всех них инструкция всегда разделен на две части: код операции и данные . Код операции - это код инструкции , каждая инструкция всегда соответствует одному и тому же коду операции в ISA
Предположим, у нас есть компьютер с 3-битным кодом операции, поэтому он дает 2 ^ 3 инструкции, через декодер из n бит мы можем сгенерировать вывод из 2 ^ n бит, в этом случае 3 бита генерируют 8 разных путей в соответствии с типом инструкции, которая должна быть выполнена, так или иначе будет использоваться для ее решения на этапе выполнения инструкции.
Не все инструкции будут проходить через одни и те же блоки и одни и те же процессы, не все из них имеют конвейер одинаковой длины, и, следовательно, они не все будут обрабатываться одинаково, потому что не одно и то же выполнять сумму, чем выполнять переместить данные.
Управление фазами газораспределения
Некоторые двигатели имеют регулируемые фазы газораспределения (VVT). В этом случае ЭБУД управляет рабочими параметрами ГРМ (газораспределительного механизма). Это осуществляется с учетом режима работы двигателя. Система VVT определяет моменты открытия и закрытия впускных и выпускных клапанов, длительность времени открытия клапана и высоту его подъема.
Использование изменяемых фаз газораспределения позволяет добиться повышения мощности мотора, моментной характеристики, обеспечить экономию топлива и снизить выбросы.
Controller Antilock Brakes (CAB)
Другое название BCM (Brake Control Module) — контроллер тормозной системы. Крепится к гидравлическому блоку управления (HCU) под капотом перед главным цилиндром.
Управляет антиблокировочной системой ABS. Также управляет системой распределения тормозных усилий (EBD — Electronic brakeforce distribution).
Более подробно о разделении на клиент-сервер
Разделение на клиент и сервер реализовано при помощи встроенной функциональности CPU, разделения памяти и программных проверок.
Производители оборудования сотрудничают с разработчиками ОС, поэтому в процессоре есть механизмы созданные с учётом потребностей создателей операционных систем. Во всех современных процессорах реализован механизм ролей пользователя, где под пользователем понимается исполняемый в данный момент код. В веб приложениях роль залогиненого пользователя хранится в какой-то переменной и помимо понятного названия Admin или User имеет Id этой роли который чаще и используется при авторизации, потому как сравнивать числа быстрее и проще чем строки. В процессоре роль текущего пользователя хранится в поле которое называется “кольцо безопасности” (Security Ring), а не “CurrentUser.Role.Id”. В большинстве процессоров это поле принимает четыре значения от 0 до 3. Windows использует 0 для роли которая называется “Режим Ядра”, потому как это самый привилегированный режим и самое большое значение для роли “Режим Пользователя”, потому как это самая ограниченная роль. Остальные роли не используются потому как различие между 0 и 1, 2 и 3 незначительное. Эти роли ограничивают страницы памяти которые могут быть адресованы, нельзя вызывать некоторые инструкции или же нельзя их вызывать с определёнными аргументами. Так же есть ограничения на использование технологии I/O Ports для обмена данными с устройствами такими как клавиатура, но она уже лет 10 не используется. Переключение в режим ядра происходит через команду syscall, которая по индексу находит в массиве указателей на APIs Windows функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.
Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.
Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:
64 битный адрес позволяет адресовать 16 экзабайт, это 18,446,744,073,709,551,616 ячеек памяти. Современные процессоры пока что не поддерживают так много RAM и поэтому используют только младшие 48 бит адреса, остальные 16 заполняются старшим разрядом. Поэтому Win x64 попросту не использует часть адресов, которые помечены на рисунке выше чёрным. Но это не значит, что 64х битный Windows “видит” 256 Tb оперативки. Максимум 8TB виртуальной памяти на архитектуре IA64 и 7TB на x64. Предел физической памяти поддерживаемой Windows 10 — 2TB, потому как с большим количеством Винда не тестировалась. Объём поддерживаемой RAM в Windows 10 определяется во многом редакцией ОС, чем дороже тем больше.
Почему ячейки памяти пронумерованы шестнадцатиричными (HEX) числами, а не десятичными или двоичными? Адрес ячейки это не просто порядковый номер, в нём закодировано три числа по которым эту ячейку можно отобразить на физическую память. Первые два это индексы по которым находится конкретная страница виртуальной памяти, а третье число — смещение от начала страницы. CPU и ОС здесь работают в связке — ОС предоставляет структуру данных по которой CPU находит страницу виртуальной памяти и копирует её в физическую. По HEX номеру можно сразу увидеть как выровнен в памяти адрес. Формат двоичного числа слишком громоздкий, 32 бита (или 64) трудны для восприятия. Десятичный формат — показывает слишком мало информации, тогда как HEX удобный компромисс между десятичной и двоичной системами, средами людей и машин.
Программный способ разделения на клиент-сервер (режим ядра-режим пользователя) гораздо скучнее перечисленных выше механизмов. Процессы и потоки могут быть помечены специальными аттрибутами или же мы можем хранить список указателей на потоки/процессы и проверять их в коде. Если вы хоть раз делали авторизацию в веб-приложении, то хорошо понимаете о чём я говорю.
Принцип работы
При включении питания компьютера, в первую очередь, блок питания подаёт напряжение на материнскую плату, а через неё уже на все прочие устройства компьютера. Следующим этапом происходит чтение информации из постоянного запоминающего устройства BIOS, что позволяет компьютеру обнаружить все внутренние устройства, которые к нему подключены. В соответствии с настройками BIOS производится загрузка с дискеты, компакт-диска, запоминающего устройства подключенного к USB-порту или HDD.
В классической настройке BIOS приоритеты были расставлены следующим образом: В первую очередь производится загрузка с диска "A" или "B" - эти буквы всегда отводились под дискету (флоппи-диск). Если указанные дисководы пусты, осуществить загрузку с диска "C" - Жесткий диск компьютера. Позже, когда дискеты практически вышли из обихода, настройку BIOS изменили. Приоритет загрузки отдали устройству чтения компакт-дисков CD-ROM. Если в этом устройстве нет диска, произвести загрузку, опять же, с диска "C". Подобная настройка BIOS позволяла без лишних хлопот установить операционную систему с загрузочного диска. Достаточно было вставить компакт-диск с установочными файлами операционной системы в дисковод, и компьютер начинал загружаться с компакт-диска, выходил в режим установки операционной системы. Позже, когда компьютеры стали продаваться с уже заранее установленной операционной системой, настройку BIOS поменяли и принудили компьютер в любом случае загружаться с диска "C", игнорируя другие устройства. Итак, загрузив BIOS, определив подключенные устройства, компьютер начинает загрузку операционной системы. В большинстве случаев это происходит с жесткого диска "C" или из раздела "C" находящегося на жестком диске. Помимо загрузки самой операционной системы, производится загрузка всех необходимых драйверов для обнаруженных устройств, подключенных в данный момент к компьютеру. В процессе работы, компьютер четко следует заданному алгоритму.
Говоря простым языком, компьютер четко выполняет инструкции, которые написаны для него человеком (программистом). Компьютер не может ошибаться, это было исключено ещё на заре развития кибернетики. Частично поврежденные элементы исключаются из работы. Либо, если повреждения значительны, компьютер отказывается работать совсем. Таким образом, все ошибки, возникающие в работе компьютера, полностью лежат на совести программиста. Если программа была написана с нарушением компьютерной грамматики, компьютер, обнаружив ошибку, откажется выполнять программу. Однако, чаще бывает, что программа написана безукоризненно, но содержит логическую ошибку, которую компьютер обнаружить не способен. Говоря простым языком, все команды написаны верно, но среди них отсутствует необходимая, либо присутствует команда, которая противоречит другой команде. Тогда компьютер берется выполнять программу, пока не дойдет до ошибки, где и происходит сбой в работе или зависание. Чаще всего, ошибки возникают по той причине, что программы были написаны разными программистами, которые не могли учесть всех тонкостей, не зная заранее — что написано другим.
Алгоритм это четкая, пошаговая инструкция, предусматривающая различные варианты развития событий. Без учета различных вариантов, работа компьютера с пользователем ограничивалась бы только запуском и выполнением программы, следующей одним, заранее написанным сценарием. Возможность менять ход сценария, делает компьютер уникальным и единственным устройством в своем роде.
Driver Door Module (DDM)
Модуль водительской двери. Находится за обшивкой левой двери, встроен в блок дверного переключателя.
Управляет различными электронными функциями, такими как дверные замки с электроприводом, электрические стеклоподъемники, зеркала с электроприводом, дополнительное освещение и моторчик замка задней двери.
Adjustable Pedals Module (APM)
APM — модуль управления положением педалей. Находится под панелью, над педалью тормоза. Управляет положением педалей.
Система регулируемых педалей предназначена для перемещения тормоза и акселератора вперед и назад. Это улучшает эргономику по отношению к рулю для высоких и низких водителей.
Возможность регулировки положения педалей также позволяет водителю регулировать угол наклона рулевого колеса и положение сиденья в наиболее удобное положение. Положение педали тормоза и акселератора регулируется без ущерба для безопасности или комфорта.
Блок управления APM позволяет хранить одно или два предпочитаемых положения педалей. Положение может быть сохранено и вызвано с помощью переключателей.
Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Функции ЭБУ двигателя
ЭБУ управляет работой двигателя через исполнительные механизмы (форсунки, реле, насосы, катушки зажигания и т. п.). Управление строится в соответствии с внутренним ПО и показаниями датчиков. Работа ДВС должна соответствовать требованиям к мощности и экологичности. Вот некоторые из основных задач ЭБУ.
Из чего состоит Windows?
Абстракция или же разбиение на компоненты есть во всех сферах программирования и интуитивно понятно что Windows тоже делится на какие-то компоненты. Под компонентом понимается какая-то единица функциональности — ООП класс, файл, dll, папка. Компоненты на диаграмме ниже могут быть как индивидуальными *.sys, *.dll файлами, так и просто набором API сгруппированным логически через добавление префикса к имени функции, старая часть системы написана на C, а он не поддерживает классы. Новые части пишутся нередко на C++. В укрупнённом виде Винда выглядит так:
Давайте быстренько пробежимся по её компонентам снизу вверх:
- Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
- HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.
Виды ЭБУ
Разберем типы электронных блоков управления на примере JEEP Grand Cherokee.
Основы Операционной Системы
Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям CPU, а роль “Пользователь” может вызывать не все команды процессора и не со всеми аргументами. Поверх этой ролевой модели по принципу клиент-серверной архитектуры построена операционная система, где сервер это ядро, которое и реализовывает функционал ОС, а клиент — это пользовательские программы. В мире Web клиент и сервер разделены физически — это два разных компьютера общающихся по сети. В ОС клиент и сервер живут на одной машине и на одном железе. У сервера есть некий API который позволяет клиентам изменять его состояние, к примеру Twitter API позволяет создавать посты, логиниться и загружать ленту твитов в мобильный клиент. У Windows есть Win API, только более громоздкий в виду более широкого круга задач, на сегодняшний день у винды примерно 330 000 API плюс API для UWP apps. Если концепции Твитера более менее всем понятны — пост, пользователь, фид — то концепции ОС могут потребовать некоторого углубления в её внутренности. Поэтому API Windows могут быть трудно понятными без понимания внутреннего устройства ОС.
На самом деле под ядром понимают три разные вещи. Ядро как весь код ОС. Ядро как подсистема которая отвечает за механизмы ОС, такие как планировщик потоков, переключение контекста, обработка прерываний, свап виртуальный памяти на физическую (Kernel) и ядро подсистемы для поддержки других ОС — CSRSS.exe (Windows), PSXSS.exe (POSIX), OS2SS.exe (OS/2) или WSL (Windows SubSystem for Linux). В данном контексте понимается первый смысл — весь код ОС.
Когда на экране появляется окно, то в серверной части ОС (режим ядра) появляется структура данных которая описывает это окно — его положение на экране, размеры, текст заголовка, оконная функция через которую ОС даёт приложению среагировать на события. Поскольку подсистем в ОС много, то и структур данных описывающих один объект может быть несколько, к примеру информация о пользовательском процессе есть в компонентах:
- Executive — здесь логика работы ОС. В этом слое проверяется что могут и не могут делать процессы. Здесь хранится инфа о родительском процессе, параметры старта процесса (Process Environment Block), привязанный аккаунт пользователя, имя exe файла процесса.
- Kernel — здесь реализованы механизмы ОС, такие как планировщик потоков. Здесь хранится сколько времени процесс проводит в режиме пользователя и ядра, к каким процессорам привязаны его потоки, базовый приоритет потоков процесса.
- Windowing subsystem — инфа о GDI объектах которые используются для рисования в окне. Это такие примитивы как кисти, pen и пр.
- DirectX — всё что имеет отношение к DirectX: шейдеры, поверхности, DX-объекты, счётчики производительности GPU, настройки памяти графической памяти.
- Подсистема Windows которая представлена процессом CSRSS.exe (Client Server Runtime SubSystem). Windows ранее поддерживал ОС POSIX (процесс PSXSS.exe) и OS/2 (OS2SS.exe). В те времена возникла идея сделать и Windows такой же подсистемой, но эта было медленно и поэтому скоро часть CSRSS.exe перенесли в win32k.sys, который сейчас разбит на несколько файлов — win32k.sys, win32kbase.sys и win32kfull.sys. Здесь хранится информация о Process Group Data, Shutdown level, Session Data и пр.
Что такое компонент? Это логически сгруппированный функционал. Компонентом можно назвать ООП-класс, dll, папку, набор функций с общим префиксом, пространство имён, слой в архитектуре.
Airbag Control Module (ACM)
Блок управления подушками безопасности. ACM расположен под центральной консолью за механизмом переключения передач.
Микропроцессор в контроллере подушек безопасности содержит логические схемы системы SRS (Supplemental Restraint System — система пассивной безопасности) и управляет всеми ее компонентами.
Как информация от датчиков, попадает в ЭБУ?
Здесь на помощь приходит шина CANBus. CANBus — это сокращение от Controller Area Network Bus, и она разработана, чтобы позволить нескольким модулям управления и датчикам в автомобиле связываться и обмениваться информацией друг с другом на суперскоростях.
Такая информация, как частота вращения колес и положение дроссельной заслонки, требуется нескольким блокам управления для обеспечения правильной работы автомобиля, а система CANBus позволяет быстро обмениваться этой информацией.
Эта система используется всеми производителями, поскольку она требуется для бортовой диагностики (OBD2) и является обязательным требованием с конца 90-х годов.
OBD-II позволяет подключить диагностический прибор к автомобилю и считать коды неисправностей, хранящиеся в блоках управления. Ошибки можно сканировать обычным смартфоном со специальной программой и блютуз или wi-fi адаптером.
Электронное управление клапанами
Существуют двигатели без распределительного вала, с полным электронным управлением открытием, закрытием впускных и выпускных клапанов. Они могут запускаться без стартера. Такой двигатель обеспечивает повышение эффективности и уменьшение вредных выбросов.
Первый серийный двигатель этого типа был установлен в 2009 г. итальянским автопроизводителем Fiat в Alfa Romeo MiTo. В их двигателях Multiair используется электронное управление клапанами, что значительно улучшает крутящий момент и мощность, снижая при этом расход топлива на 15%.
В основном, клапаны открываются гидравлическими актуаторами, которые управляются блоком управления двигателя. Клапаны могут открываться несколько раз за такт впуска в зависимости от нагрузки двигателя. Затем ЭБУ решает, сколько топлива следует впрыснуть для оптимального сгорания.
В условиях постоянной нагрузки клапан открывается, топливо впрыскивается и клапан закрывается. При резком открытии дросселя клапан открывается на этом такте впуска и впрыскивается большее количество топлива. Это обеспечивает немедленное ускорение.
Для следующего такта ЭБУ рассчитывает нагрузку на двигатель при новых, более высоких оборотах и решает, как открыть клапан: рано или поздно, полностью или наполовину. Всегда достигается оптимальное время и степень открытия, а сгорание происходит максимально правильно. Это, конечно, невозможно с обычным распределительным валом, который открывает клапан на весь период впуска и всегда полностью.
Где находится ЭБУ двигателя?
ЭБУД может находиться под капотом в правой или левой задней части моторного отсека. На распространенных в России иномарках — обычно слева возле аккумулятора.
На ВАЗах блок управления двигателя обычно расположен в салоне, под приборной панелью. Он может быть под рулем или под магнитолой.
Transmission Control Module (TCM)
Блок управления коробкой передач. Находится в правой (пассажирской) стороне моторного отсека возле перегородки с салоном, крепится к внутреннему крылу.
Управляет коробкой передач, обрабатывая сигналы от датчиков оборотов и скорости в АКПП, а также датчиков температуры и давления. Сохраняет информацию адаптации и коды неисправности OBD2.
Каковы задачи блока управления?
Блок управления - незаменимая часть, которая непрерывно и прозрачно выполняет следующий перечень работ:
- Он координирует перемещение и порядок данных, которые перемещаются внутри и вне процессора, а также между различными его частями.
- Интерпретируйте инструкции.
- Он управляет различными ALU и исполнительными модулями процессора.
- Он не только отвечает за захват и декодирование инструкций, но и за запись результатов в регистры, кеши или в соответствующий адрес RAM.
Таким образом, блок управления является настоящим теневым мозгом внутри ЦП, который отвечает за то, чтобы все части ЦП получали правильные данные и всегда выполняли правильные инструкции.
Управление холостым ходом
Большинство систем управления двигателем имеют встроенный блок управления холостым ходом. Обороты двигателя контролируются датчиком положения коленчатого вала, который играет основную роль в функциях синхронизации двигателя для впрыска топлива, искрообразования и фаз газораспределения.
Обороты холостого хода регулируются с помощью дроссельной заслонки или регулятора холостого хода (РХХ). Эффективное управление частотой вращения холостого хода должно учитывать нагрузку двигателя на холостом ходу.
Полнофункциональная система управления дроссельной заслонкой может использоваться для управления оборотами холостого хода, обеспечения функций круиз-контроля и ограничения максимальной скорости.
Passenger Door Module (PDM)
Модуль пассажирской двери. PDM расположен за обшивкой правой двери. Он встроен в блок дверного переключателя.
Управляет различными электрическими функциями, такими как дверные замки с электроприводом, электрические стеклоподъемники, зеркала с электроприводом, подсветка и моторчик замка задней двери.
Адаптация
Современные автомобили строятся с гораздо более жесткими допусками, чем те, что были в прошлом, однако они по-прежнему подвержены производственным изменениям, механическому износу и изменению экологичности. Таким образом, они должны адаптироваться к постепенным изменениям в работе двигателя.
Пример. Поскольку воздушный фильтр забивается пылью, ЭБУ запускает двигатель, немного уменьшив количество впрыскиваемого топлива для компенсации. Это позволяет ему сразу работать с максимальной эффективностью, а не запускаться на заводском уровне и работать над оптимальной смесью в каждой поездке. Это достигается за счет сохранения значений ДК за предыдущие поездки.
Такие адаптации применимы не только к засоренным воздушным фильтрам, но и ко многим системам двигателя или трансмиссии. Поскольку компоненты в гидравлических системах изнашиваются, для компенсации им требуется изменение времени срабатывания соленоидов.
Точно так же, когда двигатель изнашивается, компрессия ухудшается, и необходимо изменять угол открытия дроссельной заслонки, чтобы поддерживать правильную скорость холостого хода.
Электронный блок управления (ЭБУ) — это общий термин для любого из компьютерных модулей, которые получают данные от датчиков в автомобиле и управляют различными электрическими функциями. Можно сказать, что это компьютерные мозги автомобиля.
Электронный блок управления также называют ECU — Electronic Control Unit.
По мере того, как автомобили становятся более сложными и оснащаются бóльшим количеством датчиков и функций, на одном транспортном средстве могут быть установлены десятки различных блоков управления.
Двоичный код
Двоичный код, как система сохранения данных, появился очень давно. Известно, что ещё во времена древних инков использовался данный принцип передачи информации. На верёвке завязывались узелки, которые означали единицу, а отсутствие узелка означало ноль. Позже система была забыта, но с появлением электроники, снова возродилась. Чтобы найти золотую середину, необходимо познать обе крайности. Это правило актуально и для электроники.
Учитывая несовершенство первых компьютеров, проще было обозначить само наличие сигнала или его отсутствие, чем пытаться опираться на прочие характеристики электрического тока, которые могли быть сильно искажены помехами, но которые пытались использовать — как альтернативный путь развития кодирования. Одно время, разрабатывались процессоры, которые также реагировали на частоту электрического тока. Каждая частота имела собственное значение.
Слабое место подобного метода заключается в том, что любые помехи могут искажать исходный сигнал, что приведет к искажению данных — ошибке. Защитить устройство от посторонних помех довольно сложно, да и генерация импульсов различной частоты тоже усложняет задачу. Поэтому подобный путь передачи и хранения данных не получил широкого распространения.
Инженеры пошли более простым и безошибочным путем. Наличие сигнала, в определенный промежуток времени, стали рассматривать — как единицу, отсутствие сигнала, за такой же промежуток времени, взяли за ноль. Таким образом, сформировалась основа двоичного кода, которой присвоили обобщенное название бит . Для этого случая вполне справедлива поговорка: Отсутствие результата — тоже результат . И действительно, в двоичном коде, единица это один бит информации. Ноль (отсутствие сигнала) также является одним битом информации.
Один бит (ноль или единица) занимает одну ячейку памяти. Правда, из одного бита информации, даже из двух — много пользы не выжмешь. Можно поиграть с их чередованием. Скажем, выражение 00 имеет одно значение, выражению 01 можно присвоить — другое, следовательно, появляется возможность записать ещё два значения: 10 и 11. Всего четыре комбинации из двух битов.
Этого явно недостаточно для передачи и сохранения сложной информации. Если же использовать не два, а три бита, то возможных вариантов становится уже не четыре, а восемь: 000, 001, 010, 100, 101, 110, 011, 111. Увеличение количества бит всего на один — увеличивает количество возможных вариантов вдвое. Использование восьми бит даёт уже 256 вариантов комбинаций и этого вполне достаточно для того, чтобы присвоить каждому варианту свой собственный символ или определенную команду. Получается, что восемь бит уже могут иметь определенное значение и смысл. По этой причине, запись, состоящая из восьми бит, получила название байт .
Подобная схема и легла в основу BIOS , благодаря чему компьютер способен понимать буквы латинского алфавита, цифровые значения от 0 до 9, а также — специальные символы, использующиеся в программировании.
Если бы нам нужно было определить, из каких частей состоит процессор, то самым безопасным было бы, чтобы в 99% случаев мы проводили разделительную линию между двумя частями, с одной стороны, исполнительными модулями и всеми элементами, необходимыми для его работы. и для С другой стороны, блок управления, который отвечает за захват, но особенно за декодирование каждой инструкции, для этого мы должны понимать цикл команд.
Чтобы понять, как блок управления работает , мы должны сначала понять как работает цикл каждой инструкции , Где инструкция сначала записывается из памяти и помещается в регистр команд, следующий шаг - расшифровка инструкции блоком управления , который после завершения своей работы отправляет инструкцию в исполнительный блок, соответствующий этой инструкции.
Heated Seat Module (HSM)
Модуль подогрева сидений. Расположен под водительским сиденьем. Выполняет функцию подогрева сидений.
Подогрев сидений работает от аккумулятора через предохранитель. HSM получает сигналы от переключателей подогрева сиденья и включает нагревательные элементы. Уставка низкой температуры нагрева составляет около 36° C, а уставка высокой температуры — 42 ° C.
Если блок управления подогревом сидений обнаружит обрыв или короткое замыкание цепи нагревательного элемента, он сохранит соответствующий диагностический код неисправности.
Powertrain Control Module (PCM)
PCM — блок управления двигателем. Находится под капотом в правой задней части моторного отсека. Это предварительно запрограммированный контроллер с тремя микропроцессорами.
Он регулирует угол опережения зажигания, соотношение топливно-воздушной смеси, контролирует выбросы, систему зарядки, некоторые функции трансмиссии, контроль скорости, включение муфты компрессора кондиционера и обороты холостого хода.
PCM может адаптировать свои настройки в зависимости от условий эксплуатации.
Из чего состоит ЭБУ
ЭБУ включает в себя:
Memory Seat Module (MSM)
Блок управления положением сидений (модуль памяти). Расположен под водительским сиденьем. Выполняет функции памяти положения сидений.
MSM позволяет водителю настраивать и персонализировать форму и положение сидений. Сиденья регулируются с помощью небольших моторчиков, размещенных в разных местах для регулировки различных частей сиденья. Водитель нажимает переключатель положения, который отправляет сигнал на модуль управления, чтобы включить реле и запустить моторчик.
Сиденья с электроприводом позволяют водителю изменять положение сиденья в разных направлениях, например вперед, назад, вверх, вниз, наклонять вперед, наклонять назад или изменять положение подголовника для достижения оптимального положения при вождении.
Контроль соотношения воздух-топливо
В большинстве современных двигателей для подачи топлива в цилиндры используется один из видов впрыска. ЭБУ определяет количество впрыскиваемого топлива на основе показаний ряда датчиков.
Датчики кислорода сообщают, работает ли двигатель на богатой или бедной смеси по сравнению с идеальными условиями (известными как стехиометрические).
Богатая смесь — слишком много топлива или слишком мало кислорода, бедная — слишком много кислорода или слишком мало топлива. Стехиометрическая смесь — идеальное соотношение воздух ⁄ топливо по массе 14,7:1.
Датчик положения дроссельной заслонки сообщает ЭБУ, насколько открыта дроссельная заслонка при нажатии на акселератор (педаль газа). Датчик массового расхода воздуха измеряет количество воздуха, поступающего в двигатель через дроссельную заслонку.
Датчик температуры охлаждающей жидкости двигателя измеряет, прогрет двигатель или нет. Если двигатель еще холодный, будет произведен впрыск дополнительного топлива.
Electronic Vehicle Information Center (EVIC)
Электронный информационный центр автомобиля.
EVIC находится в потолке. Содержит в себе компас, температуру, маршрутный компьютер.
Принцип работы ЭБУ двигателя
ЭБУ получает информацию от различных датчиков на двигателе, сравнивает эту информацию с заранее заданной программой, прошитой производителем, а затем отправляет выходные сигналы на свечи зажигания, топливные форсунки и другие узлы, чтобы двигатель работал с максимальной эффективностью.
Все это происходит сотни раз в секунду. ЭБУД постоянно отслеживает температуру воздуха, положение двигателя с помощью датчиков положения распредвала и коленвала, а также содержание кислорода в выхлопных газах, одновременно работая над регулировкой топливной-воздушной смеси и опережения зажигания, чтобы получить максимальную отдачу в каждом цикле сгорания.
Принцип работы ЭБУ такой же, как у вашего домашнего компьютера или ноутбука.
Он состоит из программной и аппаратной части. В блоке управления есть микропроцессор, который может в реальном времени анализировать и обрабатывать информацию, поступающую от различных датчиков, и вносить любые необходимые корректировки.
По мере необходимости программное обеспечение ЭБУ может быть обновлено путем перепрограммирования. Это не требует каких-либо внутренних изменений в контроллере.
Насколько глубоко мы погрузимся в тему?
Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.
Уровень операционной системы. ОС можно рассматривать как:
- Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
- Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
- Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).
Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.
Микросхемы выглядят как на картинке ниже и представляют собой мини-компьютер выполняющий простые программы для низкоуровневых задач, к примеру прочитать данные от клавиатуры и передать их дальше чтобы они достигли в конечном счёте процессора. Как правило реализованы в виде аналоговой непрограммируемой микросхемы или микроконтроллера, программируемого на языке С.
Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.
Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.
Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.
Микроархитектура это не то же самое что архитектура. Весь функционал CPU разделён на компоненты, которые работают сообща. Эти компоненты и их взаимодействие и есть микроархитектура. На блок-схеме ниже они представлены цветными прямоугольниками и квадратиками.
Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.
Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.
Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.
Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.
Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.
Типы блоков управления
- Проводные блоки управления используются в очень простых процессорах , так как в них нельзя изменить таблицу регистров и инструкций так как все пути данных, ранее подключенные фиксированным образом, найдены , в проводном блоке управления инструкции всегда будут иметь одинаковую производительность, и они не смогут добавлять новые или оптимизировать свою работу.
- В случае микропрограммные блоки управления, используется процессор, отвечающий за выполнение всех функций блока управления , это позволяет оптимизировать способ выполнения инструкций и даже добавлять новые инструкции.
Из-за сложности микропрограммного блока управления они выполняют декодирование инструкций намного медленнее, поэтому в зависимости от типа инструкции, когда дело доходит до опробования каждой инструкции, используется тот или иной тип блока управления.
В прошлом двигатели управлялись только механическими и пневматическими устройствами. С развитием технологий все больше производителей стали использовать электронные блоки управления для повышения производительности и эффективности создаваемых двигателей.
Сегодня основным компонентом этих систем является электронный блок управления двигателем, сокращенно ЭБУД или просто ЭБУ. Так же его называют Powertrain Control Module (PCM). ЭБУД является одним из блоков управления в современном автомобиле.
Из этой статьи вы узнаете: что такое электронный блок управления двигателя, где он находится, из чего состоит, по какому принципу работает, какие использует датчики при этом, какие функции выполняет.
Sentry Key Immobilizer Module (SKIM)
Модуль иммобилайзера. Расположен с нижней стороны рулевой колонки.
SKIM содержит радиочастотный приемопередатчик и микропроцессор. Модуль иммобилайзера передает и принимает сигналы от чипа в ключе зажигания.
Rain Sense Module (RSM)
RSM — модуль датчика дождя. Установлен рядом с зеркалом заднего вида таким образом, чтобы он соприкасался с лобовым стеклом.
Датчик дождя работает по принципу полного внутреннего отражения. В этой технике используется инфракрасное излучение. Инфракрасный свет излучается под углом 45 градусов на чистую область лобового стекла от датчика внутри автомобиля.
Когда идет дождь, мокрое стекло заставляет свет рассеиваться, и меньшее количество света отражается обратно на датчик. Когда количество отраженного света уменьшается до уровня, установленного программным обеспечением внутри датчика, он автоматически включает стеклоочистители.
Программное обеспечение также определяет скорость работы дворников в зависимости от количества влаги. Эта скорость изменяется в зависимости от влажности, определенной датчиком.
Читайте также: