Что такое архитектура компьютера
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
Видеолекции для
профессионалов
- Свидетельства для портфолио
- Вечный доступ за 120 рублей
- 311 видеолекции для каждого
Кафедра Естественно-научных дисциплин
Лекция по теме 3.1. Архитектура компьютера и основные характеристики
для студентов очной формы обучения
по специальности 40.02.02«Правоохранительная деятельность»
Одобрены на заседании кафедры Естественно-научных дисциплин
протокол № 1 от 31 августа 2020 г.
Вопросы для рассмотрения:
1. Принципы фон Неймана
Архитектура компьютера – это его устройство и принципы взаимодействия его основных элементов – логических узлов, среди которых основными являются процессор, внутренняя память (основная и оперативная), внешняя память и устройства ввода-вывода информации (периферийные) (Рис. 1).
Рис. 1. Условная модель структуры архитектуры ЭВМ
Принципы, лежащие в основе архитектуры ЭВМ, были сформулированы в 1945 году Джоном фон Нейманом, который развил идеи Чарльза Беббиджа, представлявшего работу компьютера как работу совокупности устройств: обработки, управления, памяти, ввода-вывода.
Принципы фон Неймана.
1. Принцип однородности памяти. Над командами можно выполнять такие же действия, как и над данными.
2. Принцип адресуемости памяти. Основная память структурно состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
3. Принцип последовательного программного управления. Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
4. Принцип жесткости архитектуры. Неизменяемость в процессе работы топологии, архитектуры, списка команд.
Ссылки
Wikimedia Foundation . 2010 .
3. Этапы развития ЭВМ
Из чего состоит Windows?
Абстракция или же разбиение на компоненты есть во всех сферах программирования и интуитивно понятно что Windows тоже делится на какие-то компоненты. Под компонентом понимается какая-то единица функциональности — ООП класс, файл, dll, папка. Компоненты на диаграмме ниже могут быть как индивидуальными *.sys, *.dll файлами, так и просто набором API сгруппированным логически через добавление префикса к имени функции, старая часть системы написана на C, а он не поддерживает классы. Новые части пишутся нередко на C++. В укрупнённом виде Винда выглядит так:
Давайте быстренько пробежимся по её компонентам снизу вверх:
- Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
- HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.
3.1 Архитектура компьютеров
Основные характеристики компьютеров
Архитектура компьютера – это его устройство и принципы взаимодействия его основных элементов – логических узлов, среди которых основными являются
– внутренняя память (основная и оперативная),
– устройства ввода-вывода информации (периферийные).
Каждый логический узел компьютера выполняет свои функции.
Центральный процессор [1] — электронный блок либо интегральная схема, исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
Рисунок 1 – Процессор
– обработка данных (выполнение над ними арифметических и логических операций);
– управление всеми остальными устройствами компьютера.
– Тактовая частота (в МГц, ГГц) и подразумевает под собой количество тактов (вычислений) в секунду.
– Частота шины – тактовая частота (в МГц), с которой происходит обмен данными между процессором и системной шиной материнской платы.
– Множитель – коэффициент умножения, на основании которого производится расчет конечной тактовой частоты процессора, методом умножения частоты шины на коэффициент (множитель).
– Разрядность (32/64 bit) — максимальное количество бит информации, которые процессор может обрабатывать и передавать одновременно.
– Кэш-память первого уровня, L1 — это блок высокоскоростной памяти, который расположен на ядре процессора, в него помещаются данные из оперативной памяти. Сохранение основных команд в кэше L1 повышает быстродействие процессора, так как обработка данных из кэша происходит быстрее, чем при непосредственном взаимодействии с ОЗУ.
– Кэш-память второго уровня, L2 — это блок высокоскоростной памяти, выполняющий те же функции, что и кэш L1, однако имеющий более низкую скорость и больший объем.
– Кэш-память третьего уровня обычно присутствует в серверных процессорах или специальных линейках для настольных ПК.
– Ядро – определяет большинство параметров центрального процессора: тип сокета, диапазон рабочих частот и частоту работы FSB. характеризуется следующими параметрами:
· Техпроцесс Масштаб технологии (мкм), которая определяет размеры полупроводниковых элементов, составляющих основу внутренних цепей процессора.
· Напряжение, которое необходимо процессору для работы и характеризует энергопотребление.
· Тепловыделение – мощность (Вт), которую должна отводить система охлаждения, чтобы обеспечить нормальную работу процессора.
· Тип сокета – то есть разъём для установки процессора на материнской плате.
Оперативная память [2] или оперативное запоминающее устройство (ОЗУ) — энергозависимая часть системы компьютерной памяти, в которой во время работы компьютера хранится выполняемый машинный код (программы), а также входные, выходные и промежуточные данные, обрабатываемые процессором.
Рисунок 2 – Оперативная память
Функции оперативной памяти:
– прием информации от других устройств;
– передача информации по запросу в другие устройства компьютера.
Характеристики оперативной памяти:
– тип DDR — 1, 2, 3, 4;
– тайминги – длительность импульсов и пауз обновления ячеек памяти;
– тактовая частота оперативной памяти — частота в МГц (количество импульсов в секунду), с которой работает оперативная память;
– тактовая частота шины — частота канала, по которому идёт обмен данными между оперативной памятью и процессором;
– пропускная способность — это сколько за секунду времени может быть «пропущено» данных через плату оперативной памяти;
Жёсткий диск, винчестер (накопитель на жёстких магнитных дисках, или НЖМД) [3] — запоминающее устройство произвольного доступа, основанное на принципе магнитной записи.
Винчестер является основным накопителем данных в большинстве компьютеров. Именно на жёсткий диск устанавливается операционная система или другое программное обеспечение.
Рисунок 3 – Жёсткий диск
Характеристики жёстких дисков:
– скорость вращения шпинделя;
– наработка на отказ;
– среднее время ожидания;
– энергопотребление и тепловыделение.
Видеокарта [4] — устройство, преобразующее графический образ, хранящийся как содержимое памяти компьютера (или самого адаптера), в форму, пригодную для дальнейшего вывода на экран монитора.
Рисунок 4 – Видеокарта
– производитель видеопроцессора (GPU);
– частота GPU, МГц;
– количество занимаемых слотов на материнской плате;
– объем видеопамяти, ГБ;
– тактовая частота видеопамяти, МГц;
– шина обмена данными с памятью, бит;
– поддержка SLI и CrossFire;
– поддержка разных версий DirectX;
– необходимость дополнительного питания.
В основе архитектуры современных ЭВМ лежит магистрально-модульный принцип (рис. 26), который позволяет комплектовать нужную конфигурацию и производить необходимую модернизацию. Он опирается на шинный принцип обмена информацией между модулями
Рисунок 5 – Магистрально-модульный принцип построения компьютера
Системная шина или магистраль компьютера включает в себя три многоразрядные шины:
– шину данных – для передачи различных данных между устройствами компьютера ;
– шину адреса – для адресации пересылаемых данных, то есть для определения их местоположения в памяти или в устройствах ввода/вывода ;
– шину управления, которая включает в себя управляющие сигналы, которые служат для временного согласования работы различных устройств компьютера, для определения направления передачи данных, для определения форматов передаваемых данных и т. д .
Основой построения модульного устройства компьютера является материнская (или системная) плата [5] — печатная плата, которая содержит основную часть устройства (рис. 6).
Рисунок 6 – Материнская плата
На системной (материнской) плате размещаются:
– генератор тактовых импульсов;
– контроллеры внешних устройств;
– звуковая и видеокарты;
2. Гарвардская архитектура
Компьютеры, построенные на принципах фон Неймана, имеют классическую архитектуру, но, кроме нее, существуют другие типы архитектуры. Например, Гарвардская. Ее отличительными признаками являются:
· хранилище инструкций и хранилище данных представляют собой разные физические устройства;
· канал инструкций и канал данных также физически разделены.
3. Этапы развития ЭВМ
В истории развития вычислительной техники качественный скачок происходил примерно каждые 10 лет. Такой скачок связывает с появлением нового поколения ЭВМ. Идея делить машины появилась по причине того, что за время короткой истории своего развития компьютерная техника проделала большую эволюцию как в смысле элементной базы (лампы, транзисторы, микросхемы и др.), так и в смысле изменения ее структуры, появления новых возможностей, расширения областей применения и характера использования. Более подробно все этапы развития ЭВМ показаны на Рис. 2. Для того чтобы понять, как и почему одно поколение сменялось другим, необходимо знать смысл таких понятий, как память, быстродействие, степень интеграции и т. д.
Рис. 2. Поколения ЭВМ
Среди компьютеров не классической, не фон Неймановской архитектуры, можно выделить так называемые нейрокомпьютеры. В них моделируется работа клеток головного мозга человека, нейронов, а также некоторых отделов нервной системы, способных к обмену сигналами.
Многообразие компьютеров
В настоящее время рынок персональных компьютеров представлен огромным количеством моделей различных конфигураций. Основными факторами, влияющими на дальнейшее развитие компьютерной индустрии, станет снижение цен, появление в этом сегменте рынка все большего числа производителей. Компьютерный бизнес — одна из самых динамично развивающихся сфер как российской, так и мировой экономики.
Также положительную динамику рынка персональных компьютеров связывают с глобальной «мобилизацией» потребителей. Сегодня все больше рядовых пользователей переходят с громоздких настольных машин на портативные ПК — например, ноутбуки и нетбуки. Немудрено, что при таком невероятном многообразии компьютеров пользователю практически невозможно выбрать персональный компьютер самостоятельно.
Существует различные системы классификации ЭВМ:
– по производительности и быстродействию;
– по уровню специализации;
– по типу используемого процессора;
– по особенностям архитектуры;
Рассмотрим одну из таких классификаций.
1. Персональные компьютеры
1.1 Стационарные компьютеры. Занимают постоянное место, например, компьютерный стол. Обладают большими вычислительными мощностями чем переносные гаджеты. Выделим основные виды подобных устройств:
– Десктопы. Самые мощные и производительные персональные компьютеры, основным компонентом которого является системный блок, занимающий постоянное место. К блоку подключаются периферийные устройства – клавиатура, мышь, монитор и прочее. Такое устройство является модульным, то есть отдельные его части подлежат замене, что позволяет постоянно обновлять и улучшать показатели работы компьютера.
– Неттопы. По сути это те же десктопы, но они обладают меньшими габаритами и более экономным энергопотреблением. Их производительность меньше, но для некоторых задач она не настолько важна, а вот отсутствие шума для некоторых покупателей является приоритетом. Такой девайс занимает меньше места и его значительно проще разместить в домашних или офисных условиях, что также имеет высокую ценность в некоторых ситуациях.
– Моноблоки. У данного вида стационарных ПК отсутствует видимый системный блок – все его компоненты размещены в мониторе, который так же служит корпусом для комплектующих. Такие устройства обладают высокой эстетичностью и меньшими требованиями к наличию свободного места, а топовые моноблоки практически не уступают по характеристикам привычным десктопам.
1.2. Портативные компьютеры – переносные персональные компьютеры, имеют высокие требования к мобильности конструкции и ее весу, способны работать в автономном режиме, для увеличения которого производители зачастую жертвуют производительностью системы. Этот вид ПК классифицируют следующим образом:
– Ноутбуки – переносные компьютеры, оснащенные батареей, которая позволяет устройство работать без подключения к электрической сети. В одном корпусе такого гаджета одновременно находятся все необходимые элементы – монитор, клавиатура, процессор и прочая начинка.
– Нетбуки – это компактные ноутбуки, которые приносят производительность в жертву легкости веса и упрощения мобильности, они отлично подходят для тех, кто любит работать не только за определенным рабочим местом, но и буквально где придется – в поезде, кафе или библиотеке.
– Планшеты – нечто среднее между смартфонами и ноутбуками. Обладают довольной большой диагональю экрана порядка 10 дюймов, весят заметно меньше ноутбуков. Управляются посредством сенсорного дисплея, хотя, например, планшетные ноутбуки обладают полноценной клавиатурой.
– Карманные компьютеры и смартфоны. Форм-фактор КПК был крайне популярен на заре нулевых, когда мобильные телефоны еще не предоставляли широких возможностей. Пришедшие на смену КПК смартфоны проигрывают в производительности более тяжелым и мощным ноутбукам, зато они имеют неоспоримое достоинство – они умещаются в карман и их всегда можно иметь под рукой.
2. Вычислительные серверы – благодаря таким компьютерам обеспечивается доступ к сетям, в том числе и интернету. Все файлы и информация, которую пользователь видит на экране монитора при веб-серфинге, хранится на таких серверах. Для таких компьютеров огромную роль играет производительность, но есть и более важная характеристика подобных систем – надежность. Вычислительные серверы должны без сбоев работать весь срок своей службы. Такие типы компьютеров всегда имеют резервные копии данных, что сказывается на общей концепции их архитектуры.
В основе такой аппаратуры лежит параллельная обработка информации, потому серверы стали пионерами в развитии многопроцессорности и многоядерности, которая сегодня используется уже повсеместно.
3. Суперкомпьютеры –профессиональные машины с наиболее высокой на сегодняшний день производительностью, они используются в научных лабораториях и крупном бизнесе. Такое устройство представляет собой целый комплекс компьютерных устройств, который может занимать огромные помещения. Каждый составной элемент подобной махины отвечает за свою конкретную задачу, подобная структуризация и векторная организация позволяют решать самые сложные проблемы, требующие невероятного объема расчетов.
4. Другие виды – многие устройства, которые привычно воспринимаются опосредовано от компьютерной составляющей, например, банкоматы или игровые приставки, также по большому счету являются компьютерами. Бытовая техника тоже имеет в себе встроенные компьютеры, ответственные за выполнение ряда функций. Роботы, которые постепенно получают все большее распространение в нашей жизни, так же являются компьютерными устройствами.
Основы Операционной Системы
Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям 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, папку, набор функций с общим префиксом, пространство имён, слой в архитектуре.
Полезное
4. Функции некоторых узлов компьютера
Каждый логический узел компьютера выполняет свои функции. Функции процессора (Рис. 3):
- обработка данных (выполнение над ними арифметических и логических операций);
- управление всеми остальными устройствами компьютера.
Рис. 3. Центральный процессор компьютера
Программа состоит из отдельных команд. Команда включает в себя код операции, адреса операндов (величин, которые участвуют в операции) и адрес результата.
Выполнение команды делится на следующие этапы:
формирование адреса следующей команды;
вычисление адресов операндов;
формирование признака результата;
Не все из этапов присутствуют при выполнении любой команды (зависит от типа команды), однако этапы выборки, декодирования, формирования адреса следующей команды и исполнения операции имеют место всегда. В определенных ситуациях возможны еще два этапа:
· реакция на прерывание.
Оперативная память (Рис. 4) устроена следующим образом:
· прием информации от других устройств;
· передача информации по запросу в другие устройства компьютера
Рис. 4. ОЗУ (Оперативное запоминающее устройство) компьютера
Более подробно о разделении на клиент-сервер
Разделение на клиент и сервер реализовано при помощи встроенной функциональности 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 удобный компромисс между десятичной и двоичной системами, средами людей и машин.
Программный способ разделения на клиент-сервер (режим ядра-режим пользователя) гораздо скучнее перечисленных выше механизмов. Процессы и потоки могут быть помечены специальными аттрибутами или же мы можем хранить список указателей на потоки/процессы и проверять их в коде. Если вы хоть раз делали авторизацию в веб-приложении, то хорошо понимаете о чём я говорю.
См. также
Многообразие внешних устройств, подключаемых к компьютеру
Периферийные [6] (внешние) устройства персонального компьютера подключаются к его интерфейсам и предназначены для выполнения вспомогательных операций. Благодаря этим устройствам компьютерная система приобретает гибкость и универсальность.
Мы воспринимаем центральный процессор как «мозг» компьютера, но что это значит на самом деле? Что именно происходит внутри миллиардов транзисторов, благодаря которым работает компьютер? В нашей новой мини-серии из четырёх статей мы рассмотрим процесс создания архитектуры компьютерного оборудования и расскажем о принципах его работы.
В этой серии мы расскажем о компьютерной архитектуре, проектировании процессорных плат, VLSI (very-large-scale integration), производстве чипов и тенденциях будущего в области вычислительной техники. Если вам было интересно разобраться в подробностях работы процессоров, то начинать изучение лучше с этой серии статей.
Мы начнём с очень высокоуровневого объяснения того, чем занимается процессор и как строительные блоки соединяются в функционирующую конструкцию. В том числе мы рассмотрим процессорные ядра, иерархию памяти, предсказание ветвлений и другое. Во-первых, нам нужно дать простое определение тому, что делает ЦП. Простейшее объяснение: процессор следует набору инструкций для выполнения определённой операции над множеством входящих данных. Например, это может быть считывание значения из памяти, затем прибавление его к другому значению, и наконец сохранение результата в память по другому адресу. Это может быть и нечто более сложное, например, деление двух чисел, если результат предыдущего вычисления больше нуля.
Программы, например, операционная система или игра, сами по себе являются последовательностями инструкций, которые должен выполнять ЦП. Эти инструкции загружаются из памяти и в простом процессоре выполняются одна за другой, пока программа не завершится. Разработчики программного обеспечения пишут программы на высокоуровневых языках, например, на C++ или на Python, но процессор не может их понимать. Он понимает только единицы и нули, поэтому нам нужно каким-то образом представить код в этом формате.
Программы компилируются в набор низкоуровневых инструкций, называемых языком ассемблера, который является частью архитектуры набора команд (Instruction Set Architecture, ISA). Это набор команд, которые должен понимать и выполнять ЦП. Одними из наиболее распространённых ISA являются x86, MIPS, ARM, RISC-V и PowerPC. Точно так же, как синтаксис написания функции на C++ отличается от функции, выполняющей то же действие в Python, у каждой ISA есть свой отличающийся синтаксис.
Эти ISA можно разбить на две основных категории: с фиксированной и с переменной длиной. ISA RISC-V использует инструкции с фиксированной длиной, и это означает, что определённое заранее заданное количество битов в каждой инструкции определяет, какой тип имеет эта инструкция. В x86 всё иначе, в нём используются инструкции с переменной длиной. В x86 инструкции могут кодироваться различным способом с разным количеством битов для разных частей. Из-за такой сложности декодер инструкций в процессоре x86 обычно является самой сложной частью всего устройства.
Инструкции с фиксированной длиной обеспечивают простое декодирование благодаря постоянной структуре, но ограничивают общее количество инструкций, которые могут поддерживаться ISA. В то время, как у популярных версий архитектуры RISC-V есть примерно 100 инструкций и все они имеют открытый исходный код, архитектура x86 проприетарна и никто не знает, сколько всего инструкций в ней есть. Обычно считается, что существует несколько тысяч инструкций x86, но точное число никто не публикует. Несмотря на различия между ISA, по сути все они имеют одинаковую базовую функциональность.
Пример некоторых инструкций RISC-V. Опкод справа имеет длину 7 бит и определяет тип инструкции. Кроме того, каждая инструкция содержит биты, определяющие используемые регистры и выполняемые функции. Так ассемблерные инструкции разбиваются на двоичный код, чтобы его понимал процессор.
Теперь мы готовы включить компьютер и начать выполнять программы. Выполнение инструкции имеет несколько базовых частей, которые разбиты на множество этапов процессора.
Первый этап — передача инструкции из памяти в процессор для начала выполнения. На втором этапе инструкция декодируется, чтобы ЦП мог понять, какого типа эта инструкция. Существует множество типов, в том числе арифметические инструкции, инструкции ветвления и инструкции памяти. После того, как ЦП узнает, инструкцию какого типа он выполняет, операнды для инструкции берутся из памяти или внутренних регистров ЦП. Если вы хотите сложить число A и число B, то не можете выполнять сложение, пока не знаете значений A и B. Большинство современных процессоров являются 64-битными, то есть размер каждого значения данных составляет 64 бита.
64 бита — это ширина регистра процессора, канала передачи данных и/или адреса памяти. Для обычных пользователей это означает, какой объём информации компьютер может обработать за один раз, и лучше всего это понять в сравнении с младшим родственником по архитектуре — 32-битным процессором. 64-битная архитектура может обрабатывать за раз в два раза больше бит информации (64 бит против 32).
Получив операнды для инструкции, процессор переносит их на этап выполнения, где производится операция над входящими данными. Это может быть сложение чисел, выполнение логических манипуляций с числами или просто передача чисел без их изменения. После вычисления результата может потребоваться доступ к памяти для его сохранения, или процессор может просто хранить значение в одном из своих внутренних регистров. После сохранения результата ЦП обновляет состояние различных элементов и переходит к следующей инструкции.
Это объяснение, разумеется, сильно упрощено, и большинство современных процессоров для повышения эффективности разбивает эти несколько этапов на 20 или даже больше мелких этапов. Это означает, что хотя процессор начинает и завершает в каждом цикле несколько инструкций, может потребоваться 20 или больше циклов, чтобы выполнить одну инструкцию от начала до конца. Такая модель обычно называется pipeline («трубопровод», на русский обычно переводят как «конвейер»), потому что для заполнения трубопровода жидкостью и полного её прохождения требуется время, но после заполнения расход (вывод данных) будет постоянным.
Пример 4-этапного конвейера. Разноцветные прямоугольники обозначают независящие друг от друга инструкции.
Весь проходимый инструкцией цикл — это очень тщательно скоординированный процесс, но не все инструкции могут завершаться одновременно. Например, сложение выполняется очень быстро, а деление или загрузка из памяти может занимать тысячи циклов. Вместо останова всего процессора до момента завершения одной медленной инструкции большинство современных процессоров выполняют их с изменением очерёдности. То есть они определяют, какую из инструкций выгоднее всего выполнить в текущий момент и буферизируют другие инструкции, которые пока не готовы. Если текущая инструкция ещё не готова, то процессор может перепрыгнуть вперёд по коду, чтобы посмотреть, готово ли что-то ещё.
Кроме выполнения с изменением очерёдности современные процессоры применяют технологию под названием суперскалярная архитектура. Это означает, что в любой момент времени процессор одновременно выполняет на каждом этапе конвейера множество инструкций. Он может также ожидать ещё сотни других, чтобы начать их выполнение, и для того, чтобы иметь возможность одновременного выполнения нескольких инструкций внутри процессоров есть несколько копий каждого этапа конвейера. Если процессор видит, что к выполнению готовы две инструкции, и между ними нет зависимости, то он не ждёт, пока они завершатся по отдельности, а выполняет их одновременно. Одна из популярных реализаций такой архитектуры называется Simultaneous Multithreading (SMT) и также известна, как Hyper-Threading. Процессоры Intel и AMD сейчас поддерживают двухсторонний SMT, а IBM разработала чипы, поддерживающие до восьми SMT.
Для завершения этого тщательно скоординированного выполнения процессор кроме базового ядра имеет множество дополнительных элементов. В процессоре есть сотни отдельных модулей, у каждого из которых есть специфическая функция, но мы рассмотрим только основы. Самыми важными и выгодными являются кэши и предсказатель переходов. Есть и другие дополнительные структуры, которые мы рассматривать не будем: буферы переупорядочивания, таблицы переименования регистров и станции резервирования.
Необходимость кэшей иногда может сбивать с толку, ведь они хранят данные, как и ОЗУ или SSD. Но кэши отличаются задержкой и скоростью доступа. Даже несмотря на то, что память ОЗУ чрезвычайно быстра, она на порядки величин медленнее, чем нужно для ЦП. Для ответа с передачей данных ОЗУ может потребоваться сотни циклов, и процессору в это время будет нечем заняться. А если данных нет в ОЗУ, то могут потребоваться десятки тысяч циклов для получения доступа к ним с SSD. Без кэшей процессоры бы постоянно стопорились.
Обычно процессоры имеют три уровня кэша, образующих так называемую иерархию памяти. Кэш L1 — самый маленький и быстрый, L2 находится посередине, а L3 — самый крупный и медленный из всех кэшей. Выше кэшей в иерархии находятся мелкие регистры, хранящие во время вычислений единственное значение данных. По порядку величин эти регистры являются самыми быстрыми устройствами хранения в системе. Когда компилятор преобразует высокоуровневую программу в язык ассемблера, он определяет наилучший способ использования этих регистров.
Когда ЦП запрашивает данные из памяти, то сначала проверяет, хранятся ли эти данные уже в кэше L1. Если да, то можно всего за пару циклов получить к ним доступ. Если их там нет, то процессор проверяет L2, а затем и кэш L3. Кэши реализованы таким образом, что в общем случае они прозрачны для ядра. Ядро просто запрашивает данные по указанному адресу памяти, и тот уровень в иерархии, на котором они есть, отвечает ему. При переходе к последующим уровням в иерархии памяти размер и задержки обычно растут на порядки величин. В конце концов, если ЦП не находит данные ни в одном из кэшей, то обращается в основную память (ОЗУ).
В обычном процессоре каждое ядро имеет два кэша L1: один для данных и другой для инструкций. Кэши L1 обычно имеют в целом объём порядка 100 килобайт и размер очень варьируется в зависимости от чипа и поколения процессора. Кроме того, обычно для каждого ядра есть свой кэш L2, хотя в некоторых архитектурах он может быть общим для двух ядер. Кэши L2 обычно имеют размер несколько сотен килобайт. Наконец, есть единственный кэш L3, общий для всех ядер, имеющий размер порядка десятков мегабайт.
Когда процессор выполняет код, самые часто используемые инструкции и значения данных кэшируются. Это значительно ускоряет выполнение, потому что процессору не нужно постоянно обращаться за нужными данными в основную память. Во второй и третьей частях серии мы подробнее поговорим о том, как реализованы эти системы памяти.
Кроме кэшей одним из самых важных строительных блоков современного процессора является точный предсказатель переходов. Инструкции переходов (ветвлений) схожи с конструкциями «if» для процессора. Один набор инструкций выполняется, если условие истинно, а другой — если оно ложно. Например, нам нужно сравнить два числа, и если они равны, выполнить одну функцию, а если не равны, то выполнить другую. Эти инструкции ветвления применяются чрезвычайно часто и могут составлять примерно 20% всех инструкций в программе.
На первый взгляд кажется, что эти инструкции ветвления не должны вызывать проблем, но их правильное выполнение может оказаться очень сложным для процессора. В любой момент времени процессор может находиться в процессе одновременного выполнения десяти или двадцати инструкций, поэтому очень важно знать, какие инструкции выполнять. Может потребоваться 5 циклов, чтобы определить, что текущая инструкция — это переход и ещё 10 циклов, чтобы определить истинность условия. В это время процессор уже может начать выполнение десятков дополнительных инструкций, даже не зная, действительно ли это подходящие для выполнения инструкции.
Чтобы обойти эту проблему, все современные высокопроизводительные процессоры используют методику под названием «упреждение» (speculation). Это означает, что процессор отслеживает инструкции ветвления и гадает, будет ли выполнен условный переход, или нет. Если предсказание верно, то процессор уже начал выполнять последующие инструкции, и это обеспечивает рост производительности. Если предсказание неверно, то процессор останавливает выполнение, удаляет все неверные инструкции, которые он начал выполнять, и начинает заново с правильной точки.
Такие предсказатели перехода — одни из самых простейших разновидностей машинного обучения, потому что предсказатель изучает поведение ветвей в процессе выполнения. Если он предсказывает неверно слишком часто, то начинает обучаться правильному поведению. Десятилетия исследований методик предсказания переходов привели к тому, что в современных процессорах точность предсказаний превышает 90%.
Хотя упреждение обеспечивает огромный рост производительности, потому что процессор может выполнять инструкции, которые уже готовы, вместо того, чтобы ожидать в очереди завершения выполняемых, оно в то же время создаёт уязвимости в защите. Знаменитая атака Spectre эксплуатирует баги в предсказании и упреждении переходов. Атакующий использует специально подобранный код, чтобы заставить процессор упреждающе выполнить код, благодаря чему происходит утечка значений из памяти. Для предотвращения утечки данных необходимо было переделать конструкцию отдельных аспектов упреждения, что привело к небольшому падению производительности.
За последние десятилетия используемая в современных процессорах архитектура прошла долгий путь. Инновации и разработка продуманной структуры привели к повышению производительности и более оптимальному использованию аппаратных средств. Однако разработчики центральных процессоров тщательно хранят секреты их технологий, поэтому мы не можем точно узнать, что происходит у них внутри. Тем не менее, фундаментальные принципы работы процессоров стандартированы для всех архитектур и моделей. Intel может добавлять свои секретные ингредиенты, чтобы повысить долю попаданий кэша, а AMD может добавить улучшенный предсказатель переходов, но процессоры обеих компаний выполняют одинаковую задачу.
В этом первом взгляде и обзоре мы рассмотрели основы работы процессоров. В следующей части мы расскажем, как разрабатываются компоненты, входящие в состав процессоров, поговорим о логических элементах, тактовых частотах, управлении питанием, принципиальных электросхемах и другом.
Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
4. Функции некоторых узлов компьютера
Смотреть что такое "Компьютерная архитектура" в других словарях:
8 бит (компьютерная архитектура) — У этого термина существуют и другие значения, см. 8 бит. В компьютерной архитектуре восьмиразрядные целые, адреса памяти, или другие типы данных, размером не более 8 бит (один октет). Восьмибитные ЦПУ и АЛУ архитектуры, основанные на… … Википедия
Архитектура программного обеспечения — (англ. software architecture) это структура программы или вычислительной системы, которая включает программные компоненты, видимые снаружи свойства этих компонентов, а также отношения между ними. Этот термин также относится к… … Википедия
Компьютерная инженерия — (также называется инженерией компьютерных систем) дисциплина, которая объединяет информатику и компьютерные сетевые технологии. Компьютерные инженеры это специалисты по компьтерным сетям и технологиям. Компьютерные инженеры, как… … Википедия
Компьютерная игра — … Википедия
Архитектура компьютера — Для улучшения этой статьи желательно?: Добавить иллюстрации. Викифицировать статью. Архитектура вычислительной машины (Архитектура … Википедия
Компьютерная платформа — У этого термина существуют и другие значения, см. Платформа. Возможно, эта статья содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае она может быть выставлена на удаление. Дополнительные сведения могут б … Википедия
Компьютерная музыка — (англ. Computer music) термин, который первоначально использовался в кругу специалистов профессионалов для обозначения области инженерных разработок, связанных с цифровым синтезом музыкальных звуков, цифровой обработкой звуковых сигналов,… … Википедия
Архитектура ARM — ARM процессор производства Conexant, ставится в основном в маршрутизаторах (ранее Advanced RISC Machine усовершенствованная ARM Limited. Эта архитектура широко используется в разработке встраиваемых систем. Это связанно с тем, что данные… … Википедия
Компьютерная память — НЖМД объёмом 44 Мб 1980 х годов выпуска и CompactFlash на 2 Гб 2000 х годов выпуска … Википедия
Компьютерная шина — Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16), по сравнению с обычным 32 битным разъемом шины Компьютерная шина (от англ. computer bus, bidirectional universal switch двунаправленный универсальный коммутатор) в архитектуре компьютера… … Википедия
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
Видеолекции для
профессионалов
- Свидетельства для портфолио
- Вечный доступ за 120 рублей
- 311 видеолекции для каждого
Курс лекций
по дисциплине «Информатика»
Разработчики
Максимова О.Г., преподаватель.
Максимова А.В., студент.
5. Магистрально-модульный принцип
В основе архитектуры современных ЭВМ лежит магистрально-модульный принцип (Рис. 5). Модульный принцип позволяет комплектовать нужную конфигурацию и производить необходимую модернизацию. Он опирается на шинный принцип обмена информацией между модулями. Системная шина или магистраль компьютера включает в себя несколько шин различного назначения. Магистраль включает в себя три многоразрядные шины:
Рис. 5. Магистрально-модульный принцип построения ПК
Шина данных используется для передачи различных данных между устройствами компьютера; шина адреса применяется для адресации пересылаемых данных, то есть для определения их местоположения в памяти или в устройствах ввода/вывода; шина управления включает в себя управляющие сигналы, которые служат для временного согласования работы различных устройств компьютера, для определения направления передачи данных, для определения форматов передаваемых данных и т. д.
Такой принцип справедлив для различных компьютеров, которые можно условно разделить на три группы:
Архитектура компьютера — логическая организация и структура аппаратных ресурсов вычислительной системы и программного обеспечения. Это фундаментальная схема и функциональное описание требований и реализации основных узлов ЭВМ. В основе архитектуры лежит организация памяти и способы её адресации.
В основе архитектуры персонального компьютера является Архитектура фон Неймана, в которой программы и данные хранятся совместно в памяти компьютера. В противоположность её, гарвардская архитектура предполагает раздельное хранение в памяти программ и данных.
В понятие архитектуры компьютера также входят следующие компоненты: структурная схема ЭВМ, средства и способы доступа к элементам этой структурной схемы, организация и разрядность интерфейсов ЭВМ, набор и доступность регистров, организация памяти и способы её адресации, набор и формат машинных команд процессора, способы представления и форматы данных, правила обработки прерываний.
2. Гарвардская архитектура
1. Принципы фон Неймана
5. Магистрально-модульный принцип
Рекомендованная литература:
1.Е.В. Михеева// Информационные технологии в профессиональной деятельности: Учебник для студентов учреждений среднего профессионального образования /Е.В. Михеева, О.И. Титова. М.: Издательский центр «Академия», 2019.-416с.
Насколько глубоко мы погрузимся в тему?
Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.
Уровень операционной системы. ОС можно рассматривать как:
- Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
- Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, 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 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.
Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.
Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.
Читайте также: