Что делает процессор обрабатывает одну программу в данный момент времени
Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.
Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.
Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Два основных компонента процессора
Устройство управления
Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.
Существует два типа реализации УУ:
- УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
- УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.
УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Арифметико-логическое устройство
Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.
27–28 ноября, Москва, Беcплатно
Большинство логических элементов имеют два входа и один выход.
Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
Схема арифметического полусумматора
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
По функциональному назначению триггеры делятся на несколько групп:
- RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
- JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
- T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
- D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.
Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.
Принцип действия RS-триггера
Память (ОЗУ)
ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.
Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Команды (инструкции)
Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:
- Арифметические: сложение, вычитание, умножение и т. д.
- Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
- Информационные: move , input , outptut , load и store .
- Команды перехода: goto , if . goto , call и return .
- Команда останова: halt .
Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Группу инструкций принято называть набором команд (англ. instruction set).
Тактирование процессора
Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.
Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.
Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.
Выполнение инструкций
Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.
Ниже рассмотрен пример набора команд, который суммирует два числа:
- LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, <1100 1000> . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
- LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
- ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
- STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .
Вот такие операции нужны, чтобы сложить два числа.
Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.
У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.
Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).
Поток инструкций
Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.
Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.
Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.
Центральный процессор является основным и самым главным элементом системы. Благодаря нему выполняются все задачи связанные с передачей данных, исполнением команд, логическими и арифметическими действиями. Большинство пользователей знают, что такое ЦП, но не разбираются в принципе его работы. В этой статье мы постараемся просто и понятно объяснить, как работает и за что отвечает CPU в компьютере.
Как работает компьютерный процессор
Перед тем, как разобрать основные принципы работы CPU, желательно ознакомиться с его компонентами, ведь это не просто прямоугольная пластина, монтируемая в материнскую плату, это сложное устройство, образующееся из многих элементов. Более подробно с устройством ЦП вы можете ознакомиться в нашей статье, а сейчас давайте приступим к разбору главной темы статьи.
Выполняемые операции
Операция представляет собой одно или несколько действий, которые обрабатываются и выполняются компьютерными устройствами, в том числе и процессором. Сами операции делятся на несколько классов:
- Ввод и вывод. К компьютеру обязательно подключено несколько внешних устройств, например, клавиатура и мышь. Они напрямую связаны с процессором и для них выделена отдельная операция. Она выполняет передачу данных между CPU и периферийными девайсами, а также вызывает определенные действия с целью записи информации в память или ее вывода на внешнюю аппаратуру.
- Системные операции отвечают за остановку работы софта, организовывают обработку данных, ну и, кроме всего, отвечают за стабильную работу системы ПК.
- Операции записи и загрузки. Передача данных между процессором и памятью осуществляется с помощью посылочных операций. Быстродействие обеспечивается одновременной запись или загрузкой групп команд или данных.
- Арифметически-логические. Такой тип операций вычисляет значения функций, отвечает за обработку чисел, преобразование их в различные системы исчисления.
- Переходы. Благодаря переходам скорость работы системы значительно увеличивается, ведь они позволяют передать управление любой команде программы, самостоятельно определяя наиболее подходящие условия перехода.
Все операции должны работать одновременно, поскольку во время активности системы за раз запущено несколько программ. Это выполняется благодаря чередованию обработки данных процессором, что позволяет ставить приоритет операциям и выполнять их параллельно.
Выполнение команд
Обработка команды делится на две составные части – операционную и операндную. Операционная составляющая показывает всей системе то, над чем она должна работать в данный момент, а операндная делает то же самое, только отдельно с процессором. Выполнением команд занимаются ядра, а действия осуществляются последовательно. Сначала происходит выработка, потом дешифрование, само выполнение команды, запрос памяти и сохранение готового результата.
Благодаря применению кэш-памяти выполнение команд происходит быстрее, поскольку не нужно постоянно обращаться к ОЗУ, а данные хранятся на определенных уровнях. Каждый уровень кэш-памяти отличается объемом данных и скоростью выгрузки и записи, что влияет на быстродействие систем.
Взаимодействия с памятью
ПЗУ (Постоянное запоминающее устройство) может хранить в себе только неизменяемую информацию, а вот ОЗУ (Оперативная память) используется для хранения программного кода, промежуточных данных. С этими двумя видами памяти взаимодействует процессор, запрашивая и передавая информацию. Взаимодействие происходит с использованием подключенных внешних устройств, шин адресов, управления и различных контролеров. Схематически все процессы изображены на рисунке ниже.
Если разобраться о важности ОЗУ и ПЗУ, то без первой и вовсе можно было бы обойтись, если бы постоянное запоминающее устройство имело намного больше памяти, что пока реализовать практически невозможно. Без ПЗУ система работать не сможет, она даже не запустится, поскольку сначала происходит тестирование оборудования с помощью команд БИОСа.
Работа процессора
Стандартные средства Windows позволяют отследить нагрузку на процессор, посмотреть все выполняемые задачи и процессы. Осуществляется это через «Диспетчер задач», который вызывается горячими клавишами Ctrl + Shift + Esc.
В разделе «Быстродействие» отображается хронология нагрузки на CPU, количество потоков и исполняемых процессов. Кроме этого показана невыгружаемая и выгружаемая память ядра. В окне «Мониторинг ресурсов» присутствует более подробная информация о каждом процессе, отображаются рабочие службы и связанные модули.
Сегодня мы доступно и подробно рассмотрели принцип работы современного компьютерного процессора. Разобрались с операциями и командами, важностью каждого элемента в составе ЦП. Надеемся, данная информация полезна для вас и вы узнали что-то новое.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Поток, процесс, задача, операционная систем а , программа, программировани е — это все звенья одной системы. Что такое потоки в процессоре? Что такое процесс в программировании? Что такое потоки и процессы в операционной системе? Эти и другие вопросы часто ставят врасплох начинающих программистов. Во всех этих определениях можно не запутаться, если понимать , о чем и дет речь. Сегодня в стать е м ы разложим все «по полкам» простым и понятным языком.
Процессы и потоки в операционной систем е ( ОС)
оперативная память;
время процессоров.
Что такое потоки в операционной системе и процессоре
Что такое потоки в процессоре
один с 4 ядрами по 2 потока, то есть всего 8 потоков;
второй с 8 яд рами по одному потоку, то есть тоже 8 потоков.
Заключение
Что такое потоки в процессоре? Это «каналы» для одновременного исполнения команд. Чем больше потоков, тем больше команд может обработать процессор, а значит , многопоточная программа будет работать быстрее.
Что такое процесс в ОС? Простыми словами, процессом в операционной системе является каждое отдельно запущенное приложение. Процессы в ОС не взаимосвязаны, поэтому могут работать по отдельности.
Что такое поток в программировании? Это возможность разрабатываемой программы работать параллельно в несколько «веток » ( потоков). Потоки в программировании взаимосвязаны. Потоки одной программы не могут работать отдельно друг от друга.
Потоки, процессы, задачи являются очень интересной и обширной темой. Сегодня мы лишь приоткрыли занавес по этой тематике, чтобы вы имели представлени е об этих терминах.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Для успешного «общения» с компьютером вредно воспринимать его как черный ящик, который вот-вот выдаст что-то неожиданное. Чтобы понимать реакцию компьютера на Ваши действия, нужно знать как он устроен и как работает.
как работает большинство вычислительных устройств (к которым относятся не только персональные компьютеры).
Как хранится информация на компьютере
Компьютер хранит, передаёт и обрабатывает информацию в виде нолей «0» и единиц «1» , то есть в двоичной системе счисления .
Например, десятичное число « 9 » он видит как двоичное число « 1001 ».
В виде нолей и единиц хранятся и все данные , которые необходимо обработать, и все программы , которые руководят процессом обработки.
Например, фотографию компьютер видит так (только первые две строчки файла из 527 строк):
Так человек видит изображение:
Компьютер видит набор «0» и «1»
(первые две строчки файла):
1111 1111 1101 1000 1111 1111 1110 0000
0000 0000 0001 0000 0100 1010 0100 0110
0100 1001 0100 0110 0000 0000 0000 0001
0000 0001 0000 0000 0000 0000 0000 0001
0000 0000 0000 0001 0000 0000 0000 0000
1111 1111 1101 1011 0000 0000 0100 0011
0000 0000 0000 0011 0000 0010 0000 0010
0000 0011 0000 0010 0000 0010 0000 0011
А текст для компьютера выглядит так:
Человек видит текст:
Компьютер опять видит набор «0» и «1»:
0100 1001 0101 0100 0010 1101 0111 0101
0111 0010 0110 1111 0110 1011 0110 1001
0010 1110 0111 0010 0111 0101
Сегодня мы не будем разбираться в тонкостях вычислений и преобразований, посмотрим на процесс в общем.
Где хранится информация
Когда информация занесена в компьютер (записана), то она хранится на специальном устройстве – накопителе данных . Обычно накопитель данных – это жесткий диск ( винчестер ).
Жестким диском это устройство называется из-за конструкции. Внутри его корпуса находится один или несколько твердых блинов (металлических или стеклянных), на которых и хранятся все данные (текстовые документы, фотографии, фильмы и т.д.) и установленные программы (операционная система, прикладные программы, как Word, Excel, и др.).
Жесткий диск (накопитель данных) хранит программы и данные
Информация на жестком диске хранится и после выключения компьютера.
Что обрабатывает всю информацию в компьютере
Основная задача компьютера – обрабатывать информацию , то есть выполнять вычисления. Большую часть вычислений выполняет специальное устройство – процессор . Это сложная микросхема, содержащая сотни миллионов элементов (транзисторов).
Процессор – обрабатывает информацию
Что в данный момент времени делать процессору говорит программа, она указывает, какие данные необходимо обработать и что с ними нужно сделать.
Схема обработки данных
Программы и данные загружаются с накопителя (жесткого диска).
Но жесткий диск – относительно медленное устройство , и если бы процессор ждал, пока будет считываться информация, а потом записываться после обработки обратно, то он бы долго оставался без дела.
Не оставим процессор без дела
Поэтому между процессором и жестким диском установили более быстрое запоминающее устройство – оперативную память (оперативное запоминающее устройство, ОЗУ). Это небольшая печатная плата, на которой находятся быстрые микросхемы памяти.
Оперативная память – ускоряет доступ процессора к программам и данным
В оперативную память заранее считываются с жёсткого диска все необходимые программы и данные. Во время работы процессор обращается к оперативной памяти , считывает команды программы, которая говорит какие данные нужно взять и как именно их обработать.
При выключении компьютера содержимое оперативной памяти не сохраняется в ней (в отличие от жесткого диска).
Процесс обработки информации
Итак, теперь мы знаем, какие устройства участвуют в обработке информации. Посмотрим теперь на весь процесс вычислений.
Когда компьютер выключен, все программы и данные хранятся на жестком диске. При включении компьютера и запуске программы , происходит следующее:
1. Программа с жесткого диска заносится в оперативную память и сообщает процессору, какие загрузить данные в оперативную память.
2. Процессор поочередно выполняет команды программы, порциями обрабатывая данные, взяв их из оперативной памяти.
3. Когда данные обработаны, результат вычислений процессор возвращает в оперативную память и берет следующую порцию данных.
4. Результат работы программы возвращается на жесткий диск и сохраняется.
Ввод и вывод информации
Чтобы компьютер получил информацию для обработки, её нужно ввести. Для этого используются устройства ввода данных :
- Клавиатура (с помощью неё мы вводим текст и управляем компьютером);
- Мышь (с помощью мыши мы управляем компьютером);
- Сканер (заносим изображение в компьютер);
- Микрофон (записываем звук) и т.д.
Для вывода результата обработки информации используются устройства вывода данных :
- Монитор (выводим изображение на экран);
- Принтер (выводим текст и изображение на бумагу);
- Акустические системы или «колонки» (слушаем звуки и музыку);
Кроме того, мы можем вводить и выводить данные на другие устройства с помощью:
- Внешних накопителей(с них мы копируем уже имеющиеся данные в компьютер):
- флэшка,
- компакт-диск (CD или DVD),
- переносной жесткий диск,
- дискета;
- Компьютерной сети (получаем данные с других компьютеров через Интернет или городскую сеть).
Если в нашу схему добавить устройства ввода-вывода, то получится вот такая диаграмма:
Ввод, обработка и вывод данных
То есть компьютер работает с ноликами и единичками, а когда информация поступает на устройство вывода, она переводится в привычные нам образы (изображение, звук).
Читайте также: