Рубрика «cpu» - 4

Проектируем самодельный 16-битный CPU в 2023 году - 1


Для создания самодельного CPU требуется большое количество чипов логики. И в самом деле разумно, что для реализации регистров, счётчика команд, АЛУ и других компонентов CPU на логике TTL или CMOS действительно необходимо существенное число чипов. Но сколько конкретно?

Я попытался оптимизировать свой самодельный CPU, минимизировав количество чипов логики, чтобы ответить на вопрос: какое минимальное число интегральных схем требуется для полного по Тьюрингу CPU без CPU?

Мой ответ: для создания 16-битного последовательного CPU нужно всего 8 интегральных схем, включая память и тактовый генератор. Он имеет 128 КБ SRAM, 768 КБ FLASH и его можно разгонять до 10 МГц. Он содержит только 1-битное АЛУ, однако большинство из его 52 команд работает с 16-битными значениями (последовательно). На своей максимальной скорости он исполняет примерно 12 тысяч команд в секунду (0,012 MIPS) и, среди прочего, способен выполнять потоковую передачу видео на ЖК-дисплей на основе PCD8544 (Nokia 5110) с частотой примерно 10 FPS.Читать полностью »

Как работает компьютер: глубокое погружение (на примере Linux) - 1

Введение

Я делал много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думал об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовал системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?

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

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

Более удобный формат статьи.

Читать полностью »

Pier-Luc Brault придумал забавную игру, которая превращает вас в... операционную систему. Некий пользователь загружает нас процессами, которые нужно распределять по свободным CPU. Если мы будем плохо справляться с задачей, пользователь выйдет из себя и перезагрузит нас. Game over.  

Интерфейс игры

Интерфейс игры

Идеей игры Pier-Luc Brault сначала поделился со своим другом-компьютерщиком Сэмом в письме:

Читать полностью »

Топология памяти

Очень часто вижу подход к серверам и вычислительной инфраструктуре на кухонном уровне даже от вроде бы профессиональных людей с высочайшими ЗП в полмиллиона и выше.
Сервер - это просто большой макбук, а СХД просто большой диск.

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

Объяснять буду реально на желудях и шишках, поэтому сразу просьба к крутым суперпрофи - не надо пытаться меня уличить, это не для вас написано.

Читать полностью »

Обнаружил баг американской системы образования - 1

Обнаружил интересный баг американской системы образования:

У многих студентов в резюме стоит "делал курсовой проект по алгоритму Томасуло, out-of-order суперскаляру, многопоточному процессору итд".

Читать полностью »

AMD победил? Компания представила новую линейку процессоров EPYC, тогда как Intel перенес запуск на 2023 год - 1

Привет! Посмотрел накануне презентацию нового поколения серверных процессоров AMD EPYC™. Компания продолжила свой «тур по Италии»: к Риму, Милану и Неаполю добавилась Генуя (Genoa). Примечательно, что главный конкурент AMD — компания Intel — перенес запуск серверных процессоров на начало 2023 года.

Несмотря на то, что добрую половину презентации представитель AMD говорил об энергоэффективности и выбросах СO2, сосредоточусь на технических характеристиках новых AMD EPYC™ 9004 Genoa. Также сравню их с предыдущим поколением.
Читать полностью »

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

Читать полностью »

Привет! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервисов, то иногда можно наблюдать большую разницу в высоких квантилях: клиент считает, что один ответ из сотни ему приходит за сто миллисекунд, сервер же говорит, что успевает ответить за десять.

Куда ушло время? Можно ли его вернуть? Сегодня расскажу о том, с какими граблями может столкнуться микросервис, живущий в типичной инсталляции Kubernetes.

Читать полностью »

Render Loop крутится — кадры мутятся.

Доброго времени суток, уважаемые читатели. Здесь я начинаю свой цикл статей о работе с графикой в iOS.

В моих планах разобраться с работой базовых механик отрисовки и углубиться к таким вещам как AVFoundation, Metal.

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

  • FPS

  • Render Loop

  • Проблемы с производительностью

  • Оптимизации

Что такое FPS?

Как говорит вики — это “Ка́дровая частота́Читать полностью »

Apple анонсировала M1 Pro и M1 Max: гигантские новые SoC на архитектуре ARM с полной производительностью - 1

Сегодняшний основной доклад Apple Mac был очень насыщенным — компания анонсировала новую линейку устройств MacBook Pro на базе двух различных новых SoC в линейке Apple Silicon: M1 Pro и M1 Max.

M1 Pro и Max представляют собой продолжение прошлогоднего M1, процессора Mac первого поколения Apple, который стал первым этапом для Apple в реализации планов по замене процессоров на архитектуре x86 чипами собственного дизайна. M1 был успешным для Apple, продемонстрировав фантастическую производительность при невиданной доселе энергоэффективности на рынке ноутбуков. Хотя M1 достаточно быстрый, это все еще был небольшой SoC. Он предназначался, в первую очередь, для таких устройств, как iPad Pro. Соответственно, у него более низкий TDP, уступающий более производительным и мощным чипам от конкурентов.
Читать полностью »


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