SQUOZE


Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

SQUOZE (сокращенно SQZ ) представляет собой эффективное по памяти представление объединенного исходного и перемещаемого объектного программного файла с таблицей символов на перфокартах, который был представлен в 1958 году с ассемблером SCAT [1] [2] в операционной системе SHARE (SOS). ) для IBM 709 . [3] [4] Программа в этом формате называлась декой SQUOZE . [5] [6] [7] Он также использовался на более поздних машинах, включая IBM 7090 и 7094 .

Кодирование

В кодировке SQUOZE идентификаторы в таблице символов были представлены в 50-символьном алфавите , что позволяло 36-битному машинному слову представлять шесть буквенно-цифровых символов плюс два флаговых бита, таким образом экономя два бита на шесть символов, [6] [1] потому что шесть битов, обычно выделяемых для каждого символа, могут хранить до 64 состояний, а не только 50 состояний, необходимых для представления 50 букв алфавита, а 50 6  <2 34 .

Этимология

«Squoze» - шутливое причастие прошедшего времени от глагола «сжимать». [5] [6]

Название SQUOZE позже было заимствовано для аналогичных схем, используемых на машинах DEC ; [4] они имели алфавит из 40 символов (50 в восьмеричной системе ) и назывались DEC RADIX 50 и MOD40 , [8] но иногда назывались DEC Squoze .

Смотрите также

использованная литература

  1. ^ a b c ПОДЕЛИТЬСЯ Системный комитет 709, изд. (Июнь 1961 г.) [1959 г.]. «Раздел 02: Язык SCAT; Приложение 1: Таблица допустимых символов; Приложение 3: Формат колоды SQUOZE - Глава 8: Словарь». Справочное руководство SOS - Система SHARE для IBM 709 (PDF) . Нью-Йорк, США: SOS Group, International Business Machines Corporation . С. 02.00.01 - 02.00.11, 12.03.08.01 - 12.03.08.02, 12.01.00.01. Х28-1213. Распределение № 1–5. Архивировано (PDF) из оригинала 18.06.2020 . Проверено 18 июня 2020 . стр. 12.03.08.01 - 12.03.08.02: […] Используемые битовые позиции […] Бит 0 […] Бит 1 […] Биты 2–35 […] База 50представление символа с заголовком. […] Представление символа по основанию 50 получается следующим образом: […] a. Если символ состоит менее чем из пяти символов, он возглавляется (пробелом, если он находится в незаглавленной области). […] Б. Символ с его символом заголовка выравнивается по левому краю, а все неиспользуемые младшие позиции заполняются пробелами. […] C. Каждый символ в символе заменяется его эквивалентом по основанию 50. […] D. Результат затем преобразуется следующим образом: если символ после того, как каждый символ заменяется его эквивалентом по основанию 50, равен ABCDEF, его представление по основанию 50 будет (A * 50 2 + B * 50 + C) * 2 17 + (Д * 50 2 + Е * 50 + Ж). […] [1] [2]
  2. ^ Саломон, Дэвид (февраль 1993 г.) [1992]. Написано в Калифорнийском государственном университете, Нортридж, Калифорния, США. Чиверс, Ян Д. (ред.). Сборщики и загрузчики (PDF) . Серия Эллиса Хорвуда в компьютерах и их приложениях (1 -е изд.). Честер, Западный Суссекс, Великобритания: Ellis Horwood Limited / Simon & Schuster International Group . ISBN  0-13-052564-2. Архивировано (PDF) из оригинала 23 марта 2020 года . Проверено 1 октября 2008 . (xiv + 294 + 4 страницы)
  3. ^ Джейкоб, Брюс; Ng, Spencer W .; Ван, Дэвид Т .; Родригез, Сэмюэл (2008). «Часть I Глава 3.1.3 Оптимизация локальности в сети: динамическое сжатие инструкций и данных» . Системы памяти: кэш, DRAM, диск . Серия Морган Кауфманн в компьютерной архитектуре и дизайне. Издательство Morgan Kaufmann / Elsevier. п. 147. ISBN. 978-0-12-379751-3. (900 страниц)
  4. ^ a b Джонс, Дуглас В. (2018). «Лекция 7, Коды объектов, загрузчики и компоновщики - Заключительные шаги на пути к машинному коду» . Операционные системы, весна 2018 . Часть коллекции операционных систем CS: 3620. Университет Айовы , факультет компьютерных наук. Архивировано 06.06.2020 . Проверено 6 июня 2020 .
  5. ^ а б Бем, Элейн М .; Стил-младший, Томас Б. (июнь 1958 г.). Машинная реализация символического программирования - Резюме доклада, который будет представлен на собрании ACM летом 1958 года . ACM '58: препринты докладов, представленных на 13-м национальном собрании Ассоциации вычислительной техники. С. 17-1–17-3. DOI : 10.1145 / 610937.610953 . Архивировано 06.06.2020 . Проверено 6 июня 2020 . (3 страницы)
  6. ^ a b c Бем, Элейн М .; Стил-младший, Томас Б. (апрель 1959 г.). «Система SHARE 709: Машинная реализация символического программирования» . Журнал ACM . 6 (2): 134–140. DOI : 10.1145 / 320964.320968 . S2CID 16545134 . Архивировано 4 июня 2020 года . Проверено 4 июня 2020 . С. 137–138: […] Есть интересная особенность, связанная с кодировкой символов для включения в словарь. В обычном способе выражения символы могут быть составлены из набора из 50 знаков. Если бы кодирование было посимвольным, для представления каждого такого символа потребовалось бы шесть битов. Поскольку символ может содержать до шести символов, для представления каждого символа потребуется всего 36 битов. Это может показаться удобным, поскольку длина слова 709 составляет ровно 36 бит, но мгновенное рассмотрение показывает, что это неудачно, поскольку было бы желательно иметь несколько битов в том же слове, что и представление символа, что дает ключ к разгадке. природе символа. Эти биты отметки могут быть получены. Пусть каждый возможный символ представляет цифру в системе счисления, имеющуюоснование пятидесяти . Теперь шесть символьных символов можно читать как натуральные числа в системе с основанием пятидесяти. Если эти числа преобразованы в обычную систему с основанием два, для максимального числа потребуется только 34 бита, и будет получено усиление в два бита флага. У этого есть случайная особенность уменьшения необходимого количества битов для представления всего кода, но время преобразования перевесило бы экономию со значительным запасом, если бы не специфическая длина слова 709. Вот ясная иллюстрация того критического влияния, которое точные спецификации рассматриваемой машины имеют над деталями схемы кодирования. […]CS1 maint: неподходящий URL ( ссылка ) (7 страниц)
  7. ^ Shell, Дональд Л. (апрель 1959 г.) [октябрь 1958 г.]. «Система SHARE 709: совместные усилия» . Журнал ACM . 6 (2): 123–127. DOI : 10.1145 / 320964.320966 . S2CID 16476514 . Архивировано 16 июня 2020 года . Проверено 16 июня 2020 .  (5 страниц)
  8. ^ "8.10 .RAD50". Ассемблер PAL-11R - Руководство программиста - Язык ассемблера программ и перемещаемый ассемблер для дисковой операционной системы (2-е исправленное печатное издание). Мейнард, Массачусетс, США: Digital Equipment Corporation . Май 1971 года [февраль 1971 года]. п. 8-8. DEC-11-ASDB-D . Проверено 18 июня 2020 . п. 8-8: […] Системные программы PDP-11 часто обрабатывают символы в специально закодированной форме, называемой RADIX 50 (эту форму иногда называют MOD40 ). Эта форма позволяет упаковывать 3 символа в 16 бит […] [3]

дальнейшее чтение

  • Уильямс, Эл (22 ноября 2016 г.). «Скройте свои данные» . Hackaday . Архивировано 06.06.2020 . Проверено 6 июня 2020 .
  • Ehrman, J .; Снайдер, Дж. Н. (1964-04-15). «3.3.2.1 SCAT». Исполнительная система PORTHOS для IBM 7094 - Руководство пользователя (PDF) . Университет Иллинойса , Лаборатория цифровых компьютеров Аспирантуры. Архивировано (PDF) из оригинала 07.06.2020 . Проверено 7 июня 2020 .[…] SCAT - это двухкомпонентный ассемблер, который вкратце работает следующим образом: программы, написанные символически в виде одного порядка на карту, на первом этапе загружаются «компилятором», который сканирует программу на наличие символов и выводит сжатую колоду карт (SQUOZE колода), содержащий таблицы этих символов и программу, сжатую и эффективно закодированную. На втором этапе эта колода SQUOZE загружается программой «изменения и загрузки», которая преобразует объектную программу в двоичный машинный язык, который по желанию может быть либо загружен готовым к запуску, либо выводится на абсолютные двоичные карты (23 заказа на карту) для загрузки. и работает в более позднее время. «Листер» может создать печатную версию программы на любом из этих этапов. Символические поправки к программе могут быть вставлены во вторую фазу вместе с декой SQUOZE. […] (1 стр.)
Источник « https://en.wikipedia.org/w/index.php?title=SQUOZE&oldid=989973877 »