# факты | Преодоление ограничений компьютерной памяти

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

    Разглядеть все имеющиеся во всем мире разновидности запоминающих механизмов в рамках лаконичного обзора и не представляется вероятным. Потому мы остановимся лишь на тамошних типах памяти, которыми обустроено большая часть индивидуальных компов в современном мире. Идет речь об кеш-памяти первого (L1) и второго (L2) уровней; системной оперативки; виртуальной памяти и, само собой разумеется, твердом диске. Для чего стандартному персональному компьютеру настолько не мало самой различной памяти? Дабы ответить на этот вопросец, будет нужно малость поведать об фолиант, зачем служит каждый тип компьютерной памяти.

    Неспешная и недорогая виртуальная память на твердом диске


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

    Когда индустрию лишь преодолела 1-гигагерцовый предел тактовой частоты микропроцессора, она столкнулась с неувязкой: память, которая способна управится с запросами могучего микропроцессора стоит ли максимально дороговато. Однако ни одна преграда на пути технического прогресса и не способна навечно задержать его ход. Решение существовало обнаружено: маленький размер стремительной и дорогущий памяти смешивается в современных машинках с наиболее вместительными и наименее накладными хранилищами инфы.

    Самым дешевеньким (и максимально неспешным) общим видом перезаписываемой компьютерной памяти является твердый диск. Скорость доступа к нему невелика, зато он дозволяет за скромные финансовые средства производить заглавные константные хранилища инфы. Цена хранения единого мб заданных на диске малозначительна. Зато и времени на то, дабы полагать этот мб будет нужно значительно все больше, чем если б он размещался на наиболее дорогущем (и стремительном) носителе. Так как твердый диск дешев и ёмок, он образует нижнюю ступенька иерархии памяти, к которой обращается микропроцессор, называемую виртуальной памятью.

    На ступень свыше в данной иерархии размещается оперативка (ОЗУ, RAM). Раньше мы уже разглядели, как только ишачит этот тип памяти. Однако в предшествующем нашем повествовании некие подробности остались за кадром, кои имеют отношение и не столько к оперативки, сколько к микропроцессору и его способностям взаимодействия с ОЗУ. Сейчас мы прольем свет на эти детали.

    Битность микропроцессора показывает нам на то, к скольким битам инфы, опубликованной в оперативки, он в силах получить доступ сразу. В качестве примера возьмем устаревшие 16-битные микропроцессоры. Они были способны сразу оперировать с двумя б заданных (1 б = 8 битам, таким макаром 16 бит = 2 б). Как следует, современные 64-битные микропроцессоры обращаются к 8 б инфы в один миг времени.

    В мгц (Мегагерцом, миллионах герц) и гигагерцах (ГГц, млрд герц) измеряется скорость обработки заданных микропроцессором. Другими словами сколько циклов (тактов) обработки он в силах осуществить за секунду. Дабы и не окунаться в немыслимо гигантские числа, в качестве примера возьмем старенький (а уж когда-то представлявшийся верхом совершенства и мощи) микропроцессор Pentium III с тактовой частотой 800 мгц за секунду. Его 32-битная архитектура разговаривает об фолиант, что он в силах ишачить сразу с четырьмя б инфы. И не впечатляет? Однако он мог сделать эту операцию 800 миллионов ежесекундно. Перед оперативной памятью стоит ли сложная задачка: успевать за микропроцессором, и не отставать от него и впору предоставлять ему же информацию. По другому все поразительные способности чипа будут простаивать в ожидании еще один порции байтов.

    Системная оперативка компа в одиночку с данной задачей и не совладевает. Потому востребован очередной тип сверхбыстрого хранилища заданных: кеш-память (об которой мы побеседуем ниже). Однако, конечно же, чем скорее ишачит оперативка, тем самым предпочтительнее для системы в целом. Скорость прочтения и записи оперативки находится в зависимости от тамошнего типа ОЗУ, который употребляется в заданном персональном компьютере. Потому вновь вернемся к оперативки, однако на этот раз разглядим ее технические параметры.

    Системная оперативка


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

    К примеру: 32-битная 100-мегагерцовая шина на теоретическом уровне способна сразу транслировать 4 б инфы (32 бита разделять на 8 = 4 б) 100 миллионов ежесекундно. 66-мегагерцовая 16-битная шина может сразу передать всего 2 б 66 миллионов ежесекундно. Ординарные математические вычисления отображают нам, что первая шина превышает вторую по размеру раз в секунду передаваемой микропроцессору инфы приблизительно в три раза (400 миллионов б против 132 миллионов б).

    Однако в действительности оперативка, само собой разумеется, привычно и не ишачит на пределе способностей. И ныне установилась пора внедрить очередной термин, который тоже накладывает свои ограничения на фактическую скорость телепередачи заданных. Латентность оперативки показывает на количество циклов, нужных для прочтения бита инфы. Например, оперативка с тактовой частотой 100 Мегагерцом, казалось бы, способна транслировать бит за одну стомиллионную долю секунды. На самом же деле, пять стомиллионных толикой секунды уйдет на пуск процесса прочтения первого бита. Дабы уменьшить воздействие фактора латентности памяти, микропроцессор употребляет специальную технологию, называемую пакетно-монопольным (групповым либо ординарно монопольным) режимом (burst mode).

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

    Например, строчка «5-1-1-1» способна рассказать нам, что для прочтения первого бита нужны пять циклов и один цикл для прочтения каждого следующего бита инфы. Чем все меньше это же число, тем самым свыше производительность памяти.

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

    У читателей может появиться вопросец: а уж посему бы сразу же и не купить самую скорую память с самой высочайшей из потенциальных в современном мире пропускной способностью? Однако здесь вступает в силу ограничение, накладываемое системной шиной материнской платы компа. Вы, конечно же, сможете поставить 100-мегагерцовую память в материнскую плату с 66-мегагерцовой системной шиной. Однако ее предельная скорость все равно будет составлять 66 Мегагерцом за секунду. И вы и не получите никакого достоинства. Эдак и 32-битная память и не соответствует 16-битной шине.

    И очень даже высокоскоростная память с обширной полоской пропускания всё равно и не добивается той самой скорости, с которой микропроцессор в силах возделывать заданные. Конкретно для сего и востребована сверхбыстрая кеш-память.

    Кеш-память и регистр микропроцессора


    Дабы закрыть это же хлипкое пространство, разработана эдак именуемая кеш-память. Ее сильно мало, однако она максимально стремительная. К примеру, микропроцессор AMD Ягуар может повытрепываться только 32 кб кеша инструкций первого уровня и 32 кб первоуровневого кеша заданных. На этом микропроцессоре базируются новые игровые консоли наших дней. В фолиант числе и Xbox One, в посетителях у авторов которой не так давно побывали наши читатели. Кеш-память первого уровня (L1) в современных микропроцессорах привычно присутствует в границах: от 2 перед началом 64 кб.

    Вторичный кеш, либо кеш-память второго уровня (L2), возможно на техническом уровне реализована в образе расположенной рядом с микропроцессором и впрямую с ним связанной карты. Особая микросхема на материнской плате — L2-контроллер (контроллер кеш-памяти второго уровня) — регулирует пользование данной памяти центральным микропроцессором компа. Зависимо от фотомодели микропроцессора, объем кеш-памяти второго уровня может составлять от 256 кб перед началом 2 мб. Однако технологии развиваются максимально резво, потому из заданного «правила» вероятны и случаются исключения. У микропроцессора Ягуар как только раз 2 мб кеша L2. Об причинах, по которым конкретно этот чип лег в базу игровой приставки PlayStation 4 гораздо сначала апреля 2013 года рассказал ее архитектор.

    Современный персональный компьютер устроен таким макаром, дабы в 95 % случаев микропроцессор получает заданные из кеш-памяти, и не нуждаясь в воззвании к наиболее неспешным хранилищам инфы. Некие недорогие системы обходятся совсем без L2-кеша. Зато в почти всех высокопроизводительных микропроцессорах кеш-память второго уровня вмонтирована конкретно в чип. Объем кеша второго уровня и его интегрированность конкретно в центральный микропроцессор являются важными факторами, оказывающими воздействие на производительность микропроцессора.

    На техническом уровне кеш является статической оперативной памятью (SRAM). В памяти сего типа любая ее ячейка сформирована несколькими транзисторами: привычно них бывает от четверых перед началом шести. Она владеет наружной логической матрицей, называемой мультивибратором с двумя устойчивыми состояниями (бистабильным мультивибратором, bistable multivibrator). С его помощью сбудется переключение меж двумя состояниями. Это же значит, что память сего типа и не нуждается (в отличие от динамической памяти DRAM) в константном обновлении.

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

    Статическая кеш-память бывает асинхронной и синхронной. Синхронная SRAM сконструирована таким макаром, дабы ее скорость в точности соответствовала скорости микропроцессора. Чего же нельзя сообщить о асинхронном кеше. Эта, казалось бы, малозначительная разница сказывается на производительности. И не станем вдаваться в технические подробности, скажем лишь, что синхронная память лучше.

    На самой верхушке иерархической пирамиды компьютерной памяти присутствует регистр микропроцессора. Он встроен конкретно в чип и содержит специфические — нужные микропроцессору — заданные: арифметические и логические высказывания. Являясь составной частью микропроцессора, его регистр руководствуется конкретно компилятором, отправляющим микропроцессору информацию для обработки.

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

    По материалам computer.howstuffworks.com