Как работает процессор |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2024-12-12 22:24 Главное счетное устройство в компьютере — это процессор. В настольном компьютере процессор (так называемый x86) создан в соответствии с Гарвардской архитектурой. Она предполагает раздельную память команд и память данных. Память является адресуемой — каждая ячейка памяти имеет свой адрес — уникальный номер, который начинается с ноля и заканчивается числом (2^n - 1), где n — количество бит в числе адреса и всего адресов - 2^n. Почему первый адрес нулевой, а не число «1»? Это связано с двоичным представлением числа и с электрической схемой реализации такого представления. Надо сказать, что в языках программирования, структуры данных, такие как «массив», имеют первой ячейкой число «0», то есть, не «первый элемент массива», а «нулевой элемент массива». Программные счетчики циклов зачастую также начинаются с нуля. В 70-х годах 20 века были распространены компьютеры с архитектурой фон Неймана, например PDP 11 DEC (русский аналог - СМ-4). Для этой архитектуры характерна общая память (ОЗУ — оперативное запоминающее устройство) - место хранения для команд (инструкций процессора) и данных (входящей информации). То есть команды могут быть данными, а данные — командой. Известно также, что «компьютеры» бывают 32-битные и 64-битные. Что это такое? Это количество бит, которое ЭВМ обрабатывает за один такт. За отправную точку принято 8 бит (1 байт) и процессоры начинались с этого одного байта. Дальше появились 16-битные (2 байта), затем 32 и 64 битные (4 и 8 байт соответственно). Для исполнения команд процессора используется генератор тактовых импульсов. Частота тактовых импульсов определяет скорость вычислений. На примере PDP 11 DEC можно рассмотреть работу процессора (предполагается, что программа и данные уже загружены в ОЗУ компьютера). Эта ЭВМ имеет семь 16-битных регистров общего назначения, в том числе регистр адреса R7 (programm counter — счетчик команд), который можно программно перезаписать. И работает процессор примерно так. В счетчик команд помещается адрес ячейки ОЗУ, в которой находится первая команда исполняемой программы. Счетчик команд увеличивается на 2, затем выполняется текущая команда, адрес которой находился в счетчике команд до инкрементирования. Это происходит за один такт генератора импульсов. Затем цикл повторяется до окончания выполнения программы. Счетчик команд увеличивается ПЕРЕД выполнением текущей команды аппаратно (не программно), потому что он может быть изменен выполнением текущей команды уже с помощью программной инструкции. Если счетчик команд программно не менялся, то выполняется команда по адресу, следующему за текущей, последовательно. Адрес в счетчике команд (R7) увеличивается на 2, поскольку память адресуется побайтно, но в общем случае обрабатываются 2 байта за такт. Языки написания компьютерных программ делятся на языки высокого уровня и языки низкого уровня - машинно ориентированные. Языки высокого уровня — это Pascal (Паскаль), C (Си), C++ (Си плас плас), C# (Си шарп), Java (Джава), Python (Пайтон) и другие. Языки низкого уровня — это Ассемблеры. Архитектур процессоров множество, поэтому каждое семейство процессоров имеет свой Ассемблер. Процессор выполняет машинно ориентированные инструкции, и языки программирования высокого уровня «переводятся» на язык Ассемблер для данного процессора. «Переводчиком» с языка на язык выступает программа-транслятор. Трансляторы, в свою очередь, делятся на компиляторы и интерпретаторы. Компилятор, условно, принимает на входе текст исходной программы на языке высокого уровня и выдает текст программы на ассемблере (или в машинных кодах). Интерпретатор работает по-другому. Он берет строку текста программы языка высокого уровня, переводит и выполняет её, если она не содержит ошибок, не заботясь о нижеследующих программных инструкциях. Интересен также вопрос, почему современные ЭВМ считаются «цифровыми», поскольку были еще и аналоговые ЭВМ. Что такое «цифра» в компьютере и где она там находится. Компьютер «думает» транзисторами. Они являются основным элементом электрической схемы процессора. Транзистор — это полупроводниковый электронный элемент, который содержит p-n-p (или n-p-n) структуру. Также четко выделяется Коллектор, База и Эмиттер, которые соответственно подключены к p-n-p слоям. База находится между Коллектором и Эмиттером. Электрический ток Базы обеспечивает прохождение электрического тока между Коллектором и Эмиттером. То есть, ток Базы «запирает» или «открывает» транзистор. Такая работа транзистора реализует логический элемент «НЕ», инвертор. Подобным образом, на транзисторах, реализованы логические элементы «И» и «ИЛИ», что достаточно для организации логико-арифметической структуры процессора. Надо добавить, что логический «0» для транзистора — это 0-0,8 Вольт, а логическая «1» - от 2-х до 5 Вольт в Транзисторно-Транзисторной Логике (ТТЛ). То есть «цифра» в компьютерной электронике — это условная договоренность считать аналоговые уровни напряжения для транзистора нулем или единицей в соответствии с вышеизложенным текстом. Источник: vk.com Комментарии: |
|