Метка «risc»

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

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

Если когда-нибудь вы задумывались над тем, что значат слова «the processor supports precise aborts» в даташите, прошу под кат.
Читать полностью »

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

В качестве примера я возьму простенькую систему на кристалле, основанную на 32-битном гарвардском RISC-процессоре с одноуровневой кэш-памятью и без MMU (что-то типа ARM Cortex-R). Процессор подключен к контроллеру внешней памяти через 32-битную шину AMBA AHB, работающую на частоте процессора.

Секреты кэш памяти, или как потратить 1000 тактов на 10 команд
Читать полностью »

Как мы соединяли свой ЦОД с ЦОДом заказчика

Представьте задачу:

  • Вы решили стартовать IT-проект, который требует большой вычислительной мощности.
  • «Взлетит» он или нет, станет понятно через 3 месяца.
  • Космически дорогое железо (несколько серверов по цене квартиры в Москве каждый) покупать не хочется, но при этом надо сразу стартовать так, чтобы потом не было сложностей с масштабированием до серьёзной highload-системы, то есть хочется эластичного «облака».
  • В перспективе — необходимость быстро обрабатывать много данных и массу операций чтения-записи. То есть, потребуются тяжелые сервера-«молотилки», которые не могут горизонтально масштабироваться – такое в «облако» не запихнёшь.
  • При этом надо создать единое сетевое пространство, как если бы «молотилки» вашего ЦОДа и сервера «облака» находились в соседних стойках, и настроить всё так, чтобы на уровне приложений не приходилось думать про физическое воплощение железа;
  • Обеспечить адекватную техподдержку, которая способна закрыть все вопросы по проекту (сеть, сервера, прикладные системы) — и всё это без поиска новых администраторов себе в штат.
  • До кучи — запуститься очень быстро;
  • И всё это —в Москве, чтобы обеспечить минимальные лаги.

В начале этого года к нам пришел заказчик именно с такими задачами. Читать полностью »

О суперскалярах, параллелизме и кризисе жанра
Наверное, ни для кого из хабралюдей не будет новостью то, что основополагающие идеи и принципы, заложенные в нынешней цифровой технике и ее компонентах, родом из далекого по компьютерным меркам прошлого, а именно – из середины предыдущего века. Именно тогда были придуманы те основы, которые вот уже 50 лет с успехом разрабатывают, совершенствуют и продают крупнейшие (и не столь большие) компании сектора IT – в их строю, конечно, и Intel. Однако при всей очевидности данное положение навевает определенно пессимистический настрой: неужели все великие идеи закончились, и наше поколение обречено на мелочное ковыряние в Великом Наследии Прошлого?
Рассмотрим один конкретный и неудивительный для этого блога пример – заглянем в мысли тех, кто думает об усовершенствовании процессорных архитектур.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js