`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Андрей Зубинский

Очень новое - это очень хорошо забытое очень старое

+99
голосов

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

Итак, - Burrogh. Конечно, - знаменитый Барроус, один из первых серьёзных западных производителей вычислительных систем, оборудование которых поставлялось в СССР официально, а не чёрным импортом, через третьи страны, сквозь кордоны CoCom (было такое образование во времена [пред?]последней холодной войны).

Модель 5000. Машина, специально созданная для поддержки на аппаратном уровне ПО, созданного я языках высокого уровня - Algol и Cobol тогда уже были, и по сей день кажутся далеко не такими плохими языками.

Особенности архитектуры центрального процессора: вместо регистрового банка - аппаратно реализованный стек, с доступными для каждой команды вершиной и лежащей под ней ячейкой, причём как ячейками длиной в слово, так и двойными, - для команд расширенной точности. Посдсистема памяти также преподносит сюрприз - каждое машинное слово B5000 сопровождалось группой из трёх битов - меткой слова (word tag), определяющей класс, к которому относится это слово. Например, - для кодов команд был свой класс, при этом на аппаратном уровне как коды программы были защищены от модификаций, так и было запрещено передавать управление на блоки данных.Три бита позволяли описать восемь классов слов, - и кроме "кода", к этим классам относились данные одиночной и двойной точности, а также специальные "управляющие коды", например, вынесенные в отдельный класс команды манипуляции аппаратным стеком. Метки слов, используемые как модификаторы команд, позволили реализовать самоконфигурирующиеся машинные команды, то есть, - единая команда ADD определяла классы своих операндов (например, один из них - число с одинарной точностью, второй - с двойной) и затем уже выполнялась. Забавно, что использование меток слов приводило всего к 6%  перерасхода оперативной памяти (исключительно дорогой в те времена), - сегодня 6% от 1GB,  составляющие прримерно 64 MB, стоят сущие гроши (центы?).

Но главной архитектурной особенностью машины было то решение архитекторов Барроус, из-за которого машина получила кодовое название "The Descriptor". Дексриптор - специальная команда, обеспечивающая аппаратно поддержанный (!) механизм доступа к областям памяти с автоматической проверкой невыхода за границы доступа и битовой меткой, индицирующей факт загрузки области памяти в ОЗУ. Иными словами, - фактически с аппаратной поддержкой оверлеев и... виртуальной памяти.

Изюминок у B5000 было немало. Чего стоит, например, машинная команда завершённой транзакции "чтение-запись слова данных", облегчающая реализацию семафоров в многозадачных приложениях, Барроус даже продумал интерфейс к этой команде (и сопутствующим) из языков высокого уровня - тип данных "событие" (event) и генерируемые по требованию программиста программные прерывания. А машинная команда... итератора связных списков LLLU (Linked List LookUp), также поддержанная аппаратно?

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

Конечно, - виноваты в этом масоны, потому что они виноваты вообще во всём.

Шучу.

Одна из главных причин - в стековых машинах очень трудно реализовать развитые механизмы оптимизации потока вычислений, доступные разработчикам регистровых архитектур (исполнение out of order и проч.). Соответственно, - как только достигается предел тактовой частоты, возникают нюансы с производительностью.

Правда, физические стековые машины так и не достигли предела тактовой частоты.

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

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

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+99
голосов

Напечатать Отправить другу

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

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT