🖧 Как код взаимодействует с оборудованием? |

🖧 Как код взаимодействует с оборудованием?

Статьи

Введение

Программное обеспечение определяет инструкции, которые должен выполнять компьютер.

Мы увидим, как эти инструкции копируются с диска в память и затем обрабатываются процессором

В данном обсуждении мы рассмотрим классический компьютер.

Квантовые компьютеры выходят за рамки этого обсуждения.

Они основаны на совершенно иных физических свойствах, чем их классические собратья.

В этом учебнике мы рассмотрим, как взаимодействуют программные и аппаратные компоненты.

Основы

Давайте рассмотрим некоторые основы электроники.

Биты

К этому моменту мы уже должны знать, что на логическом уровне бит представляет собой 1 или 0.

Однако на физическом уровне бит представляет собой электрический заряд, который переносится или хранится в каком-либо электронном компоненте.

Интегральные микросхемы

Интегральные микросхемы стали ключом к созданию современного ПК. Без них мы, скорее всего, не смогли бы иметь такие маленькие компьютеры, как сейчас.

Интегральная схема – это электрическая цепь, содержащая такие компоненты, как резисторы, конденсаторы, транзисторы и диоды, расположенные на тонком кремниевом листе.

Современный процессор – это интегральная схема, содержащая миллиарды таких микроскопических компонентов.

Поэтому, когда мы говорим о таких компонентах процессора, как ALU или блок управления, это фактически подсхемы в нем.

Выполнение программы

Теперь давайте посмотрим, как написанная нами программа воплощается в физические действия.

Машинный код

После написания кода нам нужно его скомпилировать.

Компиляция означает преобразование высокоуровневых инструкций в машинный код.

Машинный код – это двоичные данные, которые понимает процессор:

Эти данные могут работать только для конкретной архитектуры процессора, для которой мы компилировали.Архитектура (например, ×86 или ARM) имеет определенный набор инструкций, который определяет допустимые инструкции и соответствующие им операнды.

Набор инструкций находится в блоке управления.

Память

После чтения программы с диска система загружает ее в память.

На этом этапе мы называем ее процессом.

Для работы процесса требуются некоторые системные ресурсы.

Он должен где-то хранить свои инструкции (оперативная память), а затем где-то их выполнять (CPU или GPU).

В дальнейшем мы сосредоточимся на CPU:

На физическом уровне оперативная память представляет собой матрицу ячеек, в которых может храниться двоичный заряд.

Поэтому чтение или запись данных в эти ячейки приравнивается к обращению к адресу памяти.

Современные ячейки оперативной памяти основаны на конденсаторах.

Конденсатор – это электронный компонент, который накапливает заряд.

В оперативной памяти наличие заряда в конденсаторе означает двоичную цифру 1, а его отсутствие, или разряд, – двоичную цифру 0.

Для сохранения данных в этих ячейках памяти необходим постоянный электрический заряд.

Именно поэтому оперативная память теряет данные, когда мы выключаем компьютер.

ПРОЦЕССОР

Теперь рассмотрим центральный процессор. Он получает инструкции из оперативной памяти. Он может получить блок этих инструкций и хранить их в высокоскоростных ячейках памяти внутри процессора, называемых регистрами.

Загрузка инструкций в память и последующая отправка их в центральный процессор равносильна «выполнению» программы. На физическом уровне это достигается путем считывания данных из ячеек оперативной памяти и отправки их в центральный процессор.

Шины обеспечивают физическое соединение и связь между процессором и памятью. Они позволяют передавать между процессором и оперативной памятью такую информацию, как адреса, данные и управляющую информацию. Шины представляют собой набор параллельных проводников («проводов»), которые соединяют эти два устройства. Таким образом, 16-битная («16-проводная») шина может передавать 16 бит информации между оперативной памятью и процессором.

Цикл выборки-исполнения

Компьютер нуждается в механизме синхронизации, чтобы знать, в какой момент времени он выполняется. Мы называем это тактовым циклом.

Тактовый цикл – это такт (электрический импульс), который сообщает процессору о необходимости извлечь следующую инструкцию из памяти. Этот импульс действует как таймер, позволяющий процессору и другим компонентам координировать или синхронизировать свои действия.

Каждый такт соответствует одному циклу выборки-исполнения. Это означает, что каждый раз, когда часы тикают, процессор получает следующую инструкцию в памяти, декодирует и выполняет ее.

Компьютер непрерывно выполняет этот цикл fetch-execute до тех пор, пока не закончится программа – то есть пока не будет выполнена последняя инструкция – или пока он не выключится.

Заключение

В этой статье мы рассмотрели, как программное обеспечение взаимодействует с физическими компонентами, такими как оперативная память, процессор и даже встроенные устройства или периферия.

Для этого мы описали физический эквивалент таких распространенных операций, как чтение из памяти или выполнение вычислений.

см. также:

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий