Когда мы работаем с данными, следует помнить, что современный компьютер не единое целое, он представляет собой совокупность отдельных модулей.
Модуль, отвечающий за обработку данных называется центральным процессором или центральным процессорным устройством.
Центральный процессор (ЦП; также центральное процессорное устройство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство) — электронный блок, либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
Ниже представлена упрощенная схема ЦПУ
Упрощенная схема процессора
Арифметико-логическое устройство (АЛУ) (англ. arithmetic and logic unit, ALU) — блок процессора, который под управлением устройства управления (УУ) служит для выполнения арифметических и логических преобразований (начиная от элементарных) над данными, называемыми в этом случае операндами. Разрядность операндов обычно называют размером или длиной машинного слова. Выполняет основные логические и арифметические операции
Блок управления
Блок управления (Управляющий автомат, устройство управления процессором) — блок, устройство, компонент аппаратного обеспечения компьютеров. Представляет собой конечный дискретный автомат. Структурно устройство управления состоит из: дешифратора команд (операций), регистра команд, узла формирования (вычисления) текущего исполнительного адреса, счётчика команд.
Кэш (англ. cache, от фр. cacher — «прятать»; произносится [kæʃ] — «кэш») — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удалённого источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных. Это самая быстрая память компьютера.
Кэш команд предназначается для передачи адреса отправителя, что обращается к процессору, и самой команды.
Кэш данных передаёт сами данные.
Регистр процессора — блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большей частью недоступен программисту: например, при выборке из памяти очередной команды она помещается в регистр команд, к которому программист обратиться не может.
Имеются также регистры, которые, в принципе, программно доступны, но обращение к ним осуществляется из программ операционной системы, например, управляющие регистры и теневые регистры дескрипторов сегментов. Этими регистрами пользуются в основном разработчики операционных систем.
Счётчик команд (также PC = program counter, IP = instruction pointer, IAR = instruction address register, СЧАК = счётчик адресуемых команд) — регистр процессора, который указывает, какую команду нужно выполнять следующей.
В большинстве процессоров после выполнения команды, если она не нарушает последовательности команд (например, команда перехода), счётчик автоматически увеличивается (постинкремент). Понятие счётчика команд тесно связано с архитектурой фон Неймана, о которой мы расскажем позднее, одним из принципов которой является выполнение команд друг за другом в определённой последовательности.
Регистр команд (также Регистровый файл (register file)) — модуль микропроцессора (CPU), содержащий в себе реализацию регистров процессора. Современные регистровые файлы, обычно реализованы как многопортовый массив быстрой статической памяти. Такие массивы отличаются явным разделением портов чтения и записи, тогда как классическая многопортовая обычно позволяет как читать, так и записывать через любой порт.
В регистре команд хранятся часто используемые команды, так как обращение в регистр гораздо быстрее, чем в оперативную память.
Так как ЦПУ должны обрабатывать данные, которых становится всё больше и больше, то необходимо наращивать мощность процессора.
В связи с этим было бы правильно вспомнить закон Мура. В 1965 году (через шесть лет после изобретения интегральной схемы) один из основателей Intel Гордон Мур в процессе подготовки выступления нашел закономерность: появление новых моделей микросхем наблюдалось спустя примерно год после предшественников, при этом количество транзисторов в них возрастало каждый раз приблизительно вдвое.
Закон Мура (англ. Moore's law) — эмпирическое наблюдение, изначально сделанное Гордоном Муром, согласно которому (в современной формулировке) количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца. Часто цитируемый интервал в 18 месяцев связан с прогнозом Давида Хауса из Intel, по мнению которого, производительность процессоров должна удваиваться каждые 18 месяцев из-за сочетания роста количества транзисторов и увеличения тактовых частот процессоров.
Существует 2 способа увеличить работоспособность процессора:
1. Увеличение площади процессора
При увеличении площади мы можем разместить больше различных элементов процессора.
Однако, данный способ имеет и обратную негативную сторону. При увеличении площади увеличивается расстояние между модулями, следовательном увеличивается время на одну операцию (частота), так как электрическому сигналу нужно пройти больший путь, то есть снижается работоспособность.
2. Уменьшение элементов процессора и увеличение их плотности
Процессоры становятся все меньше и меньше, и за счет этого их мощность увеличивается. Это способ, который сейчас используют.
Однако, данный способ скоро исчерпает себя, так как процессоры могут стать настолько маленькими, что обычные законы физики перестанут действовать, и мощнее их сделать не получится.
Ниже приведены 2 наиболее перспективных решения
1. Квантовый компьютер
Квантовый компьютер — вычислительное устройство, которое использует явления квантовой механики (квантовая суперпозиция, квантовая запутанность) для передачи и обработки данных. Квантовый компьютер (в отличие от обычного) оперирует не битами (способными принимать значение либо 0, либо 1), а кубитами, имеющими значения одновременно и 0, и 1. Теоретически, это позволяет обрабатывать все возможные состояния одновременно, достигая существенного превосходства над обычными компьютерами в ряде алгоритмов.
Полноценный универсальный квантовый компьютер является пока гипотетическим устройством, сама возможность построения которого связана с серьёзным развитием квантовой теории в области многих частиц и сложных экспериментов; разработки в данной области связаны с новейшими открытиями и достижениями современной физики. На конец 2010-х годов практически были реализованы лишь единичные экспериментальные системы, исполняющие фиксированные алгоритмы небольшой сложности.
Идея о квантовых вычислениях была высказана Юрием Маниным в 1980 году. Одна из первых моделей квантового компьютера была предложена Ричардом Фейнманом в 1981 году. Вскоре Пол Бениофф описал теоретические основы построения такого компьютера.
Возможность создания квантового вычислительного механизма впервые была доказана математиком Питером Шором, за что он получил Филдсовскую премию. Алгоритм Шора был разработан Питером Шором в 1994 году. Семь лет спустя, в 2001 году, его работоспособность была продемонстрирована группой специалистов IBM.
В конце 2001 года IBM заявила об успешном тестировании 7-кубитного квантового компьютера, реализованного с помощью ЯМР. На нём был исполнен алгоритм Шора и были найдены сомножители числа 15.
В июле 2017 года группа физиков под руководством Михаила Лукина, сооснователя Российского квантового центра и профессора Гарвардского университета, создала программируемый 51-кубитный квантовый симулятор.
В октябре 2019 года компания Google объявила, что ей удалось построить 53-кубитный квантовый процессор Sycamore и продемонстрировать "квантовое превосходство" над обычными компьютерами.
2. Нейронные сети
Искусственная нейронная сеть (ИНС) — математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети У. Маккалока и У. Питтса. После разработки алгоритмов обучения получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.
ИНС представляет собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональных компьютерах). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие по отдельности простые процессоры вместе способны выполнять довольно сложные задачи.
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумленных», частично искажённых данных.
1943 — У. Маккалок и У. Питтс формализуют понятие нейронной сети в фундаментальной статье о логическом исчислении идей и нервной активности. В начале своего сотрудничества с Питтсом Н. Винер предлагает ему вакуумные лампы в качестве идеального на тот момент средства для реализации эквивалентов нейронных сетей.
1949 — Д. Хебб предлагает первый алгоритм обучения.
2007 — Джеффри Хинтоном в университете Торонто созданы алгоритмы глубокого обучения многослойных нейронных сетей. Успех обусловлен тем, что Хинтон при обучении нижних слоев сети использовал ограниченную машину Больцмана (RBM — Restricted Boltzmann Machine). Глубокое обучение по Хинтону — это очень медленный процесс. Необходимо использовать много примеров распознаваемых образов (например, множество лиц людей на разных фонах).
После обучения получается готовое быстро работающее приложение, способное решать конкретную задачу (например, осуществлять поиск лиц на изображении). Функция поиска лиц людей на сегодняшний день стала стандартной и встроена во все современные цифровые фотоаппараты. Технология глубокого обучения активно используется интернет-поисковиками при классификации картинок по содержащимся в них образам. Применяемые при распознавании искусственные нейронные сети могут иметь до 9 слоёв нейронов, их обучение ведётся на миллионах изображений с отыскиваемым образом.
Поддержите канал 👇
📢 Предлагается оценить степень твоей удовлетворённости каналом, по шкале от 1 до 5. Где 5 – будет соответствовать вариант «полностью удовлетворён», а 1 – «не удовлетворён».
#pythonснуля #программированиенаpython #урокиpython #python3 #информатика
✔ Не забываем ставить лайк и подписываться на мой канал: https://dzen.ru/lecturer_abramenkova?share_to=link
Впереди много познавательного!
-----
✔ Будем дружить https://vk.com/lecturer_abramenkova
Благодарю каждого за репост!)