Компьютер имеет отдельную память команд и отдельную память данных в
Среди известных в настоящее время систем с кэш-памятью наиболее встречаемым является алгоритм LRU. ^
Алгоритмы согласования содержимого кэш-памяти и основной памяти
В процессе вычислений ЦП может не только считывать имеющуюся информацию, но и записывать новую, обновляя тем самым содержимое кэш-памяти. С другой стороны, многие устройства ввода/вывода умеют напрямую обмениваться информацией с основной памятью. В обоих вариантах возникает ситуация, когда содержимое строки кэша и соответствующего блока ОП перестает совпадать. В результате на связанное с основной памятью устройство вывода может быть выдана «устаревшая» информация, поскольку все изменения в ней, сделанные процессором, фиксируются только в кэш-памяти, а процессор будет использовать старое содержимое кэш-памяти вместо новых данных, загруженных в ОП из устройства ввода.
Для разрешения первой из рассмотренных ситуаций (когда процессор выполняет операцию записи) в системах с кэш-памятью предусмотрены методы обновления основной памяти, которые можно разбить на две большие группы: метод сквозной записи (write through) и метод обратной записи (write back).
По методу сквозной записи прежде всего обновляется слово, хранящееся в основной памяти. Если в кэш-памяти существует копия этого слова, то она также обновляется. Если же в кэш-памяти отсутствует нужная копия, то либо из основной памяти в кэш-память пересылается блок, содержащий обновленное слово (сквозная запись с отображением); либо этого не делается (сквозная запись без отображения).
:Главное достоинство метода сквозной.записи состоит в том, что когда строка в кэш-памяти назначается для хранения другрго блока, то удаляемый блок можно ' не возвращать в основную память, поскольку его копия там уже имеется. Метод достаточно прост в реализации. К сожалению, эффект от использования кэш-памяти (сокращение времени доступа) в отношении к операциям записи здесь отсутствует. Данный метод применен в микропроцессорах i486 фирмы Intel.
Определенный выигрыш дает егр модификация, известная как метод буфери -зированной сквозной запцси. Информация сначала записывается в кэш-память и в специальный буфер, работающий по схеме FIFO. Запись в основную память производится уже из буфера, а процессор, не дожидаясь ее окончания, может сразу же продолжать свою работу. Конечно, соответствующая логика управления должна заботиться о том, чтобы своевременно «опустошать» заполненный буфер. При использовании буферизации процессор полностью освобождается от работы с ОП.
Согласно методу обратной записи, слово заносится только в кэш-память. Если соответствующей строки в кэш-памяти нет, то нужный блок сначала пересылается из ОП, после чего запись все равно выполняется исключительно в кэш-память. При замещении строки ее необходимо предварительно переслать в соответствующее место основной памяти. Для метода обратной записи, в отличие от алгоритма сквозной записи, характерно то, что при каждом чтении из основной памяти осуществляются две пересылки между основной и кэш-памятью.
У рассматриваемого метода есть разновидность — метод флаговой обратной записи. Когда в какой-то строке кэша производится изменение, устанавливается связанный с этой строкой бит изменения (флажок). При замещении строка из кэшпамяти переписывается в ОП только тогда, когда ее флажок установлен в 1. Ясно, что эффективность флаговой обратной записи несколько выше. Такой метод используется в микропроцессорах класса i486 и Pentium фирмы Cyrix.
В среднем обратная запись на 10% эффективнее сквозной записи, но для ее реализации требуются и повышенные аппаратные затраты. С другой стороны, практика показывает, что операции записи составляют небольшую долю от общего количества обращений к памяти. Так, в [194] приводится число 16%. Другие авторы оценивают долю операций записи величинами в диапазоне от 5 до 34%. Таким обра зом, различие по быстродействию между рассмотренными методами невелико.
Теперь рассмотрим ситуацию, когда в основную память из устройства ввода, минуя процессор, заносится новая информация и неверной становится копия, хранящаяся в кэш-памяти. Предотвратить подобную несогласованность позволяют два приема. В первом случае система строится так, чтобы ввод любой информации в ОП автоматически сопровождался соответствующими изменениями в кэш-памяти. Для второго подхода «прямой» доступ к основной памяти допускается только через кэш-память.
Когда в микропроцессорах впервые стали применять внутреннюю кэш-память, ее обычно использовали как для команд, так и для данных; Такую кэш-память Принято называть смешанной, а соответствующую архитектуру — Принстонской (Prin- ' ceton architecture), по названию университета, где разрабатывались ВМ с единой памятью для команд и данных, то есть соответствующие классической архитектуре фон-Неймана. Сравнительно недавно стало обычным разделять кэш-память на две — отдельно для команд и отдельно для данных. Подобная архитектура получила название Гарвардской (Harvard architecture), поскольку именно в Гарвардском университете был создан компьютер «Марк-1» (1950 год), имевший раздельные ЗУ для команд и данных.
Смешанная кэш-память обладает тем преимуществом, что при заданной емкости ей свойственна более высокая вероятность попаданий по сравнению с разделен ной, поскольку в ней оптимальный баланс между командами и данными устанавливается автоматически. Так, если в выполняемом фрагменте программы обраще ния к памяти связаны в основном с выборкой команд, а доля обращений к данным относительно мала, кэш-память имеет тенденцию насыщаться командами, и на оборот.
С другой стороны, при раздельной кэш-памяти выборка команд и данных может производиться одновременно, при этом исключаются возможные конфликты. Последнее обстоятельство существенно в системах, использующих конвейеризацию команд, где процессор извлекает команды с опережением и заполняет ими буфер или конвейер.
В табл. 5.7 приведены основные параметры внутренней кэш-памяти для наиболее распространенных типов микропроцессоров.
Основу центрального процессора ПЭВМ составляет микропроцессор (МП) - обрабатывающее устройство, служащее для арифметических и логических преобразований данных, для организации обращения к ОП и ВНУ и для управления ходом вычислительного процесса. В настоящее время существует большое число разновидностей микропроцессоров, различающихся назначением, функциональными возможностями, структурой, исполнением. Наиболее существенными классификационными различиями между ними чаще всего выступают:
Обобщенная структурная схема 32-разрядного микропроцессора x86 (серии Pentium) приведена на рис.15.3.
Условно микропроцессор можно разделить на три части: исполнительный блок ( Execution Unit - EU ), устройство сопряжения с системной магистралью ( Bus Interface Unit - BIU ) и блок управления микропроцессором ( Control Unit - CU ).
В исполнительном блоке находятся: арифметический блок ( кэш данных - DATE CACHE , микросхемы арифметико-логического устройства - АЛУ, регистр флагов), регистры общего назначения (РОН) EAX, EBX, ECX, EDX ; общие регистры ESI , EDI , ESP , EBP .
В регистре флагов каждый разряд имеет строго определенное назначение. Обычно разряды регистра флагов устанавливаются аппаратно при выполнении очередной операции в зависимости от получаемого в АЛУ результата. При этом фиксируются такие свойства получаемого результата, как нулевой результат, отрицательное число, переполнение разрядной сетки АЛУ и т.д.
Рис. 15.3. Обобщенная структурная схема 32-разрядного микропроцессора
Эти регистры используются для операций с данными, такими как сравнение, математические операции или запись данных в память. Регистр СХ чаще всего применяется как счетчик циклов.
Общие регистры - ESP , EBP , ESI , EDI также 32-битные, младшая половина которых доступна как регистры S P, B P, SI, DI .
Регистр ESP указывает на адрес вершины стека (адрес, куда будет заноситься следующая переменная командой PUSH ).
Регистр ЕВР содержит адрес базы, который может использоваться при работе со стеком.
Регистр ESI - адрес источника, обычно содержит адрес начала блока информации для операций типа "переместить блок", а регистр EDI - адрес приемника (назначения) в этой операции.
Блок управления микропроцессором содержит сегментные регистры , системные регистры и блок выработки управляющих сигналов микропроцессора.
Сегментные регистры CS, DS, ES, FS, GS, SS имеют длину по 16 бит и используются для формирования физических адресов команд и данных в основной памяти.
CS - сегмент кода исполняемой в данный момент программы.
DS - сегмент данных исполняемой программы, т.е. константы, строковые ссылки и т.д.
SS - сегмент стека исполняемой программы.
ES, FS, GS - дополнительные сегменты, которые в некоторых программах могут не использоваться.
Системные регистры GDTR и LDTR являются регистрами глобальной и локальной дескрипторных таблиц . GDTR имеет длину 48 бит, LDTR - 16 бит (точнее, 16 бит - это только "видимая" часть этого регистра).
Регистр IDTR (таблицы дескрипторов прерываний - DTR ) имеет длину 48 бит, 32 из которых являются базовым адресом таблицы дескрипторов прерываний ( IDT ), а 16 - смещением этого адреса (пределом).
Регистр TR является регистром состояния задачи. "Видимая" его часть имеет длину 16 бит и содержит селектор дескриптора. "Скрытая" часть регистра содержит загружаемые автоматически базовый адрес точки входа, предел и атрибуты задачи.
Структурная схема блока выработки управляющих сигналов микропроцессора приведена на рис.15.4.
Основу его составляют счетчик команд , АЛУ, конвейер команд и группа управляющих, отладочных и тестовых регистров.
Регистр EIP является указателем адреса команды ( Instruction Pointer ), которая будет выбираться в конвейер команд в качестве очередной команды (в отечественной литературе такое устройство называется счетчик команд ).
Рис. 15.4. Структурная схема блока выработки управляющих сигналов
Конвейер команд МП хранит несколько команд, что позволяет при выполнении линейных программ совместить подготовку очередной команды с выполнением текущей. Команды в конвейер команд поступают с внутренней магистрали микропроцессора и накапливаются в кэше команд. Блок предвыборки и прогнозирования переходов осуществляет трансляцию команд x86 в RISС -команды, прогнозирует последовательность исполнения команд и направляет полученные последовательности команд в соответствующие ветви конвейера команд (U,V,…) . Каждый конвейер команд имеет свой буфер (память магазинного типа FIFO ), из которого команды поступают в соответствующий регистр команд для исполнения.
АЛУ команд используется для вычисления физических адресов необходимых для работы микропроцессора команд и данных.
Управляющие регистры - CR0, CR1, CR2, CR3, - имеют длину по 32 бита. Эти регистры устанавливают режим работы процессора (нормальный, защищенный и т.д.), контролируют постраничное распределение памяти, и т.д. Они доступны только для привилегированных программ. Младшая часть регистра CR0 используется как слово состояния машины.
Отладочные регистры - DR0-DR7 - содержат адреса восьми точек прерывания и устанавливают, что должно произойти при достижении программой соответствующей точки прерывания. Эти регистры используются при отладке программы с помощью таких отладочных средств, как debug.exe (для реального режима) или ntsd.exe (для защищенного режима). Тестовые (контрольные) регистры TRj используются для контроля постраничной системы распределения памяти, реализуемой операционной системой.
Система команд микропроцессора
Один из основных принципов построения ЭВМ был сформулирован американским ученым Дж. фон Нейманом: работой ЭВМ управляет программа, состоящая из отдельных команд. Программа размещается вместе с данными в основной памяти ЭВМ. Каждая команда хранится в отдельной ячейке памяти (или группе смежных ячеек) и имеет свой адрес. Все команды имеют одинаковую структуру. Они состоят из двух частей: кода операции и адресной части. Код операции определяет, какую команду нужно выполнить. Адресная часть определяет, где хранятся операнды, т.е. обрабатываемые данные, и куда необходимо поместить результат операции.
В зависимости от количества используемых в команде операндов различаются одно-, двух-, трех-, четырехадресные и безадресные команды.
В одноадресных командах указывается, где находится один из двух обрабатываемых операндов. Второй операнд должен быть помещен заранее в арифметическое устройство (для этого в систему команд вводятся специальные команды пересылки данных между устройствами).
В двухадресных командах оба операнда перед выполнением операции находятся в памяти, поэтому их адреса указываются в команде. После выполнения команды в один из этих адресов засылается результат, а находившийся там операнд теряется.
В трехадресных командах два адреса указывают, где находятся исходные операнды, а третий - куда необходимо поместить результат.
В четырехадресных командах три адреса используются для указания исходных операндов и результата, а четвертый - для указания адреса следующей команды.
В безадресных командах обычно обрабатывается один операнд, который до и после операции находится в арифметическом устройстве (в память не пересылается). Кроме того, безадресные команды используются для выполнения служебных операций (очистить экран, заблокировать клавиатуру, снять блокировку и др.).
Все команды программы выполняются последовательно, команда за командой, в том порядке, как они записаны в памяти ЭВМ (естественный порядок следования команд). Этот порядок характерен для линейных программ , т.е. программ, не содержащих разветвлений.
Для организации разветвлений (циклического выполнения участков программы) есть команды, нарушающие естественный порядок. К ним относятся: безусловная передача управления ("безусловный переход"), условная передача управления (т.е. переход, если выполняется заданное условие), обращение к подпрограмме ("переход с возвратом"), циклические операции. Кроме того, естественный порядок следования команд не соблюдается в машинах, использующих четырехадресные команды - в этом случае некоторые из команд передачи управления упраздняются.
При явном указании адреса следующей команды реализуется "принудительный" порядок следования команд. Он возможен, только если программа размещается в доступной процессору части основной памяти. Поскольку при этом команды (с точки зрения процессора) ничем не отличаются от данных, в процессе выполнения программы ее команды можно изменять (модифицировать), что повышает гибкость программирования и универсальность ЭВМ.
Семейство микропроцессоров фирмы Intel, начиная от 8086 и вплоть до Pentium последних моделей, имеет базовую систему команд, в состав которой входят следующие группы:
Отметьте все функции арифметико-логического устройства (АЛУ).
- выполнение вычислений
- анализ результатов
- определение местоположения данных
- расшифровка команд
- загрузка данных в регистры
Вопрос 3
Отметьте все функции устройства управления (УУ).
- выполнение вычислений
- анализ результата
- определение местоположения данных
- расшифровка команд
- загрузка данных в регистры
Вопрос 4
Что хранится в регистре состояния процессора?
- свойства результата последней операции
- температура процессора
- результат последней операции
- степень загруженности процессора
- результат проверки памяти
Вопрос 5
Как называется интервал между двумя соседними управляющими импульсами, поступающими в процессор?
Вопрос 6
Как называется элементарное действие, из которых состоит каждая машинная команда?
- микрокоманда
- макрокоманда
- мегакоманда
- гигакоманда
Вопрос 7
Как называется характеристика процессора, которая определяет количество тактовых импульсов за 1 секунду?
Вопрос 8
Как называется характеристика процессора, определяющая максимальное количество двоичных разрядов, которые процессор способен обработать за одну команду.
Вопрос 9
Как называются данные, необходимые для выполнения некоторой команды процессора?
Вопрос 10
Выберите правильное окончание определения: «Часть памяти компьютера, которая используется для хранения программ и данных во время решения задачи, называется. ».
- внутренняя память
- внешняя память
- оперативная память
- постоянная память
- дисковая память
Вопрос 11
Отметьте все виды памяти, в которых возможен доступ к отдельным ячейкам памяти по их адресам.
- оперативная память
- постоянная память
- память на жестких дисках
- память на флэш-дисках
- память на лазерных дисках
Вопрос 12
Какие программы обычно хранятся в ПЗУ современных персональных компьютеров?
- для тестирования компьютера
- для обмена данным со стандартными внешними устройствами
- для начальной загрузки компьютера
- программы пользователя
- операционная система
Вопрос 13
Выберите правильное окончание определения: «Часть памяти компьютера, которая используется для долговременного хранения программ и данных, называется. ».
- внутренняя память
- внешняя память
- оперативная память
- постоянная память
- дисковая память
Вопрос 14
Как называется регистр контроллера, к которому процессор может обратиться по номеру?
Вопрос 15
Отметьте все правильные утверждения о внешней памяти.
- возможен доступ к любой ячейке по адресу
- можно читать и записывать только целый блок ячеек
- включает носитель информации и контроллер
- более быстродействующая, чем внутренняя память
- имеет больший объём, чем внутренняя память
Вопрос 16
В каких типах памяти данные организованы в виде некоторой файловой системы?
- внутренняя память
- внешняя память
- оперативная память
- постоянная память
Вопрос 17
Расставьте типы лазерных дисков в порядке увеличения их максимального объёма.
Вопрос 18
Что означает английское сокращение SSD?
- жёсткий диск (винчестер)
- оперативная память (ОЗУ)
- постоянная память (ПЗУ)
- диск на основе флэш-памяти
- лазерный диск
Вопрос 19
Расставьте виды памяти в порядке увеличения быстродействия.
- компьютерные сети
- внешняя память
- оперативная память
- кэш-память
- регистры
Вопрос 20
Как называется сохранение информации в более быстродействующей памяти с целью повторного использования?
Вопрос 21
Как называется технология, при которой часть адресного пространства процессора отображается на область ОЗУ, а другая часть - на внешнюю память?
- виртуальная память
- кэширование
- расширенная память
- оперативная память
- дисковая память
Вопрос 22
В каких единицах обычно измеряется разрешение оптического сенсора мыши?
- точки на дюйм (dpi)
- пиксели на дюйм (ppi)
- точки на сантиметр
- пиксели на сантиметр
Вопрос 23
В каких единицах обычно измеряется разрешающая способность сканера?
- точки на дюйм (dpi)
- пиксели на дюйм (ppi)
- точки на сантиметр
- пиксели на сантиметр
Вопрос 24
Как называется устройство для ввода в компьютер графической информации с бумаги или плёнки?
- сканер
- принтер
- проектор
- монитор
Вопрос 25
Какие устройства используются для ввода графической информации?
- принтер
- сканер
- графический планшет
- микрофон
- цифровой фотоаппарат
Вопрос 26
Какие недостатки есть у струйных принтеров?
- им нужна качественная бумага
- они дорого стоят
- после печати чернила могут расплываться
- они медленно печатают по сравнению с другими
- высокий уровень шума
Вопрос 27
Как называется устройство, которое используют для печати чертежей и больших рисунков?
Электромагнитные реле стояли в самых первых компьютерах, а их жизнь на рынке автоматизированных вычислений была недолгой. Однако видоизмененные катушки используют в технике и по сей день.
В стародревние времена — дело было почти 80 лет назад, на заре становления вычислительной техники — память вычислительных устройств было принято делить на три типа. На первичную, вторичную и внешнюю. Сейчас этой терминологией уже никто не пользуется, хотя сама классификация существует и по сей день. Только первичную память теперь называют оперативной, вторичную — внутренними жесткими дисками, ну а внешняя маскируется под всевозможные оптические диски и флэш-накопители.
Прежде чем начать путешествие в прошлое, давайте разберемся в обозначенной выше классификации и поймем, для чего нужен каждый из типов памяти. Компьютер представляет информацию в виде последовательности бит — двоичных цифр со значениями 1 или 0. Общепринятой универсальной единицей информации считают байт, как правило, состоящий из 8 бит. Все используемые компьютером данные занимают некоторое количество байт. К примеру, типичный музыкальный файл занимает 40 миллионов бит — 5 миллионов байт (или 4,8 мегабайта). Центральный процессор не сможет функционировать без элементарного запоминающего устройства, ведь вся его работа сводится к получению, обработке и записи обратно в память. Именно поэтому легендарный Джон фон Нейман (мы не раз упоминали его имя в цикле статей про мейнфреймы) придумал размещать внутри компьютера независимую структуру, где хранились бы все необходимые данные.
Классификация внутренней памяти разделяет носители еще и по скоростному (и энергетическому) принципу. Быстрая первичная (оперативная) память в наше время используется для хранения критичной информации, к которой ЦП обращается наиболее часто. Это ядро операционной системы, исполняемые файлы запущенных программ, промежуточные результаты вычислений. Время доступа — минимально, всего несколько наносекунд.
Первичная память общается с контроллером, размещенным либо внутри процессора (у последних моделей ЦП), либо в виде отдельной микросхемы на материнской плате (северный мост). Цена на оперативку относительно высока, к тому же она энергозависима: выключили компьютер или случайно выдернули шнур из розетки — и вся информация потерялась. Поэтому все файлы хранятся во вторичной памяти — на пластинах жестких дисков. Информация здесь не стирается после отключения питания, а цена за мегабайт очень низкая. Единственный недостаток винчестеров — низкая скорость реакции, она измеряется уже в миллисекундах.
Кстати, интересный факт. На заре развития компьютеров первичную память не отделяли от вторичной. Главный вычислительный блок был очень медленным, и память не давала эффекта бутылочного горлышка. Оперативные и постоянные данные хранились в одних и тех же компонентах. Позже, когда скорость компьютеров подросла, появились новые типы носителей информации.
Компьютер Bendix G15 с барабанной памятью. Оператор в костюме прилагается.
Одним из основных компонентов первых компьютеров были электромагнитные переключатели, разработанные известным американским ученым Джозефом Хенри еще в 1835 году, когда ни о каких компьютерах никто даже не помышлял. Простой механизм состоял из обмотанного проводом металлического сердечника, подвижной железной арматуры и нескольких контактов. Разработка Хенри легла в основу электрического телеграфа Сэмюеля Морзе и Чарльза Витстоуна.
Первый компьютер, построенный на переключателях, появился в Германии в 1939 году. Инженер Конрад Зюс использовал их при создании системной логики устройства Z2. К сожалению, прожила машина недолго, а ее планы и фотографии были утеряны во время бомбардировок Второй мировой войны. Следующее вычислительное устройство Зюса (под именем Z3) увидело свет в 1941 году. Это был первый компьютер, управляемый программой. Основные функции машины реализовывались при помощи 2000 переключателей. Конрад собирался перевести систему на более современные компоненты, но правительство прикрыло финансирование, посчитав, что идеи Зюса не имеют будущего. Как и ее предшественница, Z3 была уничтожена во время бомбардировок союзников.
Электромагнитные переключатели работали очень медленно, но развитие технологий не стояло на месте. Вторым типом памяти для ранних компьютерных систем стали линии задержки. Информацию несли электрические импульсы, которые преобразовывались в механические волны и на низкой скорости перемещались через ртуть, пьезоэлектронный кристалл или магниторезистивную катушку. Есть волна — 1, нет волны — 0. В единицу времени по проводящему материалу могли путешествовать сотни и тысячи импульсов. По завершении своего пути каждая волна трансформировалась обратно в электрический импульс и отсылалась в начало — вот вам и простейшая операция обновления.
Линии задержки разработал американский инженер Джон Преспер Экерт. Компьютер EDVAC, представленный в 1946 году, содержал два блока памяти по 64 линии задержки на основе ртути (5,5 Кб по современным меркам). На тот момент этого было более чем достаточно для работы. Вторичная память также присутствовала в EDVAC — результаты вычислений записывались на магнитную пленку. Другая система, UNIVAC 1, увидевшая свет в 1951 году, использовала 100 блоков на основе линий задержки, а для сохранения данных у нее была сложная конструкция со множеством физических элементов.
Блок памяти на основе линий задержки больше похож на гиперпространственный двигатель космического корабля. Сложно представить, но подобная махина могла сохранить всего несколько бит данных!
За кадром нашего исследования осталось два довольно значимых изобретения в области носителей данных. Оба сделал талантливый сотрудник Bell Labs Эндрю Бобек. Первая разработка — так называемая твисторная память — могла стать прекрасной альтернативой памяти на основе магнитных сердечников. Она во многом повторяла последнюю, но вместо ферритовых колец для хранения данных использовала магнитную пленку. У технологии были два важных преимущества. Во-первых, твисторная память могла одновременно записывать и считывать информацию с целого ряда твисторов. Плюс к этому, было легко наладить ее автоматическое производство. Руководство Bell Labs надеялось, что это позволит существенно снизить цену твисторной памяти и занять перспективный рынок. Разработку финансировали ВВС США, а память должна была стать важной функциональной ячейкой ракет Nike Sentinel. К сожалению, работа над твисторами затянулась, а на первый план вышла память на основе транзисторов. Захват рынка не состоялся.
«Не повезло в первый раз, так повезет во второй»,— подумали в Bell Labs. В начале 70-х годов Эндрю Бобек представил энергонезависимую пузырьковую память. В ее основе лежала тонкая магнитная пленка, которая удерживала небольшие намагниченные области (пузырьки), хранящие двоичные значения. Спустя какое-то время появилась первая компактная ячейка емкостью 4096 бит — устройство размером один квадратный сантиметр обладало емкостью целой планки с магнитными сердечниками.
Изобретением заинтересовались многие компании, и в середине 70-х разработками в области пузырьковой памяти занялись все крупные игроки рынка. Энергонезависимая структура делала пузырьки идеальной заменой как первичной, так и вторичной памяти. Но и тут планам Bell Labs не удалось сбыться — дешевые винчестеры и транзисторная память перекрыли кислород пузырьковой технологии.
Вакуум — наше все
Вакуумные трубки сохранились в технике и по сей день. Особенной любовью они пользуются среди аудиофилов. Считается, что усилительный тракт на основе вакуумных трубок по качеству звука на голову выше современных аналогов.
К концу 40-х годов системная логика компьютеров переехала на вакуумные трубки (они же электронные трубки или термионные шахты). Вместе с ними новый толчок в развитии получили телевидение, устройства для воспроизведения звука, аналоговые и цифровые компьютеры.
Под загадочным словосочетанием «вакуумная трубка» скрывается довольно простой по строению элемент. Он напоминает обычную лампу накаливания. Нить заключена в безвоздушное пространство, при нагреве она испускает электроны, которые попадают на положительно заряженную металлическую пластину. Внутри лампы под напряжением образуется поток электронов. Вакуумная трубка умеет или пропускать, или блокировать (фазы 1 и 0) проходящий через нее ток, выступая в роли электронного компонента компьютеров. Во время работы вакуумные трубки сильно нагреваются, их надо интенсивно охлаждать. Зато они намного быстрее, чем допотопные переключатели.
Первичная память на основе этой технологии появилась в 1946-1947 годы, когда изобретатели Фредди Вильямс и Том Килберн представили трубку Вильямса — Килберна. Метод сохранения данных был весьма остроумным. На трубке при определенных условиях появлялась световая точка, которая слегка заряжала занимаемую поверхность. Зона вокруг точки приобретала отрицательный заряд (ее называли «энергетическим колодцем»). В «колодец» можно было поместить новую точку или оставить его без внимания — тогда первоначальная точка быстро исчезала. Эти превращения истолковывались контроллером памяти как двоичные фазы 1 и 0. Технология была очень популярна. Память на трубках Вильямса — Килберна устанавливали в компьютеры Ferranti Mark 1, IAS, UNIVAC 1103, IBM 701, IBM 702 и Standards Western Automatic Computer (SWAC).
Параллельно свою трубку, именуемую селектрон, разрабатывали инженеры из компании Radio Corporation of America под управлением ученого Владимира Зворыкина. По задумке авторов селектрон должен был вмещать до 4096 бит информации, что в четыре раза больше, чем у трубки Вильямса — Килберна. Предполагалось, что к концу 1946 года будет произведено около 200 селектронов, но производство оказалось очень дорогим.
Наравне с вакуумными трубками в некоторых компьютерах того времени использовалась барабанная память, изобретенная Густавом Таусчеком в 1939 году. Простая конструкция включала большой металлический цилиндр, покрытый сплавом из ферромагнетика. Считывающие головки, в отличие от современных винчестеров, не перемещались по поверхности цилиндра. Контроллер памяти ждал, пока информация самостоятельно пройдет под головками. Барабанная память использовалась в компьютере Атанасова — Берри и некоторых других системах. К сожалению, ее производительность была очень низкой.
Селектрону не было суждено завоевать рынок вычислительных машин — опрятные на вид электронные компоненты так и остались пылиться на свалке истории. И это несмотря на выдающиеся технические характеристики.
В данный момент рынком первичной памяти правит стандарт DDR. Точнее, второе его поколение. Переход на DDR3 состоится уже совсем скоро — осталось дождаться появления недорогих чипсетов с поддержкой нового стандарта. Повсеместная стандартизация сделала сегмент памяти слишком скучным для описания. Производители перестали изобретать новые, уникальные продукты. Все труды сводятся к увеличению рабочей частоты и установке навороченной системы охлаждения.
Технологический застой и робкие эволюционные шаги будут продолжаться до тех пор, пока производители не доберутся до предела возможностей кремния (именно из него изготавливают интегрированные микросхемы). Ведь частоту работы нельзя повышать бесконечно.
Правда, здесь кроется один подвох. Производительности существующих чипов DDR2 достаточно для большинства компьютерных приложений (сложные научные программы не в счет). Установка модулей DDR3, работающих на частоте 1066 МГц и выше, не ведет к ощутимому приросту скорости.
Звездный путь в будущее
Странная текстура на фотографии — это память на основе магнитных сердечников. Перед вами наглядная структура одного из массивов с проводами и ферритовыми кольцами. Представляете, сколько времени приходилось потратить, чтобы найти среди них нерабочий модуль?
Главным недостатком памяти, да и всех остальных компонентов на основе вакуумных трубок было тепловыделение. Трубки приходилось охлаждать при помощи радиаторов, воздуха и даже воды. К тому же постоянный нагрев существенно уменьшал время работы — трубки самым натуральным образом деградировали. Под конец срока эксплуатации их приходилось постоянно настраивать и в конечном итоге менять. Можете представить, скольких усилий и средств стоило сервисное обслуживание вычислительных систем?!
Потом наступило время массивов с близко расположенными ферритовыми кольцами — изобретение американских физиков Эн Вэнг и Вэй-Донг Ву, доработанное студентами под управлением Джея Форрестера из Массачусетского технологического университета (MIT). Через центры колец под углом 45 градусов проходили соединительные провода (по четыре на каждое кольцо в ранних системах, по два в более совершенных). Под напряжением провода намагничивали ферритовые кольца, каждое из которых могло сохранить один бит данных (намагничено — 1, размагничено — 0).
Джей Форрестер разработал систему, при которой управляющие сигналы для многочисленных сердечников шли всего по нескольким проводам. В 1951 году вышла память на основе магнитных сердечников (прямой аналог современной оперативной памяти). В дальнейшем она заняла достойное место во многих компьютерах, включая первые поколения мейнфреймов компаний DEC и IBM. По сравнению с предшественниками у нового типа памяти практически отсутствовали недостатки. Ее надежности хватало для функционирования в военных и даже космических аппаратах. После крушения шаттла «Челленджер», которое привело к смерти семи членов его экипажа, данные бортового компьютера, записанные в памяти с магнитными сердечниками, остались в полной целости и сохранности.
Технологию постепенно совершенствовали. Ферритовые кольца уменьшались в размерах, скорость работы росла. Первые образцы функционировали на частоте порядка 1 МГц, время доступа составляло 60 000 нс — к середине 70-х годов оно сократилось до 600 нс.
Дорогая, я уменьшил нашу память
Производители памяти в наше время больше заботятся о внешнем виде своих продуктов — все равно стандарты и характеристики заранее определены в комиссиях вроде JEDEC.
Следующий скачок в развитии компьютерной памяти произошел, когда были придуманы интегральные микросхемы и транзисторы. Индустрия пошла по пути миниатюризации компонентов с одновременным повышением их производительности. В начале 1970-х полупроводниковая промышленность освоила выпуск микросхем высокой степени интеграции — на сравнительно малой площади теперь умещались десятки тысяч транзисторов. Появились микросхемы памяти емкостью 1 Кбит (1024 бит), небольшие чипы для калькуляторов и даже первые микропроцессоры. Случилась самая настоящая революция.
Особый вклад в развитие первичной памяти внес доктор Роберт Деннард, сотрудник компании IBM. Он разработал первый чип на транзисторе и небольшом конденсаторе. В 1970 году рынок подстегнула компания Intel (которая появилась всего двумя годами раньше), представив чип памяти i1103 емкостью 1 Кбит. Спустя два года этот продукт стал самым продаваемым полупроводниковым чипом памяти в мире.
Во времена первых Apple Macintosh блок оперативной памяти занимал огромную планку (на фото сверху), тогда как объем не превышал 64 Кб.
Микросхемы высокой степени интеграции быстро вытеснили старые типы памяти. С переходом на следующий уровень развития громоздкие мейнфреймы уступили место настольным компьютерам. Основная память в то время окончательно отделилась от вторичной, оформилась в виде отдельных микрочипов емкостью 64, 128, 256, 512 Кбит и даже 1 Мбит.
Наконец, микросхемы первичной памяти переехали с материнских плат на отдельные планки, это сильно облегчило установку и замену неисправных компонентов. Частоты начали расти, время доступа уменьшаться. Первые синхронные динамические чипы SDRAM появились в 1993 году, их представила компания Samsung. Новые микросхемы работали на частоте 100 МГц, время доступа равнялось 10 нс.
С этого момента началось победоносное шествие SDRAM, а к 2000 году этот тип памяти вытеснил всех конкурентов. Определением стандартов на рынке оперативки занялась комиссия JEDEC (Joint Electron Device Engineering Council). Ее участники сформировали спецификации, единые для всех производителей, утвердили частотные и электрические характеристики.
Дальнейшая эволюция не так интересна. Единственное значимое событие произошло в 2000 году, когда на рынке появилась оперативная память стандарта DDR SDRAM. Она обеспечила удвоенную (по сравнению с обычной SDRAM) пропускную способность и создала задел для будущего роста. Вслед за DDR в 2004 году появился стандарт DDR2, который до сих пор пользуется наибольшей популярностью.
В современном IT-мире фразой Patent Troll (патентный тролль) называют фирмы, которые зарабатывают деньги на судебных исках. Они мотивируют это тем, что другие компании нарушили их авторские права. Целиком и полностью под это определение попадает разработчик памяти Rambus.
С момента основания в 1990 году Rambus занималась лицензированием своих технологий сторонним компаниям. К примеру, ее контроллеры и микросхемы памяти можно найти в приставках Nintendo 64 и PlayStation 2. Звездный час Rambus настал в 1996 году, когда Intel заключила с ней соглашение на использование в своих продуктах памяти RDRAM и разъемов RIMM.
Сначала все шло по плану. Intel получила в свое распоряжение продвинутую технологию, а Rambus довольствовалась партнерством с одним из крупнейших игроков IT-индустрии. К сожалению, высокая цена модулей RDRAM и чипсетов Intel поставили крест на популярности платформы. Ведущие производители материнских плат использовали чипсеты VIA и платы с разъемами под обычную SDRAM.
Rambus поняла, что на этом этапе она проиграла рынок памяти, и начала свои затяжные игры с патентами. Первым делом ей под руку попалась свежая разработка JEDEC — память стандарта DDR SDRAM. Rambus накинулась на нее, обвинив создателей в нарушении авторских прав. В течение некоторого времени компания получала денежные отчисления, однако уже следующее судебное разбирательство с участием Infineon, Micron и Hynix расставило все по своим местам. Суд признал, что технологические наработки в области DDR SDRAM и SDRAM не принадлежат Rambus.
С тех пор общее количество исков со стороны Rambus к ведущим производителям оперативки превысило все мыслимые пределы. И, похоже, такой образ жизни компанию вполне устраивает.
Читайте также: