Как стать автором
Обновить

Почему не нужно сваливать на неточность O-оценок свои проблемы

Время на прочтение7 мин
Количество просмотров18K
На написание данного поста меня подвигла недавняя публикация этого и вот этого переводов, в которых авторы в интеллигентной форме выражают свое недовольство по поводу того, как O-оценки вычислительной сложности классических, казалось бы, алгоритмов вступили в диссонанс с их практическим опытом разработки. Основным предметом критики послужила модель памяти, в рамках которой эти оценки были получены — она, де, не учитывает особенности иерархической организации по принципу быстродействия, которая имеет место быть в современных вычислительных системах. От чего и произрастают все последующие неприятности. И судя по наблюдаемой реакции благодарных читателей, авторы далеко не одиноки в своем негодовании и желании «наехать» на классиков с их О-большими. Так возможно, действительно стоит отправить на свалку истории выкладки дядек в белых халатах, сделанные ими для ламповых тугодумающих и пышащих жаром машин, и дать дорогу молодым амбициозным моделям, более точно отражающим анатомию современного «железа»?

А ты учел константу в О-большом?

Давайте разбираться
Читать дальше →
Всего голосов 105: ↑96 и ↓9+87
Комментарии87

Оптимизация кода: память

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

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

image

Иерархия памяти работает, потому что хорошо написанные программы имеют тенденцию обращаться к хранилищу на каком-то конкретном уровне более часто, чем к хранилищу на более низком уровне. Так что хранилище на более низком уровне может быть медленнее, больше и дешевле. В итоге мы получаем большой объём памяти, который имеет стоимость хранилища в самом низу иерархии, но доставляет данные программе со скоростью быстрого хранилища в самом верху иерархии.
Читать дальше →
Всего голосов 80: ↑78 и ↓2+76
Комментарии99

Наконец-то приличный отечественный процессор ЦОС – 1967BH28

Время на прочтение3 мин
Количество просмотров48K
image

Несмотря на стремительное развитие процессоров общего назначения (ARM, x86 и более экзотических), не теряют своей актуальности специализированные процессоры цифровой обработки сигналов (ЦОС). Одним из самых популярных процессоров ЦОС с плавающей точкой в родном отечестве стал процессор ADSP-TS201S фирмы Analog Devices. В свое время (10-15 лет назад) этот процессор не знал себе равных в высокопроизводительных системах ЦОС, работающих в реальном времени. Его основные характеристики:

  • Частота процессора – 600 MГц
  • Объем внутренней памяти – 3 МБайта
  • 4 высокоскоростных порта – 600 Мбайт/сек
  • Внешняя шина – 100 МГц
  • Каналы DMA – 12 каналов

Решения на процессоре ADSP-TS201S хорошо себя зарекомендовали в широком классе аппаратуры как гражданского, так и не очень гражданского назначения. Но всему хорошему приходит сами знаете что конец.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+57
Комментарии90

Уязвимость старой Ubuntu через аудиофайл, проигрываемый эмуляцией процессора 1975 года

Время на прочтение3 мин
Количество просмотров13K


Уязвимость и ошибка логического разделения поселились в плеере gstreamer версий 0.10.x для музыкальных файлов Nintendo Entertainment System, сообщил Крис Эванс в своем блоге о кибербезопасности. Уязвимость системы позволяет получить стабильный доступ к использованию и обхождению 64-битных ASLR, DEP и так далее. Такое стало возможным благодаря наличию поддержки тьюринг-полного скриптования музыкальных файлов внутри плеера. Уязвимость кроется в поддержке обратной совместимости.

Уязвимости подвержена Ubuntu старой, все еще поддерживаемой LTS-версии 12.04.5. В последующих версиях используется новый glibc, и эксплойт в системе уже не работает.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии6

Процессор, он же чипсет, он же чип, он же платформа, он же система на кристалле или на что обратить внимание при выборе

Время на прочтение5 мин
Количество просмотров22K

«Любая, достаточно развитая технология неотличима от магии»


Артур Кларк


Более 24 тыс. различных устройств, более тысячи различных производителей – огромная фрагментация — и это только на Android… Как в таком море вариантов выбрать то, что нужно именно вам?



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


Выбор смартфона стал затруднителен как никогда. Лет десять назад дизайн смартфонов имел куда большее значение, каждый новый девайс был уникален внешне – погуглите, посмотрите, например, как выглядели «мультимедийные компьютеры» Nokia N-series! (Например). Это были реальные произведения инженерного искусства. И в первую очередь, дизайн помогал определиться с выбором. Сейчас — другое дело: все смартфоны сенсорные, почти без кнопок, без движущихся частей, прямоугольные, с ходу не просто отличить.

Читать дальше →
Всего голосов 23: ↑13 и ↓10+3
Комментарии13

Heterogeneous System Architecture или о встрече CPU и GPU

Время на прочтение11 мин
Количество просмотров19K
Долгое время развитие микроэлектроники проходило под девизом «меньше и быстрее». Уменьшался техпроцесс, вводились новые элементы архитектуры x86 (наборы расширений инструкций), увеличивалась тактовая частота вычислительного ядра. Когда рост «грубой» производительности упёрся в экономические и физические факторы, популярными стали различные способы параллелизации вычислений. В то же время развивались не только CPU, показывавшие хорошую производительность в однопоточных и сложных вычислениях, но и GPU, способные быстро выполнять большое количество однотипных и простых задач, которые с трудом поддавались обычным процессорам.



Сегодня мы вступаем в новую эпоху развития чипов, отвечающих за проведение вычислений в сердцах десктопов, серверов, мобильных девайсов и носимой электроники. Объединив подходы к обработке информации на CPU и GPU мы разработали новую, открытую архитектуру, без которой дальнейшее исполнение того же закона Мура представляется трудновыполнимым. Встречайте HSA — Гетерогенную Системную Архитектуру.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии4

Cоздан первый рабочий прототип однокристального электронно-оптического процессора

Время на прочтение5 мин
Количество просмотров18K
Приветствуем наших читателей на страницах блога iCover! Исследователи из Университета Колорадо Боулдер (Colorado Boulder), в сотрудничестве с коллегами из Университета Калифорнии, Беркли и Массачусетского Технологического института (MIT), разработали первый действующий прототип энергоэффективного однокристального электронно-оптического микропроцессора, два ядра которого RISC-V обмениваются данными с памятью SRAM не по электрическому, а по оптическому интерфейсу.


Подробнее
Всего голосов 21: ↑21 и ↓0+21
Комментарии9

Intel анонсировала первый процессор Xeon для ноутбуков

Время на прочтение1 мин
Количество просмотров13K


Intel объявила о планах выпуска процессора Intel Xeon E3-1500M v5, предназначенного для использования в мобильных рабочих станциях.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии9

КА Аполлон

Время на прочтение2 мин
Количество просмотров7.1K
В 1968 году был разработан бортовой управляющий компьютер КА Аполлон (Apollo Guidance Computer — AGC), в котором впервые применили микросхемы.

AGC создавался учеными и инженерами в лаборатории приборов Массачусетского технологического института для программы Аполлон. Руководил разработкой Чарльз Старк Дрейпер, а главным конструктором аппаратного обеспечения был Элдон Холл. Изначальные изыскания проводили: Лэнинг Младший, Альберт Хопкинс, Рамон Алонсо и Хьюг Блэйр-Смит. Серийное производство осуществлялось фирмой Рейтеон, причём в группу разработчиков был включён её представитель, Херб Тэлер.

В компьютере использовалось 2800 микросхем, каждая из которых содержала два элемента исключающее ИЛИ. Тактовая частота составляла 2 МГц. Весила модель 250 кг.

Читать дальше →
Всего голосов 25: ↑14 и ↓11+3
Комментарии9

Qualcomm выпустила собственный серверный процессор

Время на прочтение2 мин
Количество просмотров12K


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

Такой процессор может пригодиться владельцам крупнейших дата-центров мира, включая корпорации Facebook и Google, а также сервис-провайдеров и крупные компании. Новый чип, по словам разработчиков, подходит для таких сфер, как когнитивные системы, дата майнинг, SaaS и прочие.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии2

3D микрочип, в 1000 раз быстрее существующих

Время на прочтение4 мин
Количество просмотров16K
Ученые изобрели новый метод разработки и создания компьютерных микрочипов, который способен значительно ускорить обработку данных как минимум в 1000 раз по сравнению с существующими CPU. Основывается данный метод на материале, называемом углеродными нанотрубками и позволяет строить микрочип в трех измерениях.



По словам Макса Шалакера (Max Shulaker), члена команды дизайнеров чипа и кандидата на получение докторской степени в области электротехники Стэнфордского университета Калифорнии, такой 3D проект значительно экономит место в системе и увеличивает скорость обработки данных. Достигается это благодаря тому, что ученые вмещают память, хранящую все данные и уплотняют число процессоров в миниатюрное пространство.
Читать дальше →
Всего голосов 26: ↑16 и ↓10+6
Комментарии30

Intel 8086 — процессор, открывший эпоху

Время на прочтение8 мин
Количество просмотров43K

История создания легенды


Сегодня, в 2018 году, мы отмечаем сорокалетие, пожалуй, ключевого в истории персональных компьютеров процессора, а именно – Intel 8086.
image

Именно с него началась эпоха архитектуры x86, заложившей основы развития процессоров на многие годы и десятилетия вперед, именно ему мы обязаны взлету популярности компьютера как индивидуальной единицы, доступной каждому пользователю. В честь 40-летнего юбилея процессора, с которого началось превращение Intel в многомиллиардную корпорацию, компания представила небольшой символический подарок своим поклонникам — им стал юбилейный i7-8086K, первым процессором в истории Intel, способным работать на частоте 5 ГГц прямо из коробки.

image

Но сегодня мы не будем петь дифирамбы инженерам современных процессоров-лидеров, а вернемся в далекое прошлое, в 1976 год, где и началась история Intel 8086. И началась она с совершенно другого процессора.
Всего голосов 44: ↑39 и ↓5+34
Комментарии229

NVIDIA. Раскрывая тайны архитектуры GPU Turing следующего поколения: удвоенный Ray Tracing, GDDR6 и многое другое

Время на прочтение9 мин
Количество просмотров14K
На презентации NVIDIA SIGGRAPH 2018 генеральный директор компании Дженсен Хуан официально представил долгожданную (и вызвавшую многочисленные слухи и домыслы) архитектуру Turing GPU. Следующее поколение графических процессоров NVIDIA, Turing, будет включать в себя ряд новых функций, и увидит мир уже в этом году. Хотя в центре внимания сегодняшних анонсов оказалась профессиональная визуализация (ProViz), мы ожидаем, что новая архитектура будет использоваться и в других предстоящих продуктах NVIDIA. Сегодняшний обзор это не просто перечисление всех особенностей Тьюринг.


Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии2

Два бита на транзистор: ПЗУ высокой плотности в микросхеме с плавающей запятой Intel 8087

Время на прочтение17 мин
Количество просмотров16K
Intel разработала чип 8087 в 1980 году для того, чтобы улучшить производительность ПК с процессорами линеек 8086/8088 (таких, как IBM PC) при выполнении операций с плавающей запятой. Поскольку первые микропроцессоры были предназначены для выполнения операций с целыми числами, выполнение операций с числами с плавающей запятой было медленным, что уже и говорить о выполнение трансцендентных операций, таких как тригонометрические функции или логарифмы. Сопроцессор 8087 значительно повысил скорость выполнения задач с плавающей запятой, все выполнялось почти в 100 раз быстрее. Архитектура 8087 была реализована и в более поздние процессоры Intel, а инструкции 8087 по-прежнему используются в современных x86 ПК. Intel представила в 1980 году чип 8087, предназначенный для улучшения производительности вычислений с плавающей запятой на процессорах 8086 и 8088.

Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии7

Школа по основам цифровой схемотехники: Новосибирск — Ок, Красноярск — приготовиться

Время на прочтение8 мин
Количество просмотров5.5K


Со 2 по 5 октября в Новосибирске прошла школа по основам цифровой схемотехники, архитектуры и использования Verilog. Формальное название мероприятия: школа для магистрантов и аспирантов, проходившая в Новосибирском государственном техническом университет в рамках XIV Международной научно-технической конференции «Актуальные проблемы электронного приборостроения» АПЭП-2018, проводимой под эгидой IEEE.


Данное мероприятие было в первую очередь ориентировано на тех, кто:


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

Анонс: аналогичная школа запланирована с 6 по 9 ноября на базе Института космических и информационных технологий Сибирского федерального университета (ИКИТ СФУ). Вести школу будут Алина Лесковская — аспирант, инженер-конструктор АО ИСС им.М.Ф.Решетнева, а также ее коллеги: Дмитрий Власов и Борис Дудкин. Контакт для регистрации: leskovskayaav@yandex.ru


Если ваша должность звучит как минимум «Junior FPGA Developer», то с высокой вероятностью вы не узнаете в этом посте ничего для себя нового. Для всех остальных – добро пожаловать под кат.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии4

Чем заняться процессору, когда нечего делать?

Время на прочтение5 мин
Количество просмотров19K
Разумно было бы предполагать, что для ядра довольно легко будет ничего не делать – но это не так. На конференции Kernel Recipes 2018 Рафаэль Высоцкий рассказал о том, чем занимаются процессоры, когда им нечего делать, как это обрабатывает ядро, какие у текущей стратегии есть проблемы, и как его недавняя работа над циклом бездействия улучшила ситуацию с энергопотреблением систем, которые ничего не делают.

Цикл бездействия, одна из подсистем ядра, которую поддерживает Высоцкий, управляет тем, что делает CPU, когда ему не нужно исполнять никаких процессов. Высоцкий очень точно дал все определения: CPU – это такая сущность, которая может принимать инструкции из памяти и выполнять их одновременно с другими сущностями в той же системе, занимающимися тем же самым. На простейшей однопроцессорной системе с одним ядром этим ядром является CPU. Если у процессора несколько ядер, то каждое из этих ядер – CPU. Если у каждого из ядер есть несколько интерфейсов для одновременного исполнения инструкций – Intel называет такую систему "гиперпоточностью" – тогда каждый из этих потоков будет CPU.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии8

Больше кофе, меньше кофеина: Intel 9th Gen (часть 1)

Время на прочтение16 мин
Количество просмотров23K
Часть 1 Часть 2Часть 3 Часть 4

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



Обновление Coffee Lake


В публикации анонса Intel, мы подробно остановилось на трех новых процессорах. Вот краткое напоминание о новейшем чипе на рынке. В настоящее время выпущены три процессора: 8-ядерный Core i9-9900K, способный работать на частоте 5,0 ГГц «из коробки», 8-ядерный Core i7-9700K, который немного дешевле, и 6-ядерный Core i5-9600K, который по спецификациям заслуживает звание «поглотителя рынка».
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии22

Ученые разработали чип для планирования движения роботов в реальном времени

Время на прочтение4 мин
Количество просмотров8.9K
image

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

Исследователи из университета Дьюка нашли способ ускорить планирование движения роботов в три раза при использовании одной двадцатой мощности, требуемой для этого сегодня. В основе их решения лежит специализированный процессор, который может выполнять наиболее трудоемкую часть работы – проверку всех возможных столкновений во всем диапазоне движения робота – с высокой эффективностью.
Всего голосов 18: ↑18 и ↓0+18
Комментарии22

Фотографии кристалла процессора Intel 8008, который дал жизнь первым ПК

Время на прочтение3 мин
Количество просмотров47K

Фотография кристалла микропроцессора Intel 8008 под микроскопом (см. фотографию большего разрешения 3565×2549)

Энтузиаст микропроцессоров и зарядных устройств Кен Ширрифф (Ken Shirriff) хорошо известен в сообществе электролюбителей. Он раньше публиковал обстоятельные хорошо иллюстрированные репортажи с разбором крохотного зарядного устройства для iPhone, десятка других зарядных устройств, среди которых великолепное изделие Apple даже не самое лучшее. В 2013 году он провёл реверс-инжиниринг ALU в процессоре Z80 по его фотографиям (это процессор из Osborne 1, TRS-80 и Sinclair ZX Spectrum).

Сейчас Шеррифф обратил внимание на исторический процессор Intel 8008 — первый 8-битный центральный процессор, выпущенный фирмой Intel 1 апреля 1972 года, то есть почти 45 лет назад, по цене $120. Микросхема Intel 8008 позиционировалась для продвинутых калькуляторов, но в итоге нашла своё место в первых персональных компьютерах.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии20