Устройство ввода загружает программы в память, ЦП извлекает программные инструкции из памяти и генерирует данные перед выводом этих данных на устройство вывода. Эта компьютерная система была предложена Джоном фон Нейманом в 1940-х годах.
Персональный компьютер
Часы - это настоящие часы, которые контролируют всю систему.
Системная шина - это набор проводов, которые позволяют частям компьютера передавать данные по проводам, а другая часть считывает эти данные.
Процессор
ЦП выбирает и выполняет инструкции из основной памяти. Выполняемые им инструкции очень простые, такие как простое сложение и вычитание.
Работа процессора синхронизирована по часам.
Системная шина
Системная шина - это набор проводов, используемых для передачи данных между различными частями компьютера. Отправитель помещает сообщение в шину, а получатель снимает данные с шины.
Системная шина состоит из 3 компонентов:
- Адресная шина
- Шина данных
- Шина управления
Адресная шина используется для указания того, к каким ячейкам памяти необходимо обращаться, шина данных используется для передачи значений, а шина управления сообщает получателю, что делать с данными и адресами.
На самом деле автобусов, соединенных между собой, обычно несколько.
Должен быть один обмен данными на шину за цикл, иначе произойдет конфликт шины.
Устройства ввода / вывода
При выполнении операций ввода-вывода ЦП должен знать, когда устройство готово. Есть два способа сделать это:
При опросе ЦП периодически проверяет, готово ли устройство ввода-вывода, завершило ли его выполнение или имеет ли он ввод.
Прерывание - это когда устройство ввода-вывода прерывает работу ЦП, не позволяя ему завершить то, что он в настоящее время делает для обработки действий ввода-вывода.
объем памяти
Все программы и данные перед обработкой должны быть преобразованы в двоичную форму и сохранены в основной памяти.
Есть 3 типа памяти:
- RAM (оперативная память) для чтения и записи, энергозависимая. Формирует большую часть основной памяти.
- ROM (постоянное запоминающее устройство) Только чтение. Энергонезависимая. Используется для хранения системного загрузочного кода.
- Флэш-чтение и запись. Энергонезависимая. Используется в флеш-накопителях и твердотельных накопителях.
Память можно представить как последовательность слов, каждое из которых имеет свой уникальный адрес. Большинство современных систем имеют байтовую адресацию и часто используют 8-битные.
Упрощенный пример памяти:
Нулевой бит называется первым элементом адреса памяти (0-й элемент) и часто называется наименее значимым битом. Старший бит - это самый высокий элемент в списке памяти.
Единицы памяти
Слово формируется из одного или нескольких байтов. Отдельные биты имеют нулевую индексацию справа налево, как и большинство вещей в информатике. Нулевой бит может называться младшим значащим битом (LSB), поскольку он обычно имеет наименьшее влияние на общую сумму, поскольку представляет собой наименьшую единицу.
1 полубайт = 4 бита
1 байт = 8 бит
1 КБ (килобайт) = 210 (1024) байтов
1 МБ (мегабайт) = 210 КБ
1 ГБ (гигабайт) = 210 МБ
1 ТБ (терабайт) = 210 ГБ
Обратите внимание, что производители часто используют коэффициент 1000, а не 1024.
Инструкции машинного кода
Весь машинный код использует эти основные команды:
- Обмен данными
- Арифметика - сложение, вычитание, умножение, деление и т. Д.
- Логический - И, или нет, сдвиг, поворот
- Проверить и сравнить
- Поток управления - условный переход, безусловный переход, вызов подпрограммы и возврат
Формат инструкции
Самая простая инструкция может быть представлена одним байтом, в то время как другие могут потребовать много байтов.
‹Opcode› ‹Длина данных› ‹Спецификаторы операндов›
Код операции: указывает операцию, которую нужно выполнить (см. Предыдущий заголовок).
Data Len: Определяет длину данных, с которыми мы работаем.
Спецификаторы операндов: расположение исходных операндов и места назначения результатов. Часто один операнд действует и как источник, и как место назначения.
Режимы адресации
Расположение операндов указывается с использованием режимов адресации:
- Немедленно - значение операнда кодируется непосредственно в инструкции.
- Регистр - операнд находится в регистре ЦП.
- Прямой - операнд находится в основной памяти, инструкция кодирует его адрес
- Прямой регистр - инструкция определяет регистр, в котором хранится адрес основной памяти операнда.
ЦП
CPU управляется блоком управления. Управляющий модуль снабжает ALU операндами (операциями).
Блок артиметики и логики (ALU) выполняет сложение, вычитание, деление и умножение.
Регистры - это места хранения во внутреннем процессоре. Регистры быстрее ОЗУ. Регистры имеют индивидуальные имена.
регистр
Регистры очень быстрые.
IP называется указателем инструкции (иногда программным счетчиком), и он всегда содержит местоположение следующей инструкции.
IR называется Регистром инструкций. Регистр инструкций содержит текущую инструкцию для выполнения.
Некоторые регистры напрямую взаимодействуют с основной памятью, например:
- MAR - Регистр адреса памяти - Используется для хранения адреса элемента в основной памяти.
- MDR - Регистр данных памяти - хранит данные.
Цикл "выборка-выполнение"
Блок управления направляет цикл Fetch & Execute.
- Скопируйте адрес, содержащийся в IP, и переместите его в MAR. Отправьте запрос на чтение.
- Увеличить IP, чтобы указать на следующую инструкцию - мы увеличиваем здесь, поэтому нам не нужно ждать
- В MDR приходит инструкция - копируй в IR.
- Расшифруйте ИК, чтобы выяснить, что требуется
- Получите операнды и любые данные для работы с
- Осуществить казнь
- Перейти к шагу 1