# Burroughs B1700

La serie Burroughs B1000 fue una serie de computadoras centrales, construidas por Burroughs Corporation, e introducidas originalmente en la década de 1970 con un desarrollo de software que continuó hasta 1987. La serie constaba de tres generaciones principales, que eran las máquinas de las series B1700, B1800 y B1900. También se los conocía como Burroughs Small Systems, en contraste con Burroughs Large Systems (B5000, B6000, B7000, B8000) y Burroughs Medium Systems (B2000, B3000, B4000).
Gran parte de la investigación original para el B1700, inicialmente con el nombre en código PLP ("Procesador de lenguaje adecuado" o "Procesador de lenguaje de programa"), se realizó en la planta de Burroughs Pasadena
La producción de los B1700 comenzó a mediados de la década de 1970 y se produjo en las plantas de Santa Bárbara y Lieja, Bélgica . La mayor parte del trabajo de diseño se realizó en Santa Bárbara, siendo el B1830 la excepción al ser diseñada en Lieja.

## Características
### Unidad de control grabable

El B1000 se distinguía de otras máquinas en que tenía una unidad de control grabable que permitía a la máquina emular cualquier otra máquina. El Burroughs MCP (Master Control Program) programaría la ejecución de un trabajo en particular. El MCP precargaría el intérprete para cualquier idioma que se requiera. Estos intérpretes presentaron diferentes máquinas virtuales para COBOL, Fortran, etc.
Una idea excepcional fue la " brecha semántica " entre la expresión ideal de la solución a un problema de programación particular y el hardware físico real ilustró la ineficiencia de las implementaciones de máquinas actuales. Las tres arquitecturas de Burroughs representan la solución de este problema mediante la construcción de hardware alineado con lenguajes de alto nivel, el llamado diseño dirigido por lenguaje (término contemporáneo; hoy más a menudo llamado "arquitectura de computadora de lenguaje de alto nivel"). Los grandes sistemas eran máquinas de pila (nada que ver con el uso de baterías eléctricas) y ALGOL se ejecutaba de manera muy eficiente. Los sistemas medianos (B2000, 3000 y B4000) estaban orientados al mundo empresarial y ejecutaban COBOL (por lo que todo se hacía con BCD incluido el direccionamiento de memoria). ) La serie B1000 fue quizás la única solución "universal" desde esta perspectiva porque utilizaba máquinas virtuales idealizadas para cualquier lenguaje.
El hardware real fue construido para mejorar esta capacidad. Quizás los ejemplos más obvios fueron la memoria direccionable por bits, la unidad lógica aritmética (ALU) de tamaño variable y la capacidad de OR en datos de un registro en el registro de instrucciones, lo que permite un análisis de instrucciones muy eficiente. Otra característica del lenguaje de máquina fue la apariencia de que la salida de la ALU apareciera como diferentes registros direccionables. X+Y y XY son dos registros de solo lectura dentro del lenguaje máquina.

## Funcionamiento Interno

Una concesión al hecho de que Burroughs era principalmente un proveedor de empresas (y, por lo tanto, ejecutaba COBOL) era la disponibilidad de aritmética BCD en la ALU .
Internamente, las máquinas empleaban instrucciones de 16 bits y una anchura bus de datos de 24 bits. La memoria direccionable de bits supuso un importante punto fuerta de combinación de manera bastante eficiente. Internamente, las memorias de última generación almacenaban datos en límites de 32 bits, pero eran capaces de leer a través de este límite y proporcionar un resultado combinado.
Las implementaciones de hardware iniciales se crearon a partir de la familia Lógica de transferencia de corriente (CTL) fabricada originalmente por Fairchild Semiconductor, pero con la introducción del B1955 en 1979, la serie empleó la familia lógica TTL más popular (y más fácil de obtener). Hasta el B1955, la lógica de control se implementó con PROM, multiplexadores y demás.
El B1965, fue el último de la serie, se implementó con un par de secuenciadores de microcódigo que se mantuvieron sincronizados entre sí. La mayoría de las instrucciones se ejecutan en un solo ciclo. Este primer ciclo fue decodificado por FPLA utilizando 16 entradas (el tamaño perfecto para una palabra de instrucción de 16 bits) y 48 términos mínimos. Los ciclos sucesivos de una instrucción de varios ciclos se obtuvieron de las PROM. Las salidas de FPLA y PROM se conectaron juntas. La FPLA impulsaría la salida en el primer ciclo y luego se estabilizaría. Las PROM conducirían las líneas de control hasta la finalización de la instrucción.

### E/S

El sistema de E/S de la serie B1000 consistía en una ruta de datos de 24 bits y señales de control hacia y desde los periféricos. La CPU colocaría datos en el bus de datos y luego informaría al periférico que había datos presentes. Muchos de los adaptadores periféricos eran bastante simplistas, y la CPU en realidad controlaba las máquinas de estado del adaptador a través de sus operaciones con accesos sucesivos.
Los modelos posteriores de las máquinas de las series 1800 y 1900 podrían configurarse como un procesador único o dual. Estas eran máquinas estrechamente acopladas y competían en el acceso a la memoria principal. El B1955 y el B1965 podían alojar hasta cuatro procesadores en el bus de memoria, pero al menos uno de ellos se asignaría al adaptador multilínea que suministraba E/S serie al sistema. En realidad, solo se vendieron configuraciones de doble procesador.
La tecnología Multi-Line era capaz de manejar múltiples líneas seriales RS485 de 19.2Kb en una configuración de múlti punto. Las E/S serie eranpor consulta periódica. Un terminal dado debía esperar hasta que se le asignara la dirección, ocupase la línea y enviaría cualquier dato que tuviera pendiente.
El adaptador multilínea por DMA de los datos en la memoria principal en un formato de lista enlazada . En consecuencia, los procesadores no tuvieron que lidiar con problemas de interrupción de E/S en serie. Esto se solucionó por el hecho de que los terminales en modo bloque eran el único tipo compatible.
La serie B1000 podría hacer frente a un máximo de 2 megabytes de memoria. Actualmente se habla de gigabytes y eso suena bastante limitado, pero la mayoría de las implementaciones comerciales se las arreglaban con unos pocos centenares de kilobytes de almacenamiento.