Способ организации вычислительного процесса в оперативной памяти

Обновлено: 21.11.2024

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

На самом базовом уровне компьютер состоит из блока управления, арифметико-логического блока (ALU), блока памяти и контроллеров ввода-вывода (I/O). АЛУ выполняет простые операции сложения, вычитания, умножения, деления и логические операции, такие как ИЛИ и И. В памяти хранятся инструкции и данные программы. Блок управления извлекает данные и инструкции из памяти и использует операции АЛУ для выполнения этих инструкций с использованием этих данных. (Блок управления и АЛУ вместе называются центральным процессором [ЦП].) Когда встречается инструкция ввода или вывода, блок управления передает данные между памятью и назначенным контроллером ввода-вывода. Скорость работы ЦП в первую очередь определяет скорость работы компьютера в целом. Все эти компоненты — блок управления, АЛУ, память и контроллеры ввода-вывода — реализованы на транзисторных схемах.

Компьютеры размещают веб-сайты, состоящие из HTML, и отправляют текстовые сообщения так же просто, как. РЖУ НЕ МОГУ. Взломайте этот тест, и пусть какая-нибудь технология подсчитает ваш результат и раскроет вам его содержание.

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

Контроллеры ввода-вывода подключают компьютер к определенным устройствам ввода (таким как клавиатуры и сенсорные дисплеи) для передачи информации в память и к устройствам вывода (таким как принтеры и дисплеи) для передачи информации из памяти пользователям. Дополнительные контроллеры ввода-вывода подключают компьютер к сети через порты, обеспечивающие канал, по которому передаются данные, когда компьютер подключен к Интернету.

К контроллерам ввода-вывода подключены дополнительные устройства хранения, такие как дисковые накопители, которые работают медленнее и имеют большую емкость, чем основная или кэш-память. Дисковые накопители используются для хранения постоянных данных. Они могут быть постоянно или временно подключены к компьютеру в виде компакт-диска (CD), цифрового видеодиска (DVD) или карты памяти (также называемой флэш-накопителем).

Работа компьютера после загрузки программы и некоторых данных в оперативную память происходит следующим образом. Первая инструкция передается из ОЗУ в блок управления и интерпретируется аппаратной схемой. Например, предположим, что инструкция представляет собой строку битов, являющуюся кодом для ЗАГРУЗКИ 10. Эта инструкция загружает содержимое ячейки памяти 10 в АЛУ. Выбирается следующая инструкция, скажем, ADD 15. Затем блок управления загружает содержимое ячейки памяти 15 в АЛУ и добавляет его к уже имеющемуся номеру. Наконец, инструкция STORE 20 сохранит эту сумму в ячейке 20. На этом уровне работа компьютера мало чем отличается от работы карманного калькулятора.

В целом, программы — это не просто длинные последовательности операций ЗАГРУЗКИ, СОХРАНЕНИЯ и арифметических операций. Самое главное, компьютерные языки включают условные инструкции — по сути, правила, которые гласят: «Если ячейка памяти n удовлетворяет условию a, выполните следующую команду с номером x». , иначе выполните инструкцию y». Это позволяет определять ход программы по результатам предыдущих операций — критически важная возможность.

Наконец, программы обычно содержат последовательности инструкций, которые повторяются несколько раз до тех пор, пока заданное условие не станет истинным. Такая последовательность называется циклом.Например, потребуется цикл для вычисления суммы первых n целых чисел, где n — это значение, хранящееся в отдельной ячейке памяти. Компьютерные архитектуры, которые могут выполнять последовательности инструкций, условные инструкции и циклы, называются «полными по Тьюрингу», что означает, что они могут выполнять любой алгоритм, который может быть определен. Полнота по Тьюрингу — фундаментальная и важная характеристика любой компьютерной организации.

Логический дизайн — это область информатики, которая занимается проектированием электронных схем с использованием фундаментальных принципов и свойств логики (см. булева алгебра) для выполнения операций блока управления, ALU, контроллеры ввода-вывода и другое оборудование. Каждая логическая функция (И, ИЛИ и НЕ) реализуется устройством определенного типа, называемым логическим элементом. Например, схема сложения АЛУ имеет входы, соответствующие всем битам двух суммируемых чисел, и выходы, соответствующие битам суммы. Расположение проводов и вентилей, соединяющих входы и выходы, определяется математическим определением сложения. В конструкции блока управления предусмотрены схемы, интерпретирующие инструкции. Из-за потребности в эффективности логическая конструкция также должна оптимизировать схему для работы с максимальной скоростью и иметь минимальное количество логических элементов и цепей.

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

Проектирование микропроцессора СБИС происходит в несколько этапов, включая создание начальной функциональной или поведенческой спецификации, кодирование этой спецификации на языке описания оборудования, разбивку конструкции на модули и создание размеров и форм для конечных компонентов микросхемы. Это также включает в себя планирование чипа, которое включает в себя создание «плана этажа», чтобы указать, где на чипе каждый компонент должен быть размещен и соединен с другими компонентами. Ученые-компьютерщики также участвуют в создании инструментов автоматизированного проектирования (САПР), которые помогают инженерам на различных этапах проектирования микросхем, а также в разработке необходимых теоретических результатов, таких как эффективное проектирование плана этажа с почти минимальной площадью, удовлетворяющей требованиям. заданные ограничения.

Прогресс в технологии интегральных схем был невероятным. Например, в 1971 году первый микропроцессорный чип (4004 корпорации Intel) имел всего 2300 транзисторов, в 1993 году чип Intel Pentium имел более 3 миллионов транзисторов, а к 2000 году количество транзисторов на таком чипе составило около 50 миллионов. Чип Power7, представленный IBM в 2010 году, содержал примерно 1 миллиард транзисторов. Явление, когда количество транзисторов в интегральной схеме удваивается примерно каждые два года, широко известно как закон Мура.

Закон Мура. Гордон Э. Мур заметил, что количество транзисторов на компьютерном чипе удваивается примерно каждые 18–24 месяца. Как показано на логарифмическом графике количества транзисторов в процессорах Intel на момент их появления, его «закон» соблюдался.

Отказоустойчивость — это способность компьютера продолжать работу при отказе одного или нескольких его компонентов. Для обеспечения отказоустойчивости ключевые компоненты часто реплицируются, чтобы при необходимости их мог взять на себя резервный компонент. Такие приложения, как управление воздушным судном и управление производственным процессом, работают на системах с резервными процессорами, готовыми взять на себя функции в случае отказа основного процессора, а резервные системы часто работают параллельно, поэтому переход происходит плавно. Если системы критичны в том смысле, что их сбой может привести к катастрофическим последствиям (как в случае управления воздушным судном), несовместимые результаты, полученные от реплицированных процессов, запущенных параллельно на разных машинах, разрешаются с помощью механизма голосования. Ученые-компьютерщики занимаются анализом таких реплицированных систем, предоставляя теоретические подходы к оценке надежности, достигаемой при данной конфигурации и параметрах процессора, таких как среднее время наработки на отказ и среднее время, необходимое для ремонта процессора. Отказоустойчивость также является желательной функцией в распределенных системах и сетях. Например, преимуществом распределенной базы данных является то, что данные, реплицированные на разных узлах сети, могут обеспечить естественный механизм резервного копирования в случае сбоя одного узла.

Вычислительные науки

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

Математические методы, необходимые для вычислительной науки, требуют преобразования уравнений и функций из непрерывных в дискретные. Например, компьютерное интегрирование функции на интервале выполняется не путем применения интегрального исчисления, а путем аппроксимации площади под графиком функции как суммы площадей, полученных при вычислении функции в дискретных точках. Точно так же решение дифференциального уравнения получается как последовательность дискретных точек, определяемых путем аппроксимации кривой истинного решения последовательностью касательных отрезков. При такой дискретизации многие проблемы можно преобразовать в уравнение, включающее матрицу (прямоугольный массив чисел), решаемую с помощью линейной алгебры. Численный анализ - это изучение таких вычислительных методов. При применении численных методов необходимо учитывать несколько факторов: (1) условия, при которых метод дает решение, (2) точность решения, (3) является ли процесс решения устойчивым (т. е. не показывает рост ошибки) , и (4) вычислительная сложность (в смысле, описанном выше) получения решения желаемой точности.

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

Графика и визуальные вычисления

Графика и визуальные вычисления — это область, связанная с отображением и управлением изображениями на экране компьютера. Эта область охватывает эффективную реализацию четырех взаимосвязанных вычислительных задач: рендеринг, моделирование, анимация и визуализация. Графические методы включают в себя принципы линейной алгебры, численного интегрирования, вычислительной геометрии, специального оборудования, форматов файлов и графических пользовательских интерфейсов (GUI) для выполнения этих сложных задач.

Применения графики включают САПР, изобразительное искусство, медицинскую визуализацию, визуализацию научных данных и видеоигры. CAD-системы позволяют использовать компьютер для проектирования объектов, начиная от деталей автомобилей и заканчивая мостами и компьютерными микросхемами, предоставляя интерактивный инструмент рисования и инженерный интерфейс для инструментов моделирования и анализа. Приложения для изобразительного искусства позволяют художникам использовать экран компьютера в качестве среды для создания изображений, кинематографических спецэффектов, анимационных мультфильмов и телевизионных рекламных роликов. Приложения медицинской визуализации включают визуализацию данных, полученных с помощью таких технологий, как рентген и магнитно-резонансная томография (МРТ), чтобы помочь врачам в диагностике заболеваний. Научная визуализация использует огромные объемы данных для моделирования научных явлений, таких как моделирование океана, для создания изображений, которые обеспечивают более глубокое понимание явлений, чем таблицы чисел. Графика также обеспечивает реалистичную визуализацию для видеоигр, моделирования полета и других представлений реальности или фантазии. Термин виртуальная реальность был придуман для обозначения любого взаимодействия с компьютерным виртуальным миром.

Изображение головного мозга человека, пораженного раком, полученное с помощью магнитно-резонансной томографии (МРТ). Ярко-синяя область указывает на то, что рак распространился на затылочную долю (внизу справа).

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

Взаимодействие человека с компьютером

Взаимодействие человека с компьютером (HCI) связано с проектированием эффективного взаимодействия между пользователями и компьютерами и созданием интерфейсов, поддерживающих это взаимодействие. HCI происходит на интерфейсе, который включает в себя как программное, так и аппаратное обеспечение. Дизайн пользовательского интерфейса влияет на жизненный цикл программного обеспечения, поэтому он должен выполняться на ранних этапах процесса проектирования. Поскольку пользовательские интерфейсы должны учитывать различные пользовательские стили и возможности, исследования HCI опираются на несколько дисциплин, включая психологию, социологию, антропологию и инженерию. В 1960-х годах пользовательские интерфейсы состояли из компьютерных консолей, которые позволяли оператору напрямую вводить команды, которые можно было выполнить немедленно или в будущем. С появлением более удобных для пользователя персональных компьютеров в 1980-х годах пользовательские интерфейсы стали более сложными, так что пользователь мог «указать и щелкнуть», чтобы отправить команду в операционную систему.

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

Новые подходы конкурируют за внимание, поскольку преимущества масштабирования уменьшаются.

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

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

Ориентация на память – это широкое понятие, имеющее разные определения, хотя последние слухи вращаются вокруг двух технологий – вычислений в памяти и вычислений в ближней памяти. Ближняя память включает в себя память и логику в расширенном пакете ИС, в то время как in-memory переносит задачи обработки рядом с памятью или внутри нее. Обе технологии допустимы и могут использоваться для разных приложений.

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

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

Отрасль работает над решениями. «Все стремятся к чипу с производительностью 100 TeraOPS, — сказал Стив Павловски, вице-президент по передовым вычислительным решениям в Micron Technology. «Но чтобы получить эффективность этого чипа, у вас должно быть несколько вещей, которые должны выполняться одновременно. Это означает необходимость как можно быстрее вводить данные в чип и выводить их из него».

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

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

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

Что такое вычисления в оперативной памяти?
В современных системах традиционная иерархия памяти и хранилища проста. Для этого в процессор встроена SRAM для кэша, которая позволяет быстро обращаться к часто используемым программам. DRAM, которая используется для основной памяти, является отдельной и расположена в двухрядном модуле памяти (DIMM). А для хранения используются диски и твердотельные накопители (SSD) на основе NAND.

Исходя из этой иерархии, системы сталкиваются со взрывным ростом данных в сети. Например, ожидается, что к 2022 году объем IP-трафика достигнет 396 эксабайт (ЭБ) в месяц по сравнению со 122 ЭБ в месяц в 2017 году, согласно данным Cisco.

Темпы роста данных ускоряются. «Если вы посмотрите на некоторых водителей, у вас есть мобильные приложения. При переходе в сети 5G требуется больше данных. У вас больше видео и более высокое разрешение экрана», — сказал Скотт Гатцемейер, вице-президент по исследованиям и разработкам в Micron, на панели во время недавней конференции IEDM."Тогда, если вы посмотрите на некоторые из приложений искусственного интеллекта на телефонах с распознаванием лиц и аутентификацией, это приводит не только к увеличению объема памяти, но и к потребности в более быстрой памяти".

Бурный рост данных влияет на системы. «Поскольку объем данных в нашем мире увеличивается с десятков терабайт до сотен терабайт внутри сервера, мы сталкиваемся с проблемой перемещения данных туда и обратно с твердотельных накопителей на процессоры. Это будет проблема с энергопотреблением, и мы столкнемся с несколькими системными узкими местами», — сказал Маниш Мутал, вице-президент подразделения центров обработки данных в Xilinx, выступая на панели.

Во время панели Юнг Хун Ли, руководитель отдела интеграции устройств DRAM и процессов в SK Hynix, резюмировал проблему: «Данные растут быстрее, чем производительность вычислений. Для решения проблемы необходимы какие-то промежуточные слои».

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

Другой подход заключается в переходе к этим новомодным архитектурам с памятью и памятью. «Мы наблюдаем тенденцию к интеграции новых технологий памяти, — сказал Ян Пан, корпоративный вице-президент по развитию передовых технологий в Lam Research. «Растущая тенденция к вычислениям в оперативной памяти и в оперативной памяти приведет к появлению новых архитектур, объединяющих логику (цифровую и аналоговую) и новую память».

Что такое вычисления в памяти? Сегодня не существует единого определения или подхода.

"В зависимости от того, кого вы спросите, вы получите разные ответы о вычислениях в памяти, – – сказал Джилл Ли, управляющий директор по технологиям памяти в Applied Materials. – «Есть продукты, выходящие в этом направлении. Вычисления в памяти сейчас происходят с использованием существующей технологии памяти. Продукты создаются специально для этих приложений. Это приведет к большей сегментации в приложениях памяти».

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

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

Это простой способ объяснить сложную тему. Тем не менее, в мире баз данных это называется вычислениями в памяти или базой данных в памяти.

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

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

Недавно несколько компаний представили новые и улучшенные версии этой технологии. Существуют различные подходы с использованием DRAM, флэш-памяти и новых типов памяти. Многие из них считаются вычислениями в памяти. Это не следует путать с in-memory в мире баз данных.

Многие из новых и так называемых архитектур микросхем памяти предназначены для управления нейронными сетями. В нейронных сетях система обрабатывает данные и выявляет закономерности. Он сопоставляет определенные шаблоны и узнает, какие из этих атрибутов важны.

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

Нейронные сети работают, вычисляя матричные произведения и суммы. Он состоит из трех слоев: входного, скрытого и выходного. При работе шаблон сначала записывается в нейрон входного слоя. Паттерн передается другим нейронам в скрытых слоях.

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

Нейронные сети отличаются от традиционных систем.«Если вы выполняете проход через нейронную сеть, у вас могут быть десятки мегабайт или даже сотни мегабайт весов, к которым необходимо получить доступ», — сказал Дэйв Фик, технический директор Mythic, производителя микросхем ИИ. «Но к ним обращаются в основном один раз для каждого уровня, а затем вы должны отказаться от этого веса и получить другой вес для памяти на более поздних этапах сети».

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

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

Это отличается от традиционных вычислений с использованием процессоров и памяти. «Если вы создадите процессор с сотнями мегабайт SRAM, вы сможете разместить на нем все свое приложение. Но вам все равно нужно прочитать SRAM и передать эти данные в правильные элементы обработки», — сказал Фик из Mythic. «Мы избегаем этого, выполняя обработку непосредственно в самом массиве памяти. Цель состоит в том, чтобы свести к минимуму это перемещение данных, насколько это возможно. У нас агрессивный подход, при котором мы вообще не собираемся перемещать данные, не говоря уже о перемещении их из DRAM в микросхему. Мы также не собираемся беспокоиться о перемещении данных из памяти в первую очередь».

Обычно NOR хранит данные в массиве ячеек памяти. Mythic использует битовую ячейку NOR, но заменяет цифровую периферийную схему аналоговой. «Наш подход заключается в проведении аналоговых вычислений внутри массива. Наш массив имеет цифровые интерфейсы», — сказал он. «Mythic делает это по 40-нм техпроцессу, в то время как другие системы используют гораздо более новые технологические узлы. В то время как другие разработчики систем пытаются перейти от 7 нм к 5 нм, Mythic будет масштабироваться до 28 нм».

По определению, Mythic обрабатывает вычислительные задачи в памяти. Существуют и другие новые способы выполнения вычислительных задач в памяти. У некоторых есть полностью аналоговые подходы, в то время как другие разрабатывают технологии на основе SRAM и конденсаторов. Все технологии находятся на разных стадиях разработки.

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

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

"Здесь вы строите вычислительную структуру в памяти или технологии хранения данных. Вы, как правило, совмещаете вычислительную функцию там», — сказал Павловски из Micron. «Например, мы можем прочитать строку памяти, а затем поместить ее в меньшую структуру DRAM и получить хороший кэш с чрезвычайно низкими задержками».

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

Тем не менее, нейроморфные вычисления — это другая парадигма с множеством проблем.

«У нейроморфа импульсы могут поступать в любое время. Вы можете квантовать их определенным образом, но это асинхронные типы вычислений. На самом деле это импульсы, которые приходят от различных аксонов. Они не входят в одни и те же временные рамки», — сказал Павловский. «Другой вопрос заключается в том, как сделать так, чтобы программисту было достаточно легко им пользоваться, и при этом не усложнить его. Большая часть работы, которую мы делаем, заключается в том, что мы находим модель использования в программной среде, чтобы начать этот переход по снижению мощности и энергии, а также повышению производительности перемещения обработки ближе к и, в конечном итоге, внутри памяти. массив.”

Пока еще неясно, какой тип памяти лучше всего подходит для этой задачи. «Я не знаю, какой тип памяти победит, но это будет память. Мы должны решить проблему плотности мощности. Мы находимся в самом начале пути изменения модели программирования, чтобы использовать это. Воспоминания будут иерархическими. Он будет многоуровневым и распределенным», — сказал Рену Раман, вице-президент и главный архитектор облачной архитектуры и проектирования в SAP, на недавней панели IDM.

Что такое ближняя память?
Помимо технологии in-memory, память и логические микросхемы также можно встроить в усовершенствованный корпус интегральной схемы, такой как 2,5D/3D и разветвление.

Некоторые называют это вычислениями в оперативной памяти. Как и в случае с in-memory, идея состоит в том, чтобы сблизить память и логику в системе.

«В мире все больше данных хранится в системах. Таким образом, процессоры нуждаются в больших объемах памяти. И память и процессор должны быть очень близки», — сказал Рич Райс, старший вице-президент по развитию бизнеса в ASE. «Итак, вам нужны упаковочные решения, которые позволяют это сделать, будь то 2,5D или разветвление с использованием подложки. Это также могут быть структуры PoP, такие как «пакет на пакете».

В 2.5D кристаллы располагаются поверх промежуточного элемента, который включает в себя сквозные переходные отверстия (TSV). Промежуточный модуль действует как мост между микросхемами и платой, что обеспечивает больше операций ввода-вывода и пропускную способность.

Например, поставщик может включить FPGA и память с высокой пропускной способностью (HBM). HBM размещает кристаллы DRAM друг над другом, обеспечивая больше операций ввода-вывода. Например, новейшая технология Samsung HBM2 состоит из восьми 8-гигабитных кристаллов DRAM, которые объединены в стек и соединены с помощью 5000 TSV. Это обеспечивает пропускную способность 307 Гбит/с. В традиционной DDR4 DRAM максимальная пропускная способность составляет 85,2 Гбит/с.

Следующая версия HBM называется HBM3 и обеспечивает пропускную способность 512 Гбит/с. Он будет иметь плотность 128 Гбит по сравнению с 64 Гбит для HBM2.

Помимо 2.5D, индустрия работает над 3D-ИС. В 3D-ИС идея состоит в том, чтобы складывать кристаллы памяти на логический чип или логические кристаллы друг на друга. Штампы соединяются с помощью активного интерпозера.

«2.5D позволяет на порядок увеличить плотность межсоединений. То, что вы пытаетесь решить, — это пропускная способность памяти и задержка», — пояснил Дэвид Макканн, вице-президент по разработке постфабов и операциям в GlobalFoundries.

3D-IC обеспечивают большую пропускную способность. «Вместо соединения на краях чипов вы используете всю площадь поверхности X на Y», — сказал Макканн.

Кроме того, отрасль работает над версией разветвления высокой плотности с HBM. «Он задуман как альтернатива промежуточному решению для этих рынков. Это более дешевое решение, а его электрические и тепловые характеристики лучше, чем у кремниевой промежуточной структуры», — сказал Джон Хант, старший технический директор ASE.

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

Похожие статьи

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

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

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

Оглавление

Какие существуют типы компьютерной памяти?

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

Ключевое различие между первичной и вторичной памятью заключается в скорости доступа.

  • Основная память включает в себя ПЗУ и ОЗУ и расположена рядом с ЦП на материнской плате компьютера, что позволяет ЦП действительно очень быстро считывать данные из основной памяти. Он используется для хранения данных, которые необходимы ЦП в ближайшее время, чтобы ему не приходилось ждать их доставки.
  • Вторичная память, напротив, обычно физически располагается в отдельном устройстве хранения, таком как жесткий диск или твердотельный накопитель (SSD), который подключается к компьютерной системе либо напрямую, либо по сети. Стоимость гигабайта вторичной памяти намного ниже, но скорость чтения и записи значительно ниже.

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

Основные типы памяти: RAM и ROM

Существует два основных типа основной памяти:

Давайте подробно рассмотрим оба типа памяти.

1) ОЗУ Память компьютера

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

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

Данные, необходимые для предстоящей обработки, перемещаются в ОЗУ, где к ним можно получить доступ и изменить их очень быстро, чтобы ЦП не оставался в ожидании. Когда данные больше не требуются, они перемещаются в более медленную, но более дешевую вторичную память, а освободившееся место в ОЗУ заполняется следующим блоком данных, который будет использоваться.

Типы оперативной памяти

  • DRAM: DRAM расшифровывается как Dynamic RAM и является наиболее распространенным типом RAM, используемым в компьютерах. Самый старый тип известен как DRAM с одинарной скоростью передачи данных (SDR), но новые компьютеры используют более быструю DRAM с двойной скоростью передачи данных (DDR). DDR поставляется в нескольких версиях, включая DDR2, DDR3 и DDR4, которые обеспечивают лучшую производительность и более энергоэффективны, чем DDR. Однако разные версии несовместимы, поэтому невозможно смешивать DDR2 с DDR3 DRAM в компьютерной системе. DRAM состоит из транзистора и конденсатора в каждой ячейке.
  • SRAM: SRAM означает статическое ОЗУ. Это особый тип ОЗУ, который работает быстрее, чем DRAM, но дороже и объемнее, поскольку в каждой ячейке имеется шесть транзисторов. По этим причинам SRAM обычно используется только в качестве кэша данных внутри самого ЦП или в качестве ОЗУ в серверных системах очень высокого класса. Небольшой кэш SRAM для наиболее необходимых данных может привести к значительному повышению скорости работы системы.

Ключевое различие между DRAM и SRAM заключается в том, что SRAM быстрее, чем DRAM, возможно, в два-три раза быстрее, но дороже и громоздче. SRAM обычно доступен в мегабайтах, а DRAM приобретается в гигабайтах.

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

2) ROM Память компьютера

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

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

Когда компьютер включен, ЦП может начать считывать информацию, хранящуюся в ПЗУ, без необходимости в драйверах или другом сложном программном обеспечении, помогающем ему взаимодействовать. ПЗУ обычно содержит «загрузочный код», который представляет собой базовый набор инструкций, которые компьютер должен выполнить, чтобы узнать об операционной системе, хранящейся во вторичной памяти, и загрузить части операционной системы в первичную память, чтобы он мог запуститься. и будьте готовы к использованию.

ПЗУ также используется в более простых электронных устройствах для хранения прошивки, которая запускается сразу после включения устройства.

Типы ПЗУ

ПЗУ доступно в нескольких различных типах, включая PROM, EPROM и EEPROM.

  • PROM PROM расшифровывается как Programmable Read-Only Memory и отличается от настоящего ROM тем, что в то время как ROM программируется (т.е. в него записываются данные) в процессе производства, PROM изготавливается в пустом состоянии, а затем запрограммированы позже с помощью программатора PROM или записи.
  • EPROM EPROM расшифровывается как Erasable Programmable Read-Only Memory, и, как следует из названия, данные, хранящиеся в EPROM, можно стереть, а EPROM перепрограммировать. Для стирания EPROM необходимо извлечь его из компьютера и подвергнуть воздействию ультрафиолетового света перед повторной записью.
  • EEPROM EEPROM расшифровывается как электрически стираемое программируемое постоянное запоминающее устройство, и различие между EPROM и EEPROM заключается в том, что последнее может быть стерто и записано компьютерной системой, в которой оно установлено. В этом смысле EEPROM строго не читается. Только. Однако во многих случаях процесс записи идет медленно, поэтому обычно это делается только для периодического обновления программного кода, такого как микропрограмма или код BIOS.

Как ни странно, флэш-память NAND (например, в USB-накопителях и твердотельных накопителях) является типом EEPROM, но флэш-память NAND считается вторичной памятью.

Вторичные типы памяти

Вторичная память включает множество различных носителей данных, которые можно напрямую подключить к компьютерной системе. К ним относятся:

Вторичная память также включает:

    включая флэш-массивы 3D NAND, подключенные к сети хранения данных (SAN)
  • Устройства хранения, которые могут быть подключены через обычную сеть (известную как сетевое хранилище или NAS).

Возможно, облачное хранилище также можно назвать вторичной памятью.

Различия между ОЗУ и ПЗУ

ПЗУ:

  • Энергонезависимая
  • Быстро читать
  • Обычно используется в небольших количествах.
  • Невозможно быстро записать
  • Используется для хранения инструкций по загрузке или прошивки.
  • Относительно высокая стоимость хранения одного мегабайта по сравнению с оперативной памятью.

ОЗУ:

  • Нестабильный
  • Быстро читать и писать
  • Используется в качестве системной памяти для хранения данных (включая программный код), которые ЦП должен немедленно обработать
  • Относительно дешевое значение в пересчете на мегабайт по сравнению с ПЗУ, но относительно дорогое по сравнению со вторичной памятью.

Какая технология находится между первичной и вторичной памятью?

За последний год или около того был разработан новый носитель памяти под названием 3D XPoint, характеристики которого находятся между первичной и вторичной памятью.

3D XPoint дороже, но быстрее, чем дополнительная память, и дешевле, но медленнее, чем оперативная память. Это также тип энергонезависимой памяти.

Эти характеристики означают, что ее можно использовать в качестве альтернативы ОЗУ в системах, которым требуется огромный объем системной памяти, создание которой с использованием ОЗУ было бы слишком дорого (например, в системах с базами данных в оперативной памяти). Компромисс заключается в том, что такие системы не получают полного прироста производительности за счет использования оперативной памяти.

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

Гетерогенные вычисления — это многообещающее направление для решения проблем производительности и мощности в современных высокопроизводительных вычислениях. Для этой цели система ЦП-ПЛИС перспективна благодаря высокой гибкости ПЛИС, позволяющей настраивать под различные вычислительные задачи для повышения производительности и энергоэффективности. Однако, как наилучшим образом связать ЦП с ускорителем ПЛИС, не так просто. Традиционно CPU-FPGA взаимодействует через прямой доступ к памяти (DMA). В последнее время для повышения эффективности связи между ЦП и ПЛИС и упрощения модели программирования также предлагаются тесно связанные системы ЦП-ПЛИС с общей иерархией кэш-памяти (например, Intel HARP и IBM POWER с CAPI). Такие новые архитектуры создают новые проблемы при разработке систем совместной работы ЦП и ПЛИС. В этом докладе мы представим некоторые из наших работ по исследованию архитектуры памяти систем CPU-FPGA и подходов к управлению кешем для повышения эффективности использования кеша FPGA, нацеленных на появляющуюся систему общего кеша.

«На пути к масштабируемым вычислениям в ближней памяти с реконфигурируемыми вычислительными данными»

Проф. Хейден С.О. (HKU)

Аннотация

Недавние достижения в области технологий памяти обещают новую парадигму высокоэффективных вычислений, близких к данным. Вместо многократного переноса данных в центральный вычислительный конвейер для обработки через иерархию памяти эти новые системы позволяют переносить вычисления в места, близкие к местам, где находятся данные, и напрямую работать с системой хранения в памяти параллельно с основным ЦП. Уменьшение перемещения данных повышает производительность и энергоэффективность системы, что делает их привлекательными для приложений, обрабатывающих большие объемы данных, особенно разреженных и случайных структур, таких как графы, которые страдают от низкой пространственной и временной локальности в традиционной иерархии кэш-памяти. В этом докладе будет представлена ​​новая вычислительная модель, которая объединяет вычисления и данные как элементарные единицы. Предлагаемая система работает с интеллектуальными запоминающими устройствами, которые дополняются подключенными реконфигурируемыми ускорителями на основе ПЛИС.Основной ЦП разделяет доступ к интеллектуальной памяти в соответствии с парадигмой неоднородного доступа к памяти (NUMA), в то время как разрабатываются новые методологии аппаратно-программного кодирования для облегчения переноса вычислительных задач между ЦП и ускорителями. Первые результаты продемонстрировали осуществимость, преимущества в производительности, а также гибкость предлагаемого подхода при развертывании в различных гетерогенных системах. Будут обсуждаться текущие усилия по развитию системы.

Читайте также: