SQUOZE (abreviado como SQZ ) es una representación de memoria eficiente de una fuente combinada y un archivo de programa de objeto reubicable con una tabla de símbolos en tarjetas perforadas que se introdujo en 1958 con el ensamblador SCAT [1] [2] en el sistema operativo SHARE (SOS ) para el IBM 709 . [3] [4] Un programa en este formato se llamaba deck SQUOZE . [5] [6] [7] También se utilizó en máquinas posteriores, incluidas las IBM 7090 y 7094 .
Codificación
En la codificación SQUOZE , los identificadores en la tabla de símbolos se representaron en un alfabeto de 50 caracteres , lo que permite que una palabra de máquina de 36 bits represente seis caracteres alfanuméricos más dos bits de bandera, ahorrando así dos bits por seis caracteres, [6] [1] porque los seis bits normalmente asignados para cada carácter podrían almacenar hasta 64 estados en lugar de solo los 50 estados necesarios para representar las 50 letras del alfabeto, y 50 6 <2 34 .
Dígitos más significativos | Dígitos menos significativos | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
dic | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | ||
oct | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
dic | oct | Compartimiento | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
+0 | 0 | 000 | espacio | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
+8 | 1 | 001 | 7 | 8 | 9 | A | B | C | D | mi |
+16 | 2 | 010 | F | GRAMO | H | I | J | K | L | METRO |
+24 | 3 | 011 | norte | O | PAG | Q | R | S | T | U |
+32 | 4 | 100 | V | W | X | Y | Z | = # | /% | ) ⌑ |
+40 | 5 | 101 | + Y | - | - @ | + Y | - | * | / | PS |
+48 | 6 | 110 | , | . | N / A | N / A | N / A | N / A | N / A | N / A |
Etimología
"Squoze" es un participio pasado gracioso del verbo "apretar". [5] [6]
El nombre SQUOZE más tarde se tomó prestado para esquemas similares utilizados en máquinas DEC ; [4] tenían un alfabeto de 40 caracteres (50 en octal ) y se llamaban DEC RADIX 50 y MOD40 , [8] pero a veces se les llamaba DEC Squoze .
Ver también
- BCD empaquetado
- Codificación Hertz
- Codificación Chen – Ho
- Decimal densamente empaquetado (DPD)
- BCD (codificación de caracteres)
- Base 50 (sistema de numeración)
- Conversión base
Referencias
- ^ a b c Comité del Sistema SHARE 709, ed. (Junio de 1961) [1959]. "Sección 02: Lenguaje SCAT; Apéndice 1: Tabla de caracteres permitidos; Apéndice 3: Formato de cubierta SQUOZE - Capítulo 8: Diccionario". Manual de referencia SOS - Sistema SHARE para IBM 709 (PDF) . Nueva York, Estados Unidos: SOS Group, International Business Machines Corporation . págs. 02.00.01 - 02.00.11, 12.03.08.01 - 12.03.08.02, 12.01.00.01. X28-1213. Distribución No. 1–5. Archivado (PDF) desde el original el 18 de junio de 2020 . Consultado el 18 de junio de 2020 . pp. 12.03.08.01 - 12.03.08.02:
[…] Posiciones de bit utilizadas […] Bit 0 […] Bit 1 […] Bits 2–35 […] Representación en base 50 del símbolo con carácter de encabezado. […] La representación en base 50 de un símbolo se obtiene de la siguiente manera: […] a. Si el símbolo tiene menos de cinco caracteres, está encabezado (en blanco si está en una región sin encabezado). […] B. El símbolo con su [s] carácter de encabezado está justificado a la izquierda y cualquier posición de orden inferior no utilizada se rellena con espacios en blanco. […] C. Cada carácter del símbolo se reemplaza por su equivalente en base 50. […] D. El resultado se convierte entonces de la siguiente manera: si el símbolo, después de que cada carácter es representado por su equivalente en base 50, es ABCDEF, su representación en base 50 es (A * 50 2 + B * 50 + C) * 2 17 + (D * 50 2 + E * 50 + F). […]
[1] [2] - ^ Salomon, David (febrero de 1993) [1992]. Escrito en la Universidad Estatal de California, Northridge, California, EE. UU. Chivers, Ian D. (ed.). Ensambladores y cargadores (PDF) . Serie Ellis Horwood en Computadoras y sus aplicaciones (1 ed.). Chicester, West Sussex, Reino Unido: Ellis Horwood Limited / Simon & Schuster International Group . ISBN 0-13-052564-2. Archivado (PDF) desde el original el 23 de marzo de 2020 . Consultado el 1 de octubre de 2008 . (xiv + 294 + 4 páginas)
- ^ Jacob, Bruce; Ng, Spencer W .; Wang, David T .; Rodrigez, Samuel (2008). "Parte I Capítulo 3.1.3 Optimizaciones de localidad en línea: compresión dinámica de instrucciones y datos" . Sistemas de memoria: caché, DRAM, disco . La serie Morgan Kaufmann en arquitectura y diseño informático. Editorial Morgan Kaufmann / Elsevier. pag. 147. ISBN 978-0-12-379751-3. (900 páginas)
- ^ a b Jones, Douglas W. (2018). "Lección 7, Códigos de objeto, cargadores y enlazadores - Pasos finales en el camino hacia el código de máquina" . Sistemas operativos, primavera de 2018 . Parte de la colección de sistemas operativos CS: 3620. Universidad de Iowa , Departamento de Ciencias de la Computación. Archivado desde el original el 6 de junio de 2020 . Consultado el 6 de junio de 2020 .
- ^ a b Boehm, Elaine M .; Steel, Jr., Thomas B. (junio de 1958). Implementación mecánica de la programación simbólica: resumen de un documento que se presentará en la reunión de verano de 1958 de la ACM . ACM '58: Preprints de trabajos presentados en la 13ª reunión nacional de la Association for Computing Machinery. págs. 17-1–17-3. doi : 10.1145 / 610937.610953 . Archivado desde el original el 6 de junio de 2020 . Consultado el 6 de junio de 2020 . (3 páginas)
- ^ a b c Boehm, Elaine M .; Steel, Jr., Thomas B. (abril de 1959). "El sistema SHARE 709: Implementación mecánica de programación simbólica" . Revista de la ACM . 6 (2): 134–140. doi : 10.1145 / 320964.320968 . S2CID 16545134 . Archivado desde el original el 4 de junio de 2020 . Consultado el 4 de junio de 2020 . pp. 137-138:
[…] Hay una característica interesante relacionada con la codificación de símbolos para su inclusión en el diccionario. En el modo de expresión habitual, los símbolos se pueden construir a partir de un conjunto de 50 caracteres. Si la codificación fuera carácter por carácter, se necesitarían seis bits para la representación de cada uno de esos caracteres. Como un símbolo puede contener hasta seis caracteres, se necesitaría un total de 36 bits para la representación de cada símbolo. Esto puede parecer conveniente, ya que la longitud de una palabra 709 es exactamente de 36 bits, pero un momento de consideración muestra que es desafortunado, ya que sería deseable tener uno o dos bits disponibles en la misma palabra que la representación del símbolo, lo que da una pista. a la naturaleza del símbolo. Estos bits de señalización se pueden obtener. Deje que cada carácter posible represente un dígito en un sistema numérico que tiene una base de cincuenta . Ahora, los símbolos de seis caracteres pueden leerse como números naturales en un sistema de base cincuenta. Si estos números se convierten al sistema habitual de base dos, solo se requieren 34 bits para el número máximo y se ha obtenido una ganancia de dos bits de bandera. Esto tiene la característica incidental de disminuir el número requerido de bits para representar el código completo, pero el tiempo de conversión superaría el ahorro por un margen significativo si no fuera por la longitud peculiar de la palabra 709. Aquí hay una ilustración clara del efecto crítico que tienen las especificaciones precisas de la máquina en cuestión sobre los detalles de un esquema de codificación. […]
CS1 maint: URL no apta ( enlace ) (7 páginas) - ^ Shell, Donald L. (abril de 1959) [octubre de 1958]. "El sistema SHARE 709: un esfuerzo cooperativo" . Revista de la ACM . 6 (2): 123-127. doi : 10.1145 / 320964.320966 . S2CID 16476514 . Archivado desde el original el 16 de junio de 2020 . Consultado el 16 de junio de 2020 . (5 páginas)
- ^ "8.10 .RAD50". Ensamblador PAL-11R - Manual del programador - Lenguaje ensamblador de programa y ensamblador reubicable para el sistema operativo de disco (segunda edición revisada). Maynard, Massachusetts, Estados Unidos: Digital Equipment Corporation . Mayo de 1971 [febrero de 1971]. pag. 8-8. DIC-11-ASDB-D . Consultado el 18 de junio de 2020 . pag. 8-8:
[…] Los programas de sistemas PDP-11 a menudo manejan símbolos en una forma codificada especialmente llamada RADIX 50 (esta forma a veces se conoce como MOD40 ). Este formulario permite empaquetar 3 caracteres en 16 bits […]
[3]
Otras lecturas
- Williams, Al (22 de noviembre de 2016). "Squoze tus datos" . Hackaday . Archivado desde el original el 6 de junio de 2020 . Consultado el 6 de junio de 2020 .
- Ehrman, J .; Snyder, JN (15 de abril de 1964). "3.3.2.1 SCAT". El sistema ejecutivo PORTHOS para IBM 7094 - Manual del usuario (PDF) . Universidad de Illinois , Laboratorio de Computación Digital de la Facultad de Graduados. Archivado (PDF) desde el original el 7 de junio de 2020 . Consultado el 7 de junio de 2020 .
[…] SCAT es un ensamblador de dos partes que, en resumen, funciona de la siguiente manera: Los programas escritos simbólicamente como un pedido por tarjeta son ingeridos durante la primera fase por el "compilador" que escanea el programa en busca de símbolos y genera una baraja de tarjetas condensada (SQUOZE deck) que contiene tablas de estos símbolos y el programa condensado y codificado eficientemente. Durante la segunda fase, esta baraja SQUOZE es ingerida por el programa "modificar y cargar" que convierte el programa objeto a lenguaje de máquina binario que, por opción, puede cargarse listo para ejecutarse o enviarse a tarjetas binarias absolutas (23 pedidos por tarjeta) para cargar y funcionando en un momento posterior. El "lister" puede producir una versión impresa del programa en cualquiera de estas etapas. Las correcciones simbólicas de un programa se pueden insertar en la segunda fase junto con la plataforma SQUOZE. […]
(1 pagina)