Talk:Burroughs большие системные дескрипторы

Компилятор C?

Существует ли на самом деле компилятор C для B5000?

Из текста следует, что Паскаль появился раньше Алгола, и Алгол улучшил систему malloc(), используемую в Си.

Я почти уверен, что для B5500, который я использовал в 1967 году, не существовало компилятора C.

Gah4 ( обсуждение ) 09:40, 23 февраля 2008 (UTC) [ ответ ]

Компилятор Pascal находился в разработке примерно в 1983 году, когда я работал в Burroughs. Я ушёл в 1984 году. Компилятор C был разработан после того, как я ушёл. Поэтому мы можем с уверенностью предположить, что компиляторы Pascal и C были доступны для машин серии A. Не уверен, поддерживались ли (или какие) более старые машины. pbannister ( talk ) 19:53, 7 сентября 2016 (UTC) [ reply ]

Для B5000 это не так, но в настоящее время существует компилятор C, разработанный, вероятно, в конце 1980-х годов для системы компиляции слайсов.
Около 1983 года компилятор Pascal, возможно, был компилятором Uni of Tasmania. Slice появился позже. Я помню, как видел исходный код компилятора UTas. Ian.joyner ( talk ) 10:42, 30 сентября 2024 (UTC) [ ответить ]

Общая точность

Текст смешивает утверждения о конкретных машинах (B5000) с битовыми схемами более поздних членов архитектуры (например, 20-битные адреса памяти). Он также называет бит 47 B5000 битом P, без явного предупреждения о том, что эта нумерация битов неоднозначна (B5000 нумеровал MSB как 0, а не 47).

Помимо этого, как отмечено выше, есть незначительные проблемы, связанные с отсылками к Pascal, C и т. д., которые, возможно, можно было бы улучшить. MarkMLl ( обсуждение ) 09:12, 9 марта 2014 (UTC) [ ответ ]

Я выдернул весь текст о бите присутствия из серии B6xxx и поместил его в начало раздела «Подробности», так как он применим ко всем машинам, и заменил ссылки на «бит 47» ссылками на «p-бит» (тот факт, что на некоторых машинах это бит 47 с определенной нумерацией битов, не представляет общего интереса; его можно охватить макетами в разделах ниже). Гай Харрис ( обсуждение ) 06:05, 29 июля 2022 (UTC) [ ответить ]
Да, слишком много было привязано к B5000. Я попытался сделать его более современным с текущими системами Unisys MCP. Ian.joyner ( talk ) 10:44, 30 сентября 2024 (UTC) [ ответить ]
Вы проверили, что материал B000, который вы меняете, действителен для B6500 через clearpath? B5000 и B6500 радикально отличаются, так что дьявол кроется в деталях.
NTW. Я неохотно вернул ваши изменения времени из-за MOS:TENSE . Мне на самом деле нравится ваш стиль, но ... -- Шмуэль (Сеймур Дж.) Метц Имя пользователя: Chatul ( обсуждение ) 15:41, 30 сентября 2024 (UTC) [ ответить ]

компилятор Burroughs Slice

Мало кто знает о нем, но помнят. Поиски типа Slice Burroughs -"bit-slice"не находят почти никаких упоминаний, смешанных с множеством ложных результатов (многие вещи и людей называют "slice"/"slicing" и "Burroughs"). Один ответ на Quora подтверждает несколько деталей в статье (я выделил жирным шрифтом) и несколько расширяет ее:

Подождите, я еще не закончил с Pascal. Очень желая компилятор Eiffel в средах, в которых я работал, я принялся за компилятор Burroughs (Unisys MCP) Eiffel. У Burroughs была обобщенная система компиляции под названием Slice (вероятно, эквивалент LLVM). Она разделяла синтаксический анализ, от семантики до промежуточных древовидных структур программ и генератора кода. Угадайте что — все это было написано на расширенном Pascal. Шотландец Мэтт Миллер написал компилятор Pascal и очень хотел, чтобы я сделал Eiffel. Я начал с компилятора C (написанного Стивом Бартельсом) и адаптировал его (C был интересным зверем на машинах Burroughs, Стив сделал так, чтобы в нем были проверки границ, и мы обнаружили массу проблем в программах [C], которые мы портировали из довольно крупных и известных компаний , даже сегодня!)

—  ответ на Quora от Яна Джойнера из Университета Маккуори, 18 августа 2018 г.

Подобные поисковые запросы могут дать еще несколько упоминаний: Unisys "Slice compiler"- A876 ( обсуждение ) 20:54, 28 августа 2019 (UTC) [ ответить ]

«Это разделило синтаксический анализ, от семантики до промежуточных древовидных структур программ и генератора кода». - не только в Slice и LLVM; система компилятора GEM компании DEC [1] (первоначально разработанная для процессора DEC PRISM и операционной системы DEC MICA ) имела такое разделение, и коллекция компиляторов GNU также работает таким образом (я не знаю, работал ли оригинальный компилятор GNU C). Кроме того, бэкэнд компилятора VAX PL/I, генератор кода VAX, позже использовался для компилятора VAX C компании DEC, хотя я не знаю, был ли он изначально разработан для поддержки нескольких фронтендов. Slice, возможно, был первым таким компилятором или одним из первых таких компиляторов, но эта идея использовалась в других местах задолго до LLVM. Гай Харрис ( обсуждение ) 06:38, 29 июля 2022 (UTC) [ ответить ]
Я исправил это, чтобы больше не упоминать LLVM. Гай Харрис ( обсуждение ) 03:13, 1 октября 2024 (UTC) [ ответить ]
Я думаю, что здесь может быть некоторая путаница между системами bit-slice и компиляторами slice. Насколько мне известно, никакой связи нет. Я не знаю, почему система компилятора была названа 'slice'. Возможно, Мэтт Миллер знает, где бы он сейчас ни был. Ian.joyner ( talk ) 10:47, 30 сентября 2024 (UTC) [ ответить ]
Понятие -"bit-slice"поиска Google для «...но не показывайте мне ничего, что упоминает бит-слайс компьютеры», то есть «бит-слайс» упоминается здесь только потому, что пользователь, который выполнял поиск, не хотел, чтобы Google путал это с бит-слайсингом. Гай Харрис ( обсуждение ) 03:25, 1 октября 2024 (UTC) [ ответить ]

Ссылки

  1. ^ Дэвид С. Бликштейн; Питер В. Крейг; Кэролайн С. Дэвидсон; Р. Нил Фэрнан-младший; Кент Д. Глоссоп; Ричард Б. Гроув; Стивен О. Хоббс; Уильям Б. Нойс (1992). "Система компилятора оптимизации GEM" (PDF) . Цифровой технический журнал . 4 (4).

Другие системы на основе дескрипторов?

Я добавил это предложение «Однако другие системы не основаны на дескрипторах и имеют добавленную виртуальную память поверх базовой архитектуры процессора». в конце раздела истории, который я добавил, но оно может быть не совсем верным. У Multics вполне могла быть какая-то форма дескриптора, основанная на системах GE. Я почти уверен, что у систем IBM не было дескрипторов. Ian.joyner ( talk ) 09:57, 30 сентября 2024 (UTC) [ ответить ]

Другие производители использовали термин дескриптор с другой [a] семантикой. Я не знаю, есть ли такие с такой же семантикой, но см. Адресация на основе возможностей .. -- Шмуэль (Сеймур Дж.) Метц Имя пользователя: Chatul ( обсуждение ) 15:06, 30 сентября 2024 (UTC) [ ответ ]
Спасибо. Я сделал обзор онлайн и литературы (около 8 книг по ОС и 5 по архитектуре процессора/системы) после того, как написал это, и хотя слово дескриптор использовалось, в лучшем случае его значение было очень разбавленным. Это само по себе могло бы стать темой обзора для рассмотрения здесь. (Это похоже на то, как если бы фраза OO была неправильно использована и применена к языкам вроде C++.)
Кстати, вы случайно не нажали кнопку «отменить» в моих изменениях прошедшего времени о B5000? Моя цель — показать, что B5000 был давно в прошлом, но перенесен на современные машины, которые сняли указанные ограничения. Использование настоящего времени подразумевает, что B5000, хотя и давно ушедшая, является текущим состоянием этих машин, что еще раз говорит о том, что вся эта статья неактуальна.
Эти статьи о Burroughs актуальны по трем причинам: первая и наименее важная — исторический интерес к системам Burroughs, во-вторых, эти идеи по-прежнему в основном актуальны в Unisys Clearpath, и, в-третьих, будущие архитектуры систем должны включать в себя какой-то механизм безопасности дескрипторов/возможностей, о котором вы знаете. Ian.joyner ( обсуждение ) 23:29, 30 сентября 2024 (UTC) [ ответ ]
Я вернулся к настоящему времени из-за MOS:TENSE . Я предпочитаю прошедшее время для снятых с производства машин, но считаю, что мы не должны сознательно отклоняться от фирменного стиля. -- Шмуэль (Сеймур Дж.) Метц Имя пользователя: Chatul ( обсуждение ) 12:24, 1 октября 2024 (UTC) [ ответить ]
Главное, что должен указать текст, это то, что задействованы две архитектуры набора инструкций: B5000/5500/5700 ISA и B6500-и-последователи ISA, первая из которых была прекращена, а вторая сохраняется по сей день (хотя и реализована в программном обеспечении на процессорах x86-64). Как только вы это сделаете, прошедшее время не понадобится, когда речь идет о машинах B5000/5500/5700. Гай Харрис ( обсуждение ) 01:27, 1 октября 2024 (UTC) [ ответить ]
Я подправил дескрипторы больших систем Burroughs § Интеграция в архитектуру памяти , чтобы упомянуть также B5500 и B5700 при упоминании B5000, чтобы указать, что это серия машин. Я изменил предложение о B6500, чтобы не говорить, что оно «расширило» его, так как это можно было бы истолковать как то, что B6500 был B5xxx с большим размером адреса, а не первым из совершенно новой линейки машин (которая имеет больший размер адреса, но также совершенно другой набор инструкций и т. д.).
В следующем предложении говорится о том, что 20-битный адрес стал недостаточным к середине 70-х годов, и говорится о двух решениях — «Swapper», который «реализует еще один уровень поверх управления памятью, перемещая большие кластеры связанных данных в память и из нее одновременно», и «память адресного пространства». Я предполагаю, что оба они были реализованы в серии B6500 и ее последователях; это следует прояснить, и для обоих из них следует предоставить больше подробностей.
После этого говорится, что «С появлением серии A в начале 1980-х годов значение этого поля было изменено, чтобы содержать адрес главного дескриптора»; должно быть сказано, что это за поле. Гай Харрис ( обсуждение ) 02:55, 1 октября 2024 (UTC) [ ответить ]
Зависит от того, что вы подразумеваете под «дескриптором».
Я не думаю, что какая-либо серия GE 600, включая 645, или ее непосредственные последователи ссылались на операнды через дескрипторы в стиле Burroughs, которые 1) содержали информацию о границах и 2) были защищены от изменений пользователем; адресное пространство GE 645 состояло из набора сегментов, каждый из которых имел длину, но данные внутри сегмента ссылались напрямую. (Я думаю, что была какая-то «новая архитектура» для более поздних систем — она не поддерживала Multics — но я не знаю, было ли это радикальным изменением, которое добавило что-то похожее на дескрипторы Burroughs.)
System/38 от IBM — это... интересная система. Все компиляторы, предлагаемые клиентам, и некоторые внутренние компиляторы IBM, производят набор инструкций очень высокого уровня, называемый "MI" (Machine Interface), который, насколько мне известно, никогда не выполняется напрямую. Вместо этого он транслируется в собственный двоичный код в наборе инструкций, называемом "IMPI".
MI описан в IBM System/38 Functional Reference Manual-Volume 1 и IBM System/38 Functional Conceptsts. Инструкции ссылаются на объекты через таблицу определения объектов. Один тип объекта — «указатель данных», который «содержит атрибуты скалярных элементов данных и адресуемость к местоположению в пространстве».
IMPI описан в справочнике IBM System/38 Internal Microprogramming Instructions Formats and Functions. «Микропрограммирование» здесь — это своего рода юридический термин; по словам Фрэнка Солтиса , одного из архитекторов System/38, IBM не хотела делать низкоуровневое системное программное обеспечение для S/38 доступным для производителей клонов, если они станут объектом антимонопольного иска и проиграют его, поэтому они назвали это программное обеспечение «вертикальным микрокодом» и сделали группу, разрабатывающую его, частью группы по аппаратному обеспечению, но на самом деле это просто машинный код, работающий вне основной памяти, а код MI выполняется путем его трансляции в код IMPI (и сохранения результатов трансляции, так что это происходит заранее, а не точно вовремя) и запуска этого кода. Микрокод, реализующий IMPI, называется «горизонтальным микрокодом».
IMPI — довольно традиционная архитектура с 16 16-битными GPR (нижние 16 из них можно рассматривать как пары из 16 8-битных регистров) и 16 32-битными регистрами идентификаторов сегментов, которые спариваются с соответствующими GPR для создания 48-битных адресов. Адреса хранятся в памяти как 64-битные значения, содержащие 48-битный адрес и 16 других бит; они хранятся в памяти внутри области, которая помечена как содержащая адреса, так что они не могут быть изменены непривилегированным кодом. Адреса транслируются в физические адреса через (инвертированную) таблицу страниц, поэтому виртуальная память подкачивается.
AS/400 был продолжением, с тем же MI и, изначально, возможно, похожим IMPI. Затем IBM переделала его с расширенной версией PowerPC, с поддержкой тегового бита, заменив IMPI; программы, для которых был доступен исходный MI, просто повторно транслировались в расширенный код PowerPC. Это продолжается и на машинах IBM Power Systems при запуске IBM i .
Я не уверен, насколько широко определения объектов служат чем-то вроде дескрипторов, но эти определения, я думаю, в основном используются во время двоичной трансляции, с границами и другими проверками, выполняемыми по мере необходимости сгенерированным кодом. (Клиенты не могут напрямую писать код IMPI или PowerPC/Power ISA или компилировать код в код IMPI или PowerPC/Power ISA.) Гай Харрис ( обсуждение ) 23:06, 30 сентября 2024 (UTC) [ ответ ]
Спасибо, парень. Я только что опубликовал это для Chatul: я сделал обзор онлайн и литературы (около 8 книг, которые у меня есть по ОС, и 5 по архитектуре процессора/системы) после того, как написал это, и хотя слово «дескриптор» использовалось, в лучшем случае его значение было очень разбавленным. Это само по себе могло бы стать темой обзора, чтобы рассмотреть его здесь. (Это скорее похоже на то, как если бы фраза «ОО» была неправильно использована и применена к таким языкам, как C++.)
Таким образом, я думаю, что большинство других машин использовали слово дескриптор, но не в том смысле, в котором его понимают дескрипторы Берроуза. Возможно, наиболее близкими могут быть ICL 1900 и 2900, поскольку на них оказал влияние Дж. К. Илифф, который был на той же сессии, что и Бартон в 1958 году. Его книга «Basic Language Machine» описывает очень похожие идеи Бартона и Берроуза.
Может быть, это также восходит к Эллиотту и Ферранти?
На данный момент это немного неясно, откуда именно взялись дескрипторы и как еще они использовались. Они, безусловно, должны быть идеей, заново открытой для будущих системных архитектур и поддерживающих процессоров. Ian.joyner ( talk ) 04:39, 1 октября 2024 (UTC) [ ответить ]
К сожалению, Bitsavers, похоже, не имеет никакого справочного руководства по набору инструкций для серии 1900, но страница серии ICT 1900 предполагает, что это довольно стандартная машина с базовым и граничным регистром. Однако, согласно The ICL 2900 Series , серия ICL 2900, похоже, имеет дескрипторы, которые могут быть похожи, в некотором роде, на дескрипторы больших систем Burroughs, хотя дескрипторы содержат виртуальный адрес и длину, причем виртуальный адрес находится в сегментированном адресном пространстве, а сегмент, возможно, разбит на страницы. Машины Burroughs упоминаются как оказавшие влияние; Basic Language Machine, по словам Джона Илиффа (разработчика компьютеров) § The Basic Language Machine , рассматривалась как вариант для машин ICL следующего поколения, но была отклонена в пользу того, что в конечном итоге стало дизайном 2900.
Что касается Эллиотта и Ферранти, возможно, у людей были какие-то из этих идей в голове, но проявились ли какие-либо из них в продуктах Эллиотта или Ферранти?
Некоторые машины, основанные на возможностях, на которые стоит обратить внимание:
  • Плесси 250 ;
  • iAPX 432 ;
  • процессор BiiN (он же оригинальная версия Intel i960 первого поколения , в других версиях которой отсутствуют различные функции — я чуть было не сказал «различные возможности», но это было бы слишком саркастично :-));
  • ЧЕРИ;
некоторые из которых используют термин «дескриптор», а некоторые — нет. Гай Харрис ( обсуждение ) 08:59, 1 октября 2024 (UTC) [ ответить ]

Примечания

  1. ^ Например,

    Это далеко не полный список.

Прошедшее и настоящее время в серии B5000

MOS:TENSE говорит:

По умолчанию пишите статьи в настоящем времени , включая те, которые охватывают художественные произведения (см. Wikipedia:Writing better articles § Tense in fiction ) и продукты или произведения, выпуск которых прекращен. Как правило, используйте прошедшее время только для прошлых событий и для субъектов, которые мертвы или больше не существуют по смыслу. Используйте прошедшее время для статей о периодических изданиях, которые больше не выпускаются, с исключениями, продиктованными здравым смыслом.

и приводит в качестве примера PDP-10 — семейство мэйнфреймовых компьютеров, выпускавшееся компанией Digital Equipment Corporation с 1966 по 1980-е годы. , где для PDP-10 используется «is» в настоящем времени, а «manufacture» — в прошедшем времени, поскольку PDP-10 больше не производятся.

Если кто-то не согласен с тем, что говорят создатели Manual of Style , он должен обсудить это на странице обсуждения Wikipedia:Manual of Style . Если кто-то не согласен, что это применимо здесь, он должен попросить интерпретацию MOS:TENSE на этой странице обсуждения. Гай Харрис ( обсуждение ) 07:19, 30 ноября 2024 (UTC) [ ответить ]

Парень мелочен (возможно, из-за обмена мнениями на Medium, где я его вежливо поправил) и прибегает к руководствам по стилю, которые рекомендуют использовать настоящее время. Хотя это правильно, у нас есть прошедшее время, чтобы обозначать вещи, которые больше не существуют, как в случае с B5000, B5500, B5700. Подразумевать, что это современные системы, использующие настоящее время, неправильно и сбивает с толку случайных читателей.
Гай отменил только мои модификации прошедшего времени, но не все другие прошедшие времена, использованные в этой статье. Поэтому его модификации лицемерны.
Он понижает тон WP до уровня очень плохих социальных сетей. Это не форум для этого. Ian.joyner ( talk ) 11:51, 30 ноября 2024 (UTC) [ ответить ]
Пожалуйста, прекратите нападки ad hominem . Не лицемерие — менять только те случаи использования прошедшего времени, которые MOS:TENSE говорит изменить, и не лицемерие — игнорировать некоторые, которые требуют изменения. — Шмуэль (Сеймур Дж.) Метц Имя пользователя: Chatul ( обсуждение ) 13:48, 2 декабря 2024 (UTC) [ ответить ]
Как насчет изменений: «Стэн Гилл выступил с докладом о виртуальной памяти в компьютере Atlas I. Пол Кинг передал эти идеи в Burroughs, и было решено, что виртуальная память должна быть встроена в ядро ​​B5000».
на «Стэн Гилл делает презентацию о виртуальной памяти в компьютере Atlas I. Пол Кинг переносит идеи обратно в Burroughs, и принимается решение, что виртуальная память должна быть встроена в ядро ​​B5000».
Такое строгое требование настоящего времени абсурдно. Ian.joyner ( обсуждение ) 11:56, 30 ноября 2024 (UTC) [ ответить ]
Это соломенный болванчик, так как он противоречит MOS:TENSE . Мне не нравится этот стиль, но это не мой мяч, и не я устанавливаю правила. -- Шмуэль (Сеймур Дж.) Метц Имя пользователя: Chatul ( обсуждение ) 13:48, 2 декабря 2024 (UTC) [ ответить ]
Обратите внимание, что стиль говорит использовать настоящее время по умолчанию, но использовать здравый смысл. Это явно системы, о которых имеет смысл говорить только в прошедшем времени — иначе будет передана неверная информация. Ian.joyner ( talk ) 03:41, 3 декабря 2024 (UTC) [ ответить ]
Взято с "https://en.wikipedia.org/w/index.php?title=Обсуждение:Burroughs_large_systems_descriptors&oldid=1260891534"