Новости программы Industrial Software Engineering
Укажите свой email для того чтобы получать полезные материалы по индустриальной разработке программного обеспечения
Новости программы Industrial Software Engineering
Укажите свой email для того чтобы получать полезные материалы по индустриальной разработке программного обеспечения

Что нужно знать, чтобы изучать архитектуру ЭВМ

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

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

Самая первая вычислительная машина АБАК - счеты, но счеты - это не совсем компьютер. Компьютер обладает универсальностью. Чарльз Беббидж поставил на поток развитие компьютера.

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

  1. Разностная машина (1820-1833). Конструкция основывалась на использовании десятичной системы счисления. С помощью механизма вращения шестеренок, машина выдавала результат (механический калькулятор). Первая вычислительная машина находится в музее.

  2. Аналитическая машина. В стародавние времена было понятно из каких примерных элементов должна состоять вычислительная машина - ввод, вывод, и считающий элемент. Архитектура первого прототипа вычислительной машины состояла из: хранилища (память), "мельницы" (арифметическое устройство), устройства ввода-вывода. Эта архитектура есть и в современных компьютерах.

  3. Марк I и Марк II - это первые цифровые компьютеры, в которых появился "параллелизм". Кодировка чисел, система счисления, основанная на сложении, вычитании, умножении и делении.Вся вычислительная техника строится на способности человека управлять течением электрического тока. В компьютерах Марк I и Марк II управление электрическим током с помощью реле. То есть, реле притягивало контакт, либо нет.

  4. Эниак - это первый электронный цифровой вычислитель. ЭВМ - электронная вычислительная машина.

Давайте вернемся к идее "электронного вычислителя". Для этого нам нужно вспомнить Закон Ома. Для понимания схем повторим обозначения. 1 - проводник, 2 - резистор, тоже проводник, но с ограничением движения тока. 3 - источник питания (важно - большая палочка - это "+", маленькая "-"), 4 - конденсатор - накопитель заряда, 5 - лампочка, 6 - диод - проводит ток только в одну сторону, 7 - светодиод.

Ток течет от "+" к "-", в связи с этим его часто сравнивают с водой, вода течет сверху вниз. Поэтому все схемы рисуются от источника питания (батарейка) сверху вниз. Скорость силы тока зависит от сопротивления. По закону Ома - есть три величины, которые характеризуют любую сеть - напряжение, сопротивление и сила тока - U = I*R.

Напряжение измеряется в вольтах, ток в амперах, сопротивление в омах. Если проводить аналогию с водой, то напряжение - разность потенциалов, то есть, чем больше напряжение, тем больше энергии между двумя точками. Обратите внимание, уровни напряжения обозначают, например, +5, +2 ...0 не обозначают цифрой, 0 - обозначают GND (земля) - то есть, уровень напряжения, потенциал, которого равен нулю.

Сопротивление. Предположим, на схеме есть 2 сопротивления. Первое сопротивление - 10 Ом, второе - 100 Ом. Опираясь на закон Ома, можно сказать, что во втором случае сопротивление большое, значит количество "воды" в единицу времени во втором случае будет меньше. Проводимость - обратная величина сопротивлению. То есть, чем толще "труба", тем больше у нее проводимость, и тем меньше сопротивление.

Сила тока - количество "воды" в секунду через единицу площади.

Рассмотрим крайние случаи. Если в схему на первое место добавить проводник без сопротивления, то вся энергия потечет через него. В данном случае, ток равен бесконечности, произойдет короткое замыкание. Если замкнуть оба контакта батарейки, то она нагреется и взорвется. Не пытайтесь провести такой эксперимент, опасно! Почему это важно знать? Если в эту схему добавить диод, то он сгорит. Так как диод является хорошим проводником, то, чтобы диод не сгорел, надо подсчитать какого размера должно быть сопротивление, добавить его последовательно в схему. При последовательном подключении диода и сопротивления - сопротивление суммируется. При параллельном подключении сила тока распределяется между сопротивлениями.

ЭНИАК - это первый электронный цифровой вычислитель. Вся история цифровой техники опирается на способности человека управлять течением электрического тока - "течет, не течет" - это соответствует некоторым логическим состояниям, наличием бит-информации. Управление током = управлению битами. Если вернуться к реле, то можно описать интересный эффект: пропустив ток через накрученный провод, возникнет сила, которая будет продвигать металлический предмет, вставленный внутрь, в определенном направлении. Этот эффект - электродвижущая сила. Движение металлического предмета вверх или вниз можно использовать в управлении током.

ЭНИАК - электронный цифровой вычислитель, основан на радиолампах. В его устройстве - колба с вакуумом, катод (проводник), анод (другой проводник), сетка, которая расположена между двумя проводниками. Оба проводника разъединены, ток через них не течет. Но, если начать прогревать нижний проводник, то он начинает испарять электроны, которые сосредоточатся вокруг проводника. Если в этот момент на сетку подать напряжение, то электроны устремятся к другому проводнику, и возникнет электрический ток. Увеличение подачи напряжения, усиливает силу тока, за счет самой сетки. Сетка нужна для того, чтобы управлять проводимостью. То есть, подавая напряжение на сетку, мы управляем контактом "катод-анод". Это аналог предшественника транзистора.

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

На слайде изображена схема электронной лампы и транзистора. На схеме - лампочка, сопротивление и транзистор. Сопротивление предотвращает перегорание лампочки, транзистор управляет горением этой лампочки (если мы подает напряжение - лампочка горит). Использовать транзистор можно не только для включения и выключения лампочки, но и для усиления сигнала. Если на базу транзистора подать незначительный сигнал, то он усилится.

Некоторые электрические элементы цепи, которые необходимо знать:

  • стрелки, которые идут через элемент, обозначают его изменяемый номинал. Например, если стрелка проходит через сопротивление - это резистор, с изменяемым сопротивлением. Если стрелка проходит через конденсатор - это конденсатор, с изменяемой емкостью. Конденсатор либо накапливает энергию, либо ее отдает (разряжается, заряжается). Пример простого применения конденсатора. У вас есть выключатель, источник тока, который при включении дает импульсную помеху, и прибор, который боится помех. При добавлении в схему конденсатора, сглаживается импульсная помеха.

  • Основные логические элементы для работы с битами информации.

  • Торсионные усилители, которые потребуются для работы с оцифровыванием.

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

Есть стандартная нотация и русская.

Слайд "реализация на транзисторах". Как сделать "И" на транзисторах? Есть какой-то проводник, и на выходе нам нужно получить результат "И". Нужно подать сигнал на оба транзистора. Для того, чтобы на выходе получить сигнал "ИЛИ" только в том случае, когда либо первый транзистор, либо второй, либо оба имеют сигнал - нужно открыть первый или второй при параллельном соединении. "И" "НЕ" - для получения этого сигнала, нужно сделать "И", а потом его инвертировать. Но мы делаем наоборот, сначала инвертируем сигнал.

Сигналы 1 и 0, они не "больше-меньше", они нормированы.

Обратите внимание, что все схемы рисуются без батарейки, есть верхний уровень (VCC) и нижний уровень.

"ИЛИ" "НЕ" - сначала делаем "НЕ".

Связь цифрового и аналогового мира. Когда мы обсуждаем сигналы - это 1 и 0. Нас не волнует какое задано напряжение, нам важно, что у нас есть какая-то база (земля, 0) и есть какое-то верхнее напряжение (VCC) - то есть, уровень единичного сигнала. если посмотреть на шкалу, то увидим, что она делится на диапазоны. На этой шкале есть диапазон, где сигнал не определен ( не 0, не 1). Скорость работы всей электронной техники зависит от скорости переключения. Переключение с 0 до 1 не происходит мгновенно, всегда есть диапазон, где сигнал нарастает или убывает. Вся электронная техника сделана так, чтобы сделать полное переключение сигнала максимально прогнозируемым.

Мы никогда не связывает сигналы по номинальному значению. Сигнал равен 1, если он попал в зону 1, нулю, если попал в зону нуля. Очень популярная ошибка при сборке схем - висящие контакты. Висящий контакт использует сигнал и переключает компонент. Висящий контакт берет сигнал из воздуха. Все контакты в цепи должны быть притянуты. Необходимо взять сопротивление и притягиваем к "земле" - в этом случае висячий контакт.

Что такое процессор? Это электронная схема, у которой есть "ножки" (входы, выходы). Процессор имеет единицы и нули на входе и выходе, следовательно, мы управляем ими. Когда процессор не проводит сигнал, его сопротивление бесконечно. А когда процессор проводит сигнал, его сопротивление равно нулю (то есть проводник). Отсюда, можно сделать вывод, что если при проведении электричества не поставить сопротивление, то сгорит какой-то из элементов схемы (диод, процессор...). Элементы, потребляющие большое количества тока, соединяются в схеме через транзистор.

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

  1. Адресность - каждая ячейка памяти должна иметь номер, чтобы к ней можно было "обратиться"

  2. Однородность памяти - адреса должны быть непрерывны и однородны.

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

Чем визуально отличаются архитектура Фон-Неймана и Гарвардская? В Гарвардской архитектуре - инструкции и данные лежат в разной памяти.

Плюсы и минусы: архитектура Фон-Неймана - меньше памяти, меньше шин, но для того, чтобы прочитать и данные и инструкции, нам надо два раза обратиться. В Гарвардской архитектуре мы можем за один прием обратиться к двум видам памяти и получить данные внутри процессора.

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