вторник, 10 сентября 2013 г.

Реконфигурируемые структуры

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

Позднее я стал изучать программируемые логические интегральные схемы (ПЛИС). На данный момент есть несколько процессоров общего назначения таких как MIPS, ARM, x86 реализованных на основе ПЛИС.
Примеры можно найти на http://opencores.org/.
Думаю что будущее вычислительных систем за динамически создаваемыми схемами внутри ПЛИС(FPGA). Под конкретную задачу - своя схема. Конфигурация в ПЛИС должна храниться в быстрой SRAM памяти для ускорения загрузки, кроме того, должна быть возможность в частичном обновлении схемы "на лету".

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

А в последнее время нашел несколько статей по этой теме. Видно что активно ведутся работы в этом направлении.

четверг, 24 января 2013 г.

Сложное или простое?

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

Схема реобаса

Прорабатывая эту тему наткнулся на эту статью, жаль я мало имел дела с AVR-контроллерами.

О последовательных интерфейсах

Сейчас в компьютерах есть по крайней мере 3 последовательных интерфейса: USB, SATA и PCI-e тоже является набором последовательных линий.

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

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

Думаю в скором будущем производители придут к единому стандарту интерфейсов для коммуникации компонентов внутри компьютера и с внешним миром. Хорошим кандидатом на эту роль считаю LVDS. У процессора будет достаточно большой пул унифицированных последовательных портов с возможностью объединения в группы подключенные к одному устройству для увеличения пропускной способности. Через эти интерфейсы к нему будет подключаться практически всё: RAM, ROM, монитор, звуковой кодек и другие периферийные устройства. Как раньше в модемах будет стандартный низкоскоростной протокол, который поддерживают все устройства. С помощью этого протокола при включении устройства договариваются о методе передачи, шифровании, количестве линий, определяется тип устройства.

Такие вот мечты о светлом будущем разработчика.

воскресенье, 20 января 2013 г.

Управление ключами

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

вторник, 22 мая 2012 г.

Пропорциональная модуляция

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

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

Схема вполне эффективно работает, вентилятор почти не слышно, но есть один недостаток, стабилитрон греется. Рассеиваемая мощность составляет 1Вт = 3.3В * 0,3А. И еще хотелось бы иметь возможность регулировать скорость, а на материнской плате регулируется только вентилятор процессора.

среда, 11 апреля 2012 г.

Распределенная Bit Angle Modulation

Часто, для управления мощностью нагрузки используется широтно-импульсная модуляция. То есть энергия поступает в нагрузку периодами и потребляемая мощность зависит от соотношения периодов включения и выключения.
Описание BAM.
Как видно из описания, периоды включения распределены неравномерно. Попробуем это исправить. Я попробовал поменять местами старшие и младшие биты адреса.