Введение

Серия Burroughs B1000 представляла собой серию мейнфреймных компьютеров, разработанных корпорацией Burroughs и впервые представленных в 1970-х годах, с продолжением разработки программного обеспечения до 1987 года. Серия состояла из трех основных поколений: B1700, B1800 и B1900. Они также были известны как Малые системы Burroughs, в отличие от Больших систем Burroughs (B5000, B6000, B7000, B8000) и Средних систем Burroughs (B2000, B3000, B4000). Большая часть первоначальных исследований для B1700, первоначально носившая кодовое название PLP ("Proper Language Processor" или "Процессор языков программирования"), была проведена на заводе Burroughs в Пасадене. Производство B1700 началось в середине 1970-х годов и осуществлялось как на заводах в Санта-Барбаре, так и в Льеже (Бельгия). Основная часть конструкторских работ была выполнена в Санта-Барбаре, за исключением модели B1830, разработанной в Льеже.

Записываемый контрольный магазин

B1000 отличалась от других машин тем, что имела записываемую память управления, позволяющую машине эмулировать любую другую машину. Burroughs MCP (Master Control Program) планировал выполнение конкретной задачи. MCP предварительно загружал интерпретатор для необходимого языка. Эти интерпретаторы представляли различные виртуальные машины для COBOL, Fortran и т.д. Важная идея о "семантическом разрыве" между идеальным представлением решения конкретной задачи программирования и реальным физическим оборудованием иллюстрировала неэффективность существующих аппаратных реализаций. Три архитектуры Burroughs представляли собой попытку решить эту проблему путем создания аппаратного обеспечения, согласованного с языками высокого уровня, так называемый проектирование, ориентированное на язык (современный термин; сегодня чаще называемое "компьютерной архитектурой языков высокого уровня"). Большие системы были стековыми машинами и очень эффективно выполняли ALGOL. Средние системы (B2000, 3000 и B4000) были ориентированы на бизнес-среду и выполнение COBOL (поэтому все операции, включая адресацию памяти, выполнялись в BCD). Серия B1000, пожалуй, была единственным "универсальным" решением с этой точки зрения, поскольку использовала идеализированные виртуальные машины для любого языка. Аппаратное обеспечение было разработано для усиления этой возможности. Наиболее очевидными примерами были память с битовой адресацией, арифметико-логическое устройство (ALU) переменного размера и возможность логического ИЛИ (OR) данных из регистра в регистр команд, обеспечивающая очень эффективный разбор команд. Другой особенностью машинного языка было то, что выходные данные ALU представлялись в виде различных адресуемых регистров. X+Y и X Y – это два регистра только для чтения в машинном языке.

Внутренние

Одной из уступок тому факту, что Burroughs в основном поставлял оборудование для бизнеса (и, следовательно, использовал COBOL), была поддержка BCD-арифметики в арифметико-логическом устройстве (АЛУ). Внутренне машины использовали 16-битные инструкции и 24-битную шину данных. Битово-адресуемая память достаточно эффективно поддерживала такую архитектуру. Внутренне, память более поздних поколений хранила данные по 32-битным границам, но могла читать данные, пересекая эту границу, и выдавать объединенный результат. Первоначальные аппаратные реализации были построены на основе семейства Complementary Transistor Logic (CTL), изначально разработанного Fairchild Semiconductor, но с появлением модели B1955 в 1979 году в серии стала использоваться более популярная (и более доступная) логическая семья TTL. До B1955 логика управления была реализована с помощью ПЗУ (PROM), мультиплексоров и подобных элементов. B1965, последняя модель серии, была реализована с помощью пары микрокодовых последовательностей, работающих синхронно друг с другом. Большинство инструкций выполнялись за один цикл. Этот первый цикл декодировался FPLA с использованием 16 входов (идеальный размер для 16-битного машинного слова) и 48 минтермов. Последующие циклы многоцикловой инструкции получались из ПЗУ. Выходы FPLA и ПЗУ были соединены вместе. FPLA управляла выходными сигналами в первом цикле, а затем переходила в высокоимпедансное состояние. ПЗУ управляли линиями управления до завершения выполнения инструкции.

В/В

Система ввода-вывода для серии B1000 состояла из 24-битной шины данных и управляющих импульсов для связи с периферийными устройствами. Процессор помещал данные в шину данных, а затем уведомлял периферийное устройство о наличии данных. Многие периферийные адаптеры были достаточно простыми, и процессор фактически управлял конечными автоматами адаптера, последовательно обращаясь к ним для выполнения операций. Более поздние модели машин серий 1800 и 1900 могли быть сконфигурированы как с одним, так и с двумя процессорами. Это были тесно связанные системы, конкурирующие за доступ к основной памяти. Модели B1955 и B1965 могли поддерживать до четырех процессоров на шине памяти, но как минимум один из них назначался многоканальному адаптеру, обеспечивающему последовательный ввод-вывод для системы. Фактически продавались только конфигурации с двумя процессорами. Многоканальный адаптер мог поддерживать несколько последовательных линий RS485 со скоростью 19,2 Кбит/с в многоточечной конфигурации. Последовательный ввод-вывод осуществлялся посредством опроса. Терминал ожидал своего адреса, захватывал линию и отправлял накопленные данные. Многоканальный адаптер осуществлял прямой доступ к памяти (DMA) в формате связанного списка. Следовательно, процессорам не приходилось обрабатывать прерывания, связанные с последовательным вводом-выводом. Это обеспечивалось тем, что поддерживались только терминалы, работающие в блочном режиме. Серия B1000 могла адресовать максимум 2 мегабайта памяти. По современным меркам, когда доступны гигабайты памяти, это кажется довольно ограниченным, но большинству коммерческих установок хватало сотен килобайт памяти.