IBM PC

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
IBM PC (modelo 5150)
IBM PC 5150.jpg
IBM PC 5150 con teclado y monitor monocromático verde (5151), ejecutando MS-DOS 5.0
Tipo Computador personal
Comercializado 12 de agosto de 1981
Características
Arquitectura x86, ISA de 8 bits
Procesador Intel 8088 @ 4,77 MHz
Memoria 16 KiB ~ 640 KiB
Sistema de audio Generación de tonos por altavoz
Sistema gráfico MDA y CGA
Sistema operativo PC-DOS 1.0+ / IBM Cassette BASIC
Precio básico Desde US$1.565

El IBM Personal Computer (en español, computadora personal IBM u ordenador personal IBM), conocido comúnmente como IBM PC, es la versión original y el progenitor de la plataforma de hardware compatible IBM PC. Es el IBM modelo 5150, y fue introducido el 12 de agosto de 1981 haciendo parte de la quinta generación de computadoras. Fue creado por un equipo de ingenieros y de diseñadores bajo la dirección de Don Estridge y William C. Lowe del IBM Entry Systems Division en Boca Raton, Florida.

Junto al "microcomputador" y al "computador casero", el término "computador personal" ya estaba en uso antes de 1981. Comenzó a usarse desde 1972 para caracterizar al Alto de Xerox PARC. Sin embargo, debido al éxito del IBM Personal Computer, el término PC vino a significar más específicamente un microcomputador compatible con los productos PC de IBM. El IBM PC es el predecesor de las actuales computadoras personales y progenitor de la plataforma compatible IBM PC.

Origen[editar]

Antecedentes[editar]

Seis años antes del IBM PC, IBM había lanzado su primer microcomputador de escritorio, el IBM 5100, introducido en 1975. Era un sistema completo, que tenía incorporado un monitor, un teclado y un almacenamiento de datos en una sola carcasa. Era también muy costoso - hasta $20 000. Se diseñó específicamente para los solucionadores de problemas profesionales y científicos, no para los usuarios empresariales o los aficionados.[1] Nunca fue un computador personal.

En 1975 fue introducido el Altair 8800 en un artículo de la edición de enero de la revista Popular Electronics, vendido en forma de kit. El Altair sorprendió a sus creadores cuando generó miles de encargos en su primer mes de venta. La introducción del Altair generó una industria entera basada en la diagramación básica y el diseño interno. Nuevas compañías como Cromemco comenzaron a ofrecer kits adicionales, mientras que Microsoft se fundó para suministrar un interpretador BASIC para los sistemas. Poco después, varios diseños de clones completos apareció en el mercado, tipificados por el IMSAI 8080. Esto llevó a una amplia variedad de sistemas basados en el bus S-100 introducido con el Altair. El Altair se considera la chispa que condujo a la revolución del computador personal.

En 1977 aparecieron tres microcomputadores que iniciaron una explosión en el mercado del computador doméstico: el Apple II de Apple Computer, el TRS 80 modelo I de Tandy y el Commodore PET de Commodore. Eran computadores fáciles de usar y fueron los primeros usados por la población en general. Pronto les siguieron otros computadores, como los primeros de la familia Atari de 8 bits, máquinas CP/M, diferentes modelos hechos por Tandy como los TRS 80 Modelos II y III y el TRS-80 Color Computer, el Texas Instruments TI-99/4A, el Commodore VIC 20 y otros.

Cada vez más aparecían nuevas y viejas empresas que producían computadores o todo tipo de periféricos, componentes, y software para microcomputadores. En 1978 apareció el WordStar, desarrollado originalmente para el CP/M, fue el procesador de palabras con más características y fácil de utilizar de los disponibles para este sistema operativo, y se convirtió en un estándar de facto. En 1979 apareció VisiCalc, la primera hoja de cálculo, considerada la aplicación que hizo que el microcomputador dejara de ser un pasatiempo para entusiastas de la computación y se convirtiera en una herramienta seria de negocios.[2] Esto probablemente motivó a IBM a entrar al mercado del PC, que ellos habían ignorado hasta entonces. También aparecieron los primeros videojuegos para computadores personales, los más populares eran Microchess, SARGON, Adventureland, Mystery House y Zork, entre otros. El mercado del microcomputador estaba creciendo muy rápidamente, pero IBM, la empresa de computación más grande del mundo y que entonces ofrecía desde minicomputadores hasta mainframes, todavía no participaba en este segmento.

El desarrollo del IBM PC[editar]

La línea original de PCs era parte de una estrategia de IBM para ingresar en el mercado de las computadoras domésticas, que hasta entonces había ignorado y estaba dominado por otros.[3] El modelo original del IBM PC fue designado como el 5150, poniéndolo en la serie del "5100" que había lanzado en el año 1975, aunque su arquitectura no fue descendiente directa del IBM 5100.

En vez de utilizar el habitual proceso de diseño de IBM, se reunió un equipo especial con autorización de saltar las restricciones normales de la compañía y rápidamente conseguir algo para el mercado. A este proyecto se le dio el nombre código de Project Chess (Proyecto Ajedrez) en el IBM Entry Systems Division en Boca Raton, Florida. El equipo consistió de doce personas dirigidas por Don Estridge con el Diseñador en Jefe, Lewis Eggebrecht.[4]

Componentes externos[editar]

Previamente IBM siempre había desarrollado sus propios componentes, pero no lo hicieron así en este caso.

Desarrollaron el PC en alrededor de un año. Para lograrlo, primero decidieron construir la máquina con partes disponibles (off-the-shelf) de una variedad de diferentes fabricantes de equipos originales (OEM) y de diferentes países, en segundo lugar, por razones de tiempo y costo, en vez de desarrollar diseños únicos para el monitor y la impresora del IBM PC, la gerencia del proyecto decidió utilizar un monitor IBM disponible existente, desarrollado anteriormente en IBM de Japón así como un muy popular modelo existente de impresora, el Epson MX 80. Por consiguiente, los únicos elementos de diseño industrial del IBM PC fueron relegados a la unidad del sistema y el teclado.[5]

Arquitectura abierta[editar]

También decidieron usar una arquitectura abierta, de modo que otros fabricantes pudieran producir y vender componentes periféricos y software compatible sin la compra de licencias.

IBM también vendió un manual, el IBM PC Technical Reference Manual que incluyó completos diagramas esquemáticos de los circuitos, un listado del código fuente del ROM BIOS, y mucha información detallada de ingeniería y de programación sobre cada uno de los componentes del IBM PC y su diseño en general. Seis semanas después que IBM anunció el IBM PC, el 12 de agosto de 1981, en COMDEX, Tecmar tenía 20 productos para el PC disponibles para la venta. Estos productos incluyeron la expansión de memoria, IEEE-488, adquisición de datos y chasis de expansión.[6] [7] [8] [9] [10]

En ese tiempo, Don Estridge y su equipo consideraban usar el procesador IBM 801 (un temprano CPU RISC) y su sistema operativo que habían sido desarrollados en el Thomas J. Watson Research Center en Yorktown Heights, Nueva York. El 801 era por lo menos un orden de magnitud más poderoso que el Intel 8088, y el sistema operativo era muchos años más avanzado que el sistema operativo DOS 1.0 de Microsoft el cual finalmente fue seleccionado. La eliminación de una solución interna hizo el trabajo del equipo mucho más fácil y pudo haber evitado un retardo en el horario, pero las últimas consecuencias de esta decisión para IBM eran de gran envergadura. IBM tenía recientemente desarrollado el microcomputador de negocios Datamaster que utilizó un procesador e ICs periféricos Intel; la familiaridad con estos chips y la disponibilidad del procesador Intel 8088 fue un factor que decidiría en la opción del procesador para el nuevo producto. Incluso las 62 ranuras del slot del bus de expansión fue diseñado para ser similar a los slots del Datamaster. Retardos debido al desarrollo interno del software del Datamaster también influyeron al equipo de diseño hacia un proceso de desarrollo acelerado para el PC, con información técnica públicamente disponible para animar a desarrolladores terceros.[11]

El precio para el IBM PC comenzó en $1565 para una configuración escueta con 16 KiB de RAM y sin unidades de diskette.[12] Sin embargo, la mayoría de los sistemas se vendieron con una o dos unidades de diskette y el sistema operativo PC DOS, y para trabajar con el sistema operativo se necesitaba un sistema con al menos 32 KiB de RAM. Todo esto subió el precio base del IBM PC a más de 2000 dólares.

Consecuencias[editar]

IBM esperaba mantener su posición en el mercado al tener los derechos de licencia del BIOS, y manteniéndose delante de la competencia. Desafortunadamente para IBM, otros fabricantes rápidamente hicieron ingeniería inversa del BIOS y produjeron sus propias versiones sin pagar derechos de uso a IBM. Columbia Data Products introdujo el primer computador IBM PC compatible en junio de 1982, (Compaq Computer Corporation anunció el Compaq Portable, el primer PC portable compatible IBM. Los primeros modelos fueron despachados en marzo de 1983.

Una vez que el IBM PC se convirtió en un éxito comercial, el producto regresó al usual control de la gerencia tradicional más apretado de IBM.[cita requerida] La tradición de IBM de "racionalizar" sus líneas de productos, restringiendo deliberadamente el desempeño de modelos de menor precio para evitar que "canibalizaran" los beneficios de modelos más caros, [cita requerida] facilitó el trabajo a sus competidores que no tuvieron inconvenientes en quitarle el liderazgo a IBM sobre su propio producto.

El IBM PC como estándar[editar]

El éxito del IBM PC llevó a otras compañías a desarrollar sistemas compatibles de IBM, que a su vez llevó a mercadear cosas como diskettes publicitados como con "Formato IBM". Debido a la arquitectura abierta y con componentes externos estándar que se conseguían fácilmente en el mercado, un clon del IBM PC podía ser construido con piezas disponibles, pero el BIOS requirió una cierta ingeniería inversa. Las compañías como Phoenix Software Associates, American Megatrends, Award y otras lograron versiones funcionales del BIOS, permitiendo a compañías como Dell, Compaq, y HP, y otras, manufacturar PCs que funcionaron como los productos de IBM. El IBM PC se convirtió en el estándar industrial.

Distribución por parte de terceros[editar]

ComputerLand y Sears Roebuck se asociaron con IBM desde el principio del desarrollo. El jefe de ventas y mercadeo de IBM, H.L. ('Sparky') Sparks, confió en estos socios al por menor en el importante conocimiento del mercado. Computerland y Sears se convirtieron en los puntos de venta principales para el nuevo producto. Ya existían más de 190 almacenes Computerland, mientras que Sears estaba en proceso de crear un puñado de centros de computadores, dentro de los almacenes, para la venta del nuevo producto. Esto garantizó la amplia distribución de IBM a través de los E.E.U.U.

Apuntando la nueva PC al mercado hogareño, las ventas de Sears Roebuck no pudieron llenar las expectativas. Este resultado desfavorable reveló que la estrategia de apuntar al mercado a las oficinas era la clave a ventas más altas.

Éxito comercial[editar]

El primer IBM PC fue lanzado el 12 de agosto de 1981. Aunque no era barato, con un precio base de USD 1.565, era económico para las empresas. Sin embargo, no fueron los departamentos de cómputo de las empresas los responsables de comprarlo, sino una serie de administradores de rango medio que vieron el potencial del PC cuando se portó la hoja de cálculo VisiCalc. Confiando en el prestigio del nombre IBM, empezaron a comprar máquinas con sus propios presupuestos para hacer los cálculos que habían aprendido en las escuelas de negocios.

En pocos años el IBM PC y sus sucesores, tanto de IBM como los clones, desplazaron a casi todos los microcomputadores con otras arquitecturas, surgiendo así el estándar de la arquitectura x86, y del sistema operativo de disco MS DOS en un principio, y luego el sistema operativo Windows, convirtiéndose así en computadores Wintel.

Tecnología[editar]

Unidad del sistema[editar]

Vista trasera de la carcasa de la unidad del sistema del IBM PC, sin la cubierta y sin los componentes que albergaba.

La unidad del sistema del IBM PC contenía la placa base, la fuente de poder (que energizaba todos los componentes), tenía espacio para hasta dos unidades de diskette de 5,25 pulgadas de altura completa y para albergar hasta 5 tarjetas de expansión conectadas a la placa base. En la parte trasera habían 5 aberturas largas cubiertas con plaquitas metálicas atornilladas que eran removidas para poder colocar y atornillar las tarjetas de expansión. También habían dos conectores DIN de 5 contactos, uno para conectar el teclado, y otro para conectar los cables para controlar un grabador de cassettes previsto como dispositivo de almacenamiento. Había también un pequeño altavoz con el cual se podían generar tonos. Una cubierta deslizable cerraba la unidad del sistema.

El IBM PC típico se vendía con una o dos unidades de diskkettes, un tarjeta controladora para las unidades de diskettes, y una tarjeta de video, de tal manera que habían ocupadas al menos dos ranuras de expansión de las cinco que disponía el computador.

Placa base[editar]

Controlador de Bus Intel 8288 Zócalo para coprocesador numérico Intel 8087 Procesador Intel 8088 Controlador de interrupciones NEC 8259 Conector DIN del teclado Conector DIN de la unidad de cassette Relé controlador de la unidad de cassette Bus ISA Bus ISA Bus ISA Bus ISA Bus ISA Interruptores DIP de configuración Interruptores DIP de configuración Generador de reloj Intel 8284 Controlador de DMA Intel 8237 Interface programable de periféricos NEC 8255 Temporizador programable de intervalos NEC 8253 IBM PC ROM BIOS IBM Cassette BASIC Memoria RAM
La placa base original del IBM Personal Computer, IBM 5150. Tenía un microprocesador Intel 8088 de 16 bits y una zócalo para poder enchufar un coprocesador numérico Intel 8087 (arriba a la izquierda), y a la izquierda de ellos dos conectores DIN, uno para el teclado y otro para la interface de cassette; cinco slots ISA de 8 bits para la inserción de tarjetas de expansión (abajo a la izquierda), cuatro bancos de memoria RAM donde se podía tener desde 16 KiB hasta 64 KiB, y en una versión posterior desde 64 KiB a 256 KiB (abajo a la derecha), una memoria ROM con el IBM ROM BIOS y cuatro para el IBM ROM BASIC más un zócalo para una ROM adicional (columna central a la izquierda de la memoria RAM), y chips de soporte y de pegamento.

La placa base del IBM PC (llamaba planar en la terminología de IBM o tarjeta del sistema). Principalmente contenía el CPU, la RAM, y tenía un bus con slots de expansión para tarjetas. En la placa base también está el subsistema ROM, controladores de DMA, IRQ, y BUS, un socket para un coprocesador, cuatro bancos de memoria RAM de 16 KB cada uno, el circuito de sonido (un altavoz de PC generador de tonos), una interfaz para el teclado y una interfaz para cassette.

Chips[editar]

La placa base estaba conformada por varios chips con propósitos especiales más lógica de pegamento implementada con un conjunto de ciruitos integrados de tecnología TTL:

  • Un microprocesador Intel 8088 a 4,77 MHz, (que era una versión del Intel 8086 pero con un bus de datos de 8 bits en vez de 16). Junto con el 8086, el 8088 es el primer procesador de la arquitectura x86 usada en la mayoría de los computadores de hoy en día.
  • Un generador de reloj Intel 8284, con un cristal a una frecuencia de 14,31818 MHz que era dividida entre 3 para generar los 4,7727267 MHz del microprocesador 8088, y dividida entre 4 para generar la señal de 3,579545 MHz usada por la tarjeta de video CGA para generar el burst para el color en el estándar de televisión NTSC. La frecuencia de 4,7727267 a su vez era dividida en 4 para generar una señal de reloj de 1,1931817 MHz para los tres contadores del timer 8253, uno de los cuales dividía esa frecuencia en 65536 y generaba la señal de 18,2065 ticks (por segundo) que disparaba una interrupción que servía para mantener la hora del sistema
  • Un controlador de bus Intel 8288, que recibía la señal del reloj de 4,77 MHz, las señales S0, S1 y S2 del CPU y la de INTA del controlador de interrupciones, entre otras, y las procesaba para generar varias señales del bus de control
  • Una memoria ROM con 8 KiB del BIOS, (el IBM PC ROM BIOS). En el ROM del BIOS se encontraba la implementación de las funciones del BIOS. Lo primero que se ejecutaba era el Power On Self Test (POST), que realizaba un diagnóstico de los componentes del computador e iniciaba los chips del sistema y al propio BIOS; luego se ejecutaba el Boot Strap Loader, que leía el sector de arranque de un diskette y le pasaba el control para así iniciar la carga del sistema operativo, o en caso de problemas iniciaba al IBM PC ROM BASIC
  • El interpretador BASIC en ROM, (el IBM PC ROM BASIC), que residía en 4 módulos de 8 KiB de ROM cada uno
  • Había cuatro bancos de memoria RAM con capacidad para 16 KiB cada uno, que permitía una expansión de memoria desde 16 KiB a 64 KiB en la placa base. Cada banco estaba compuesto con 9 chips de 16 Kibit (4116 DRAM). Eran 8 chips para los 8 bits del byte más 1 chip para chequeo de paridad. El primer banco tenía los circuitos de la memoria RAM soldados a la placa base. Los otros tres tenían zócalos para insertar circuitos de memoria extra para ampliación hasta 64 KB en total. Una versión posterior del IBM PC permitía ampliación hasta 256 KiB de memoria RAM en 4 bancos de 64 KiB cada uno
  • El controlador programable de interrupciones (PIC) Intel 8259. Manejaba las interrupciones de hardware del IBM PC. Tenía capacidad para procesar hasta 8 interrupciones (IRQ 0 a IRQ 7). Por el IRQ 0 recibía una señal, 18,2 veces por segundo, desde el timer 8253, usada por el manejador de interrupción del BIOS para mantener un contador. Por el IRQ 1 se recibía una interrupción emitida por el controlador del teclado cada vez que se presionaba o soltaba una tecla. Por el IRQ 6 se recibía una señal desde el controlador de diskette. El IRQ 7 estaba reservado para la impresora, otros IRQ estaban reservados o no eran usados en el IBM PC original, pero luego se añadieron dispositivos que disparaban esas interrupciones.
  • El temporizador programable de intervalos (PIT) Intel 8253. Tenía tres timers (contadores) (0, 1, 2). El timer 0 era usado para generar una señal 18,2 veces por segundo para disparar la interrupción IRQ 0. El timer 1 generaba una señal periódicamente para que el controlador de DMA refrescara la memoria RAM. El timer 2 podía ser usado para generar tonos de diferentes frecuencias para el altavoz de la placa base o también para generar tonos que representaban unos y ceros, y eran usados para grabar datos y programas en el grabador de cassettes que se podía conectar al sistema
  • El controlador DMA Intel 8237 era usado para transferencias entre los dispositivos de I/O y la memroria RAM y viceversa sin intervención del CPU. Tenía cuatro canales (0, 1, 2, 3). El canal 0 se uso para refrescar la memoria RAM, lo que se hacía periódicamente gracias a una señal emitida por el timer 1 del 8253. El canal 2 servía para la transferencia de datos desde y hacia la unidad de diskette.
  • La interfase programable de periféricos (PPI) 8255 fue usada para implementar los puertos de I/O 60h, 61h y 62h de la placa base. El puerto 60h era usado para la entrada del teclado o para leer el estado de 8 interruptores DIP, el puerto 61h era de salida y cada uno de sus 8 bits servía para controlar componentes del sistema, y el puerto 62h era usado para la leer interruptores DIP de configuración adicionales y también bits de señales de entrada
  • En la placa base había un zócalo para insertar un coprocesador numérico Intel 8087 que le añadía la capacidad de realizar cálculos en coma flotante por hardware. No era común colocar un coprocesador numérico al PC, así que los programas que necesitaran hacer cálculos numéricos en punto flotante usaban bibliotecas en software para realizar los cálculos con el procesador 8088.

Bus de expansión[editar]

Esquema del bus del IBM XT. El bus del PC y XT eran casi idénticos, con algún agregado para el del XT. Luego, con la aparición del IBM AT en 1984, este bus se hizo más largo para poder agregar más funciones, creándose el estándar ISA, que posteriormente fue nuevamente ampliado para producir el estándar EISA.

En la placa base, el IBM PC tenía 5 ranuras de expansión de 62 contactos, llamadas por IBM como el Canal de I/O. Eran usadas para poder insertar tarjetas de expansión que añadían funcionalidad al computador. Contiguo a cada ranura de expansión había, en la parte posterior de la carcasa del computador, una apertura a través de la cual las tarjetas de expansión podían exponer conectores. Cuando no había instaladas tarjetas de expansión, una cubierta metálica cubría la apertura para prevenir la intrusión de polvo, suciedad y controlar el flujo del aire.

Las ranuras de expansión eran una ampliación de los buses dirección, datos y control del procesador 8088. Tenía las 8 líneas del bus de datos y las 20 líneas del bus de direcciones (demultiplexadas), junto con las líneas del bus de control del CPU, y a estas líneas se les añadían líneas IRQ para interrupciones, líneas para el DMA, líneas de reloj, líneas de energía de +5, -5, +12 y -12 voltios (además de la tierra), y otras.

Fue diferente al bus S-100, que era un estándar de la industria al momento de salir el IBM PC. El bus usado en el PC original se hizo muy popular convirtiéndose en un nuevo estándar. Muchos fabricantes terceros manufacturaron todo tipo de tarjetas de expansión para el PC y el posterior IBM XT que también usó este bus, generando así una industria alrededor de la arquitectura del PC y el XT. Fue conocido como bus PC o bus XT, y luego como bus ISA de 8 bits.

Con el lanzamiento del computador IBM AT, IBM amplió el bus original del IBM PC para adaptarse a la nueva arquitectura del AT que tenía un procesador Intel 80286 y manejaba 16 bits de datos en vez de 8 y podía direccionar hasta 16 MB de memoria. El bus original del PC entonces amplió agregando 8 líneas de datos adicionales para trabajar con 16 bits, líneas adicionales de dirección para poder acceder los 16 MB, nuevas líneas de IRQ, DMA, y otras funciones.

Posteriormente, cuando IBM lanzó la serie de computadores PS/2, con una nueva arquitectura y un nuevo bus, (el MCA), IBM pretendía licenciar el nuevo bus a fabricantes terceros de computadores, pero el resto de la industria no se fue por ese camino y eligieron continuar manufacturando máquinas basadas en la arquitectura abierta y que no necesitaba licencia del IBM AT. El bus del AT entonces comenzó a llamarse Industry Standard Architecture (bus ISA), convirtiéndose en el nuevo estándar de la industria y convirtiendo al MCA de IBM en un fracaso. Entonces, el bus del PC original fue llamado bus ISA de 8 bits o bus XT ISA, mientras que el término ISA (a solas) se refería al bus AT de 16 bits (como está definido en las especificaciones del ISA). Posteriormente, en 1988, se desarrolló el estándar Extended Industry Standard Architecture (EISA), que ampliaba el bus ISA existente haciéndolo de 32 bits y añadiendo funcionalidad adicional equivalente a la del bus MCA de IBM pero manteniendo compatibilidad hacia atrás con el bus ISA.

El bus ISA del AT, estandarizado de esta manera es usado hasta nuestros días en computadores para uso industrial, donde su relativamente baja velocidad, señales de 5 voltios, y diseño relativamente simple y sencillo (para los estándares de 2011) le dan ventajas técnicas (ej. inmunidad a ruido para confiabilidad).

Tarjetas de expansión[editar]

IBM PC Game Control Adapter (Adaptador de control de juegos)

Al computador se le añadía funcionalidad por medio de tarjetas de expansión, llamadas por IBM como adaptadores. Para el IBM PC, IBM proveía dos tarjetas de video, el IBM Monochrome Display and Printer Adapter (MDA) (que también tenía incorporado un puerto para conectar una impresora) y el IBM Color Graphics Adapter (CGA), un controlador de unidades de diskkette (al que se le podían conectar dos unidades de diskette internas y dos externas), un adaptador para impresora (puerto paralelo), un adaptador para comunicaciones asincrónicas (puerto serial RS232), un adaptador de control de juegos (para hasta 2 joystick ó 4 paddles) y dos opciones de expansión de memoria RAM, una con 32 KiB de RAM y la otra con 64 KiB (con las que se podía ampliar la memoria del computador hasta 256 KB).

Las tarjetas se insertaban en cualquier ranura de expansión libre de las 5 que tenía el computador y, exceptuando la expansión de memoria, tenían conectores que eran expuestos al exterior por medio de ranuras en la parte trasera del computador. Los dispositivos se conectaban por medio de cables al conector respectivo. IBM vendía un monitor monocromático de alta resolución, el IBM 5151, que se conectaba en la tarjeta de video MDA, unidades de diskettes que se conectaban en el conector interno de la controladora, y una impresora que podía conectarse tanto en el puerto paralelo del MDA como en el adaptador paralelo independiente.

El Quadboard de Quadram

Debido a que las tarjetas originales de expansión de IBM tenían generalmente una sola funcionalidad, (puerto serial, puerto paralelo, controlador de unidades de diskettes, controlador de juegos, etc), era fácil llenar las cinco ranuras de expansión del PC, o aún las ocho ranuras del XT, incluso sin la instalación de ningún hardware especial. En el PC se ocupaban al menos dos ranuras de expansión, una para una tarjeta de video y otra para la controladora de diskettes, quedando libre solo tres. En el XT se ocupaba una tercera para la controladora del disco duro, quedando libres cinco. Fue entonces que compañías como Quadram y AST comenzaron a manufacturar muy populares tarjetas con múltiples funcionalidades (multi-I/O), que combinaban varios periféricos en una sola tarjeta de adaptador que usaba un solo slot de expansión; Quadram ofreció el QuadBoard y AST el SixPak, ambas ofreciendo memoria RAM, un puerto serial, un puerto paralelo, un puerto de juegos, un reloj. Luego esto se volvió la manera estándar de incluir la funcionalidad básica a un computador. Hoy en día, gran parte de la funcionalidad viene incorporada en la propia placa base.

En las tarjeta paralela, la interface de periféricos programable (PPI) Intel 8255 (en la dirección de I/O 0x378) se usaba para el I/O de la impresora, [13] y en la tarjeta serial se usaba el Intel 8250 (UART) (en la dirección de I/O 0x3F8 ó 0x3E8) que controlaba la comunicación serial en el (pseudo) [14] puerto RS-232.

Teclado[editar]

Teclado del IBM 5150

El teclado original del IBM PC de 1981 era extremadamente confiable y de alta calidad, desarrollado originalmente en Carolina del Norte para el sistema de Datamaster.[15] Cada tecla fue clasificada para ser confiable sobre los 100 millones de pulsaciones. Para el IBM PC, fue diseñada una carcasa separada para el teclado con una característica de usabilidad nueva que permitía que los usuarios ajustaran el ángulo de inclinación para comodidad personal. Comparado con los teclados de otros pequeños computadores de ese entonces, el teclado del IBM PC era muy superior y desempeñó un rol significativo en el establecimiento de una imagen de alta calidad. Por ejemplo, el diseño industrial del teclado, junto con la unidad del sistema, fue reconocido con un importante premio de diseño.[5] En Otoño de 1981, la revista Byte fue tan lejos como pudo en expresar que el teclado era el 50 por ciento de la razón para comprar un IBM PC. La importancia del teclado fue definitivamente establecida cuando el IBM PCjr de 1983 fracasó, en gran parte por tener un muy diferente y mediocre teclado tipo chiclet que dio una pobre imagen a los clientes. Por extraño que parezca, la misma cosa casi sucedió al IBM PC original cuando, a principios de 1981, la gerencia seriamente consideró sustituir el teclado por uno más barato y de inferior calidad. Este error fue evitado por poco por el consejo de uno de los ingenieros de desarrollo originales.

Sin embargo, el teclado de 84 teclas del IBM PC original de 1981 fue criticado por los mecanógrafos por la colocación no estándar de las teclas ENTER y la de MAYÚSCULA de la izquierda, y porque no tenía un teclado de cursor y numérico separados, que eran populares en los terminales video de la serie DEC VT100 anteriores al PC. En 1982, Key Tronic introdujo el teclado PC de 101 teclas que ahora es estándar. En 1984, IBM corrigió las teclas de ENTER y MAYÚSCULA izquierda en su teclado AT, pero acortó la tecla de retroceso, haciéndola más difícil de alcanzar. En 1986, IBM cambió al teclado mejorado de 101 teclas, que añadió el cursor y el teclado numérico separados, relocalizando todas las teclas de función y la de control (CTRL), y la tecla de escape (ESC) también fue localizada en el lado opuesto del teclado.

Otra crítica del teclado era el sonido relativamente ruidoso del "chasquido" que hacía cada tecla cuando se presionaba. Puesto que los usuarios de máquina de escribir estaban acostumbrados a mantener sus ojos en el papel que estaban mecanografiando y tenían que confiar en el sonido mecánico que era hecho cada vez que un carácter era mecanografiado sobre el papel, para asegurarse de que habían pulsado la tecla lo suficientemente fuerte (y solamente una vez), la característica del teclado electrónico del PC, de "chasquear", fue pensada para proporcionar la misma seguridad. Sin embargo, resultó muy ruidoso y molesto, especialmente si muchos PC estaban en uso en el mismo cuarto. Los teclados posteriores fueron significativamente más silenciosos.

El teclado del IBM PC es muy robusto y flexible. La interfase de bajo nivel para cada tecla es la misma: cada tecla envía una señal cuando es presionada y otra señal cuando es liberada. Un microcontrolador integrado en el teclado, el Intel 8048, explora el teclado y codifica un scan code (código de exploración) y release code (código de liberación) para cada tecla a medida que es presionada y liberada. Cualquier tecla puede ser usada como una tecla de cambio (shift), y un gran número de teclas pueden presionarse simultáneamente y ser detectadas por separado. El controlador en el teclado maneja la operación typematic (de repetición), emitiendo códigos de scan repetidos, para una tecla presionada después de un tiempo, y luego un solo código de liberación, cuando la tecla es finalmente liberada.

Un IBM PC compatible puede tener un teclado que no reconozca cada combinación de tecla como lo hace el de un verdadero PC, por ejemplo, teclas de cursor con mayúsculas. Además, los vendedores "compatibles" a veces usaron interfaces propietarias de teclado, previniendo que el teclado pudiera ser sustituido.

Aunque el PC/XT y el AT usan el mismo estilo del conector del teclado, el protocolo de bajo nivel para leer el teclado era diferente entre estas dos series. El teclado del AT usa una interfase bidireccional que permite al computador enviar comandos al teclado. Un teclado AT no podía ser usado en un XT, ni al revés. Los fabricantes terceros de teclados proporcionaron un interruptor en algunos de sus teclados para seleccionar entre el protocolo de estilo AT y estilo XT.

Tarjetas de video[editar]

Cuando salió el IBM PC al mercado, IBM ofrecía dos tarjetas gráficas para él, la Monochrome Display Adapter (MDA), y la Color Graphics Adapter (CGA). Ambas tarjetas usaban el controlador de CTR Motorola 6845.

Monochrome Display Adapter[editar]

La tarjeta MDA tenía 4 KB de memoria RAM, no podía desplegar gráficos y tenía solo un modo de texto de 80x25 caracteres de muy alta calidad y resolución (720x350). Los caracteres podían tener individualmente ciertos atributos: normal, invisible, subrayado, brillante (negritas), vídeo inverso, y parpadeo. Algunos de esos atributos podían combinarse. La MDA venía con un conector para conectar un monitor monocromático y uno para una impresora. IBM vendía opcionalmente el monitor IBM 5151 y una impresora que se conectaban a la tarjeta MDA. Algunas tarjetas MDA de IBM tuvieron circuitos que les permitían desplegar el texto en 16 colores con fondo de 8 más parpadeo, si se conectaban a un monitor de color RGBI.

Color Graphics Adapter[editar]

La CGA, además de los modos de texto, podía desplegar gráficos en resoluciones de 320x200 con cuatro colores, y 640x200 en 2 colores. Se podía seleccionar entre varias paletas de colores para elegir los 4 ó 2 colores de los modos gráficos. Podía desplegar texto en baja resolución a 40x25, y alta resolución a 80x25. En ambas resoluciones el texto podía tener 16 colores con un fondo de 8 colores y además podía parpadear. En el modo de texto de baja resolución se tenían 8 páginas de texto y en el modo de texto de alta resolución 4. Una de esas páginas se desplegaba en un momento dado, pero podía cambiarse a otra página instantáneamente. La tarjeta tenía un conector para un monitor RGBI, un conector interno para entrada de un light pen, y una salida de video compuesto RCA, junto con un conector interno para poder conectar un modulador de radiofrecuencia y poder ver la imagen desplegada en un televisor normal de la época, que usualmente no tenían entrada directa para video. Con el modulador de radiofrecuencia podía verse la imagen producida por la CGA en el canal 3 ó 4 del televisor.

Adaptadores de terceros[editar]

Pronto aparecieron otras tarjetas gráficas hechas por terceros que superaban las capacidades de las que vendía la IBM. Una de las más populares fue la Hercules Graphics Card (HGC), que mejoró significativamente las capacidades de la MDA de IBM, agregando al modo de texto de la MDA, un modo gráfico monocromático de alta resolución a 720x348. La HGA se convirtió en el estándar de la industria para los monitores monocromáticos. También aparecieron tarjetas como la Plantronics Colorplus, que tenía el doble de memoria RAM y mejoraba las prestaciones de la CGA original agregando dos modos gráficos adicionales, 320x200 a 16 colores, y 640x200 a 4 colores.

Juego de caracteres[editar]

-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F
0- 0-
1- § 1-
2- ! " # $ % & ' ( ) * + , - . / 2-
3- 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 3-
4- @ A B C D E F G H I J K L M N O 4-
5- P Q R S T U V W X Y Z [ \ ] ^ _ 5-
6- ` a b c d e f g h i j k l m n o 6-
7- p q r s t u v w x y z { | } ~ 7-
8- Ç ü é â ä à å ç ê ë è ï î ì Ä Å 8-
9- É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ ƒ 9-
A- á í ó ú ñ Ñ ª º ¿ ¬ ½ ¼ ¡ « » A-
B- B-
C- C-
D- D-
E- α ß Γ π Σ σ µ τ Φ Θ Ω δ φ ε E-
F- ± ÷ ° · ² F-
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F

Cuando salió el IBM PC, el código ASCII era un estándar de la industria, el cual tenía definidos 128 caracteres en 7 bits. IBM creó para el IBM PC el ASCII extendido usando 8 bits para agregar otros 128 caracteres a los 128 del ASCII. Este nuevo juego de caracteres fue usado por las microcomputadoras personales de IBM y por la industria de las máquinas clónicas, convirtiéndose así en un estándar.

El ASCII Extendido tenía, entre el código 128 y el 255 (por arriba del ASCII tradicional), caracteres para soportar algunos lenguajes diferentes del inglés, como por ejemplo las vocales acentuadas y la eñe del español, y además tenía algunos caracteres griegos, símbolos matemáticos, caracteres gráficos, y otros. Los caracteres del 0 al 31 ASCII estándar eran caracteres de control no imprimibles, pero IBM los aprovechó para desplegar caracteres imprimibles adicionales, como caras, signos sexuales, los palos de la baraja de cartas francesa, flechas en varias direcciones y otros.

Estos caracteres ASCII extendido podían ser desplegados por las tarjetas de vídeo en los modos de texto, pero en los modos gráficos el BIOS solo soportaba los primeros 128 (incluyendo los 32 caracteres especiales imprimibles entre el 0 y el 31).

Este juego de caracteres ASCII Extendido no contaba con todos los necesarios para su uso en ciertos idiomas, lo que hizo que se crearan variantes del juego original en el que se sustituían los 128 caracteres extra para adaptarse al idioma correspondiente. Estas variantes se llamaron páginas de códigos (del inglés code pages). Hoy en día estos códigos están obsoletos, habiendo sido reemplazados por esquemas mucho mejores, como el ISO-8859-1 o el Unicode.

Medios de almacenamiento[editar]

Cinta de cassette[editar]

Como ya se mencionó, IBM equipó al modelo 5150 con un puerto para conectar una unidad de casette, originalmente destinado para que los casettes compactos se convirtieran en el medio de almacenamiento más común para el 5150, soportada por el BIOS y el ROM BASIC del IBM PC. Sin embargo, la adopción de configuraciones sin floppy fue baja. Pocos IBM PC (si es que hubo alguno) dejaron la fábrica sin una unidad de floppy instalada. Además, el DOS no estaba disponible en cintas de cassette, solo en discos floppy (por eso lo de "Sistema Operativo de Disco (DOS)"). Los 5150 con solo un grabador externo de cassette para almacenamiento solo podrían usar el ROM BASIC del computador como su sistema operativo. A medida que el DOS vio una creciente adopción, la incompatibilidad de los programas DOS con los PCs que usaban solo casettes para almacenamiento hizo esta configuración incluso menos atractiva.

Es interesante que la interfase de casette del IBM PC codifica los datos usando una modulación de frecuencia con una velocidad variable. Tanto un uno como un cero son representados por un ciclo sencillo de una onda cuadrada, pero las frecuencias de las ondas difieren por un factor de dos, con los unos teniendo una frecuencia más baja. Por lo tanto, los períodos de bits para ceros y unos también diferían por un factor de dos, con el inusual efecto que el flujo de datos con más ceros que unos usarán menos cinta (y tiempo) que un flujo de datos de igual longitud (en bits) conteniendo más unos que ceros, o con igual número de cada uno.

Diskettes floppy[editar]

Adaptador controlador de diskettes de 5 1/4" del IBM PC
Unidad de diskette Tandon de 5.25 pulgadas con un diskette parcialmente insertado de doble densidad conteniendo el PC DOS 1.1

La mayoría de los PC 5150 tenían una o dos unidades de disco floppy de 5.25 pulgadas. Estas unidades floppy eran, o de simple lado, doble densidad (SS/DD, también denominada como SSDD), o de doble lado, doble densidad ((DS/DD ó DSDD). El IBM PC nunca usó unidades floppy de simple densidad. Las unidades y los discos eran referidas comúnmente por su capacidad, ej. "disco floppy de 160 KB", o "unidad floppy de 360 KB". Las unidades doble lado eran compatibles con versiones anteriores; podían leer y escribir floppies de simple lado. El mismo tipo de diskette físico podía usarse en ambas unidades,[16] sin embargo, para convertir un disco simple lado de 5.25 pulgadas a un disco doble lado, era necesario reformatear, y las unidades de simple lado no podrían leerlo con ese formato.

Los discos eran codificados en Modified Frequency Modulation (MFM) en sectores de 512 bytes, y los sectores eran creados por software (soft-sectors).[17] Contenían 40 pistas por lado con una densidad de 48 pistas por pulgada (TPI),[18] mientras que los discos doble lado tenían una capacidad de 320 KB.[19] Sin embargo, el sistema operativo DOS fue posteriormente actualizado para permitir formatear discos con nueve sectores por pista. Esto rendía una capacidad formateada de 180 KB con unidades/discos de simple lado,[20] y 360 KB con las de doble lado.[21] La capacidad no formateada de los discos floppy era anunciada como de "250 KB" para simple lado y "500 KB" para doble lado, sin embargo, estos "250/500 KB" en bruto no era la misma cosa que la capacidad formateada usable, bajo DOS, la máxima capacidad para los discos de simple y doble lado fue de 180 KB y 360 KB respectivamente. Independientemente del tipo, el sistema de archivos de todos los floppy (bajo DOS) fue el FAT12

Si bien las unidades de simple lado fueron inicialmente las únicas disponibles para el modelo 5150, muy pronto IBM cambió a unidades de doble lado, y la mayoría de los PC 5150 eventualmente se despacharon con una o dos unidades de doble lado. El sucesor del 5150, el IBM XT nunca se despachó con unidades de simple lado; y generalmente tenía una unidad de 360 KB de doble lado contigua a su disco duro interno. Aunque es técnicamente posible modernizar al IBM PC original a unidades de disco floppy más avanzadas como las de alta densidad (lanzadas en 1984), esto no era una opción ofrecida por IBM para el modelo 5150, y el cambio a floppies de 5.25 pulgadas de alta densidad estuvo notoriamente cargado con problemas de compatibilidad del disco.

La tarjeta controladora de discos floppy original de IBM incluía un conector D-shell externo de 37 pines. Esto permitía a los usuarios conectar unidades floppy externas adicionales de vendedores terceros. IBM en sí misma no ofreció unidades floppy externas.[22]

Discos fijos[editar]

El 5150 no podía tener discos duros por sí mismo ya que su fuente de poder de 63,5 vatios no generaba la suficiente energía. Más tarde, IBM ofreció la 5161 Expansion Unit (Unidad de Expansión 5161) la cual no solo proveía más slots de expansión, sino que también incluía un disco duro de 10 MB (posteriormente 20 MB) energizada por su propia fuente de poder de 130 vatios. La IBM 5161 Expansion Unit fue lanzada a principios de 1983, dos años después del lanzamiento el IBM PC.

Una unidad de disco fue una característica rara y costosa en los primeros IBM PCs. Una unidad floppy (unidad A) era estándar, y una segunda unidad floppy, si estaba presente, fue designada como B. Las unidades de disco llegaron a conocerse como la "unidad C", porque en los IBM PC que las tenían, era la tercera unidad.

El primer computador personal de IBM que se despachó con una unidad de disco duro interna, fija fue el IBM modelo 5160, el IBM XT. A medida que otros computadores compatibles con el IBM PC comenzaron a aparecer, estuvieron disponibles discos duros con mayores capacidades de almacenamiento. Podían ser instalados en la Unidad de Expansión del IBM PC, en PCs actualizadas con nuevas fuentes de poder, o en el XT. Agregar una tercera unidad de disco a veces requería enchufar una nueva tarjeta controladora, porque algunas de esas unidades no eran compatibles con el controlador de disco existente. Algunas unidades de disco de terceros para el IBM PC eran vendidas como kits, incluyendo la tarjeta controladora y una fuente de poder de reemplazo. Finalmente, algunas unidades de disco fueron integradas con sus controladores en una simple tarjeta de expansión, comúnmente llamada una "HardCard".

Después de que las unidades de diskette se volvieron obsoletas a principio de los años 2000, las letras A y B dejaron de usarse. Pero por 25 años, virtualmente todo software basado en el DOS asumía que la unidad para la instalación del programa era la C, así que el disco primario continúa siendo "la unidad C" incluso hoy en día. Otras familias de sistemas operativos (ej. Unix) no están restringidos por estas designaciones.

Impresora[editar]

IBM Personal Computer Printer (Model 5152)

Con el lanzamiento del IBM PC, IBM ofreció una impresora de matriz de puntos de 9 pines, la IBM 80 CPS Matrix Printer. Esta impresora era en realidad la extremadamente popular Epson MX 80, re-etiquetada como "IBM". Aceptaba formas contínuas de 8 1/2 pulgadas e imprimía a 80 caracteres por segundo (cps). Se conectaba al computador a través de un puerto paralelo (interface Centronics) y tenía un juego de caracteres que se podían imprimir en varios tamaños y estilos: normal, condensado, agrandado (doble ancho). y condensado agrandado. Podía imprimirse en modo enfatizado y la mayoría de los modos podía imprimirse en double strike, que hacía el texto en negritas.

Mapa de memoria del IBM PC[editar]

Abajo se encuentra el mapa de memoria del IBM PC. Los primeros 640 KiB, desde 00000h hasta 9FFFFh, tenían los vectores de interrupción, el área de datos del BIOS y el resto para el PC DOS y los programas. El área entre A0000h y FFFFFh estaba reservada para las ROM del sistema y el ROM de las tarjetas adaptadoras y la memoria RAM de éstas. Para cuando salió el IBM PC mucha de ésta área no estaba asignada. Luego se usó éste espacio para memoria de las nuevas tarjetas de video, la especificación de memoria expandida EMS, etc. Como ejemplo, la muy popular tarjeta de video Hercules Graphics Card, que pronto sustituyó a la MDA de IBM como estándar, ocupaba 32 KiB del espacio de memoria entre B0000h y B7FFFh.

Dirección
(en Hex)
Longitud Descripción
00000 - 00400 1024 bytes Vectores de interrupción del 8088
00400 - 004FF 256 bytes Área de datos del BIOS
00500 - 9FFFF casi 640KiB Área para el PC DOS y los programas
A0000 - AFFFF 64 KiB Área reservada para adaptadores
B0000 - B0FFF 4 KiB Memoria RAM de la tarjeta de video MDA
B1000 - B7FFF 28 KiB Área reservada para adaptadores
B8000 - BBFFF 16 KiB Memoria RAM de la tarjeta de video CGA
BC000 - F3FFF 240 KiB Área reservada para adaptadores
F4000 - F5FFF 8 KiB Socket para una ROM del usuario
F6000 - FDFFF 4 x 8 KiB IBM PC ROM BASIC
FE000 - FFFFF 8 KiB IBM PC ROM BIOS

Memoria expandida[editar]

El microprocesador 8088 del IBM PC podía direccionar hasta 1 MiB de memoria (20 bits de direccionamiento). En la arquitectura del IBM PC, los 384 KiB superiores fueron reservados como espacio para el IBM BIOS, el ROM BASIC, otras ROM de BIOS que pudieran tener las tarjaras de expansión, memoria RAM para las tarjetas de video, y para otros dispositivos. Esto dejaba un espacio de uso para los programas de hasta 640 KiB de memoria RAM, que era muy superior a los 48 KiB de RAM para programas, y hasta 16 KiB de ROM para el interpretador BASIC, que se usaban en muchos de los computadores personales, (con microprocesadores de 8 bits), en el momento en que salió el IBM PC.

Posteriormente, el computador IBM AT, con su procesador Intel 80286 podía direccionar hasta 16 MiB de memoria, pero, los programas del MS DOS y del PC DOS no podían direccionar memoria RAM por arriba del megabyte, aunque el computador la tuviera, excepto de una manera muy ineficiente. Otros sistemas operativos, como el OS/2 sí tenían la capacidad de acceder la memoria por arriba del megabyte.

Fue creado entonces la especificación de la Expanded Memory Specification (EMS), que permitía ver, desde el DOS, grandes porciones de memoria accedidas en páginas o bloques de 64 KiB de memoria, uno a la vez, de una manera eficiente. Entonces, la memoria expandida podía ser accedida desde el DOS, tanto con el procesador 8088 del IBM PC y el XT, como por el procesador 80286 del AT, que bajo el DOS trabajaba en modo real y por lo tanto no tenía acceso a la memoria por arriba del megabyte (excepto casi 64 KiB del área de memoria alta).

Direcciones de I/O del IBM PC[editar]

El procesador 8088 usaba 16 bits del bus de direcciones para direccionar la entrada/salida, quedando así el espacio de direcciones de I/O en 216 = 64 K = 65.536 direcciones de I/O distintas, pudiéndose acceder como puertos de I/O de 8 bits ó 16 bits.

A continuación una lista de las direcciones de los puertos de I/O usados en el IBM PC. Las direcciones están en hexadecimal.

Chips de la placa base[editar]

Tarjetas de expansión[editar]

  • 200-20F - Tarjeta controladora de juegos
  • 3B0-3BF - Tarjeta monocromática MDA y puerto paralelo LPT1 incorporado en la tarjeta
  • 3D0-3DF - Tarjeta gráfica de color CGA
  • 3F0-3F7 - Tarjeta controladora de diskettes
  • 378-37F - Puerto paralelo LPT2
  • 278-27F - Reservado. Puerto paralelo LPT3
  • 3F8-3FF - Puerto serial COM1
  • 2F8-2FF - Reservado. Puerto serial COM2

Chips agregados a la placa base del IBM AT[editar]

Posteriormente se agregaron más componentes en los computadores personales de IBM que continuaron al IBM PC. El IBM PC AT agregó los siguientes:

  • 70-71 - Un reloj en tiempo real (RTC) Motorola MC146818 con memoria no volátil (NVRAM), usado para la configuración del sistema (reemplazando los interruptores DIP y los jumpers usados con este propósito en modelos PC y PC-XT anteriores al AT.[23]
  • 80-9F - Un registro de direccionamiento DMA (implementado con un IC 74LS612)[24]
  • A0-BF - Un segundo controlador de interrupciones esclavo PIC 8259 esclavo
  • C0-DF - Un segundo controlador DMA 8237 para DMA de 16 bits

Los computadores de hoy en día tienen, generalmente, la misma funcionalidad heredada desde el IBM PC, XT y el AT, manteniendo la compatibilidad hacia atrás hasta el IBM PC. Pero en vez de chips individuales y tarjetas añadidas, hoy en día esta funcionalidad se encuentra en el chip southbridge de la placa base para casi todos los componentes.

Interrupciones de hardware[editar]

El hardware de la placa base tenía un controlador de interrupciones Intel 8259, que podía procesar hasta 8 líneas de interrupción de hardware (IRQ0 a IRQ7). El IRQ0 estaba asignado contador 2 del PIC 8253 de la placa base y recibía una señal de interrupción 18,2 veces por segundo, y el IRQ1 recibía una señal para interrupción por el controlador del teclado cada vez que se presionaba o liberaba una tecla. El resto de las interrupciones, IRQ2 a IRQ7, estaban disponibles para las tarjetas de expansión en el canal de I/O (el bus ISA de 8 bits). El IRQ 6 recibía una señal desde la tarjeta controladora de diskettes.

La IRQ0 a IRQ7 del controlador de interrupciones 8259 se asignaron en el IBM PC de la siguiente manera:

  • IRQ0 - Generado por el temporizador programable de intervalos Intel 8253, 18,2 veces por segundo (timer tick)
  • IRQ1 - Generado por el controlador del teclado Intel 8048
  • IRQ2 - No usada en el IBM PC ni en el XT. Posteriormente en el IBM AT se le asignó una línea proveniente del controlador de interrupciones 8259 esclavo, para procesar los IRQ8 al IRQ15
  • IRQ3 - Reservado para comunicaciones. Generado por el puerto serial, 8250 UART del COM2 y COM4
  • IRQ4 - Reservado para comunicaciones. Generado por el puerto serial, 8250 UART del COM1 y COM3
  • IRQ5 - No usado en el IBM PC, usado para el controlador de disco duro en el XT. En el IBM AT, puerto paralelo, Intel 8255 LPT2
  • IRQ6 - Generado por el controlador de diskettes NEC µPD765
  • IRQ7 - Reservado para la impresora.

El procesador 8088 llamaba a los vectores de interrupción 8, 9, A, B, C, D, E, F (en hexadecimal) en respuesta a las interrupciones de hardware IRQ0 a la IRQ7 que recibía el 8259. Los vectores de interrupción 8 (timer tick), 9 (teclado), E (controlador de diskette) apuntaban a rutinas en el IBM PC ROM BIOS para procesar las interrupciones de hardware correspondientes.

Firmware[editar]

El firmware del IBM PC estaba albergado en 5 chips en la placa base, cada uno de 8 KiB de memoria ROM. El primero de ellos, que residía en la parte más alta de la memoria direccionable por el CPU, era el IBM PC ROM BIOS, donde se encontraban las rutinas del BIOS, el Power On Self Test, el Boot Strap Loader, y algunas tablas de datos. Los otros cuatro chips de ROM contenían al IBM PC ROM BASIC. Había un sexto zócalo libre en la placa base para que el usuario pudiera colocar un chip de ROM de 8 KiB con programas personalizados.

Adicionalmente, cada tarjeta que se enchufaba en el sistema podía tener su propia ROM controladora, que venían a ser extensiones del BIOS.

ROM BIOS[editar]

El IBM PC tenía una memoria ROM de 8 KiB en la dirección desde FE000 a FFFFF donde residía el IBM PC ROM BIOS, que era el BIOS del computador. Al iniciar el computador se ejecutaba el código en el BIOS del Power On Self Test (POST), que iba revisando los componentes del computador y los iba poniendo en funcionamiento y también se activaba al BIOS para volverlo operativo. Una vez iniciado y revisado el computador por el POST, se ejecutaba el Boot Strap Loader que cargaba el primer sector del diskette hacia la memoria RAM y le pasaba el control al código que residía allí para iniciar así el bootstrap del sistema operativo de disco PC DOS. En caso de haber una falla en la carga de dicho sector, se iniciaba el IBM PC ROM BASIC, que era el interpretador BASIC en el ROM del computador.

El BIOS tenía funcionalidad básica de I/O para dispositivos como el teclado, la pantalla, la impresora, las unidades de diskette, el grabador de cassette, interfaces seriales, y otras, y respondía a las interrupciones generadas por el hardware, como el timer tick, 18,2 veces por segundo, el teclado, al presionar o soltar una tecla, y la controladora de unidades de diskettes.

Pronto el IBM ROM BIOS fue clonado utilizando ingeniería inversa y el método del cuarto limpio, permitiendo que otras compañías pudieran fabricar clones del IBM PC surgiendo así el mercado de los clones.

En versiones posteriores de computadores personales fueron añadidas más funcionalidades al BIOS original del IBM PC.

ROM BASIC[editar]

Por los tiempos en que salió el IBM PC (1981), los computadores caseros de la época típicamente tenían un interpretador BASIC en su memoria ROM, generalmente escrito y licenciado por Microsoft a los fabricantes de microcomputadores. La pantalla del interpretador BASIC esperando por comandos era lo que usualmente se encontraban los usuarios al encender la máquina, y generalmente usaban un grabador de cassettes como medio de almacenamiento de programas y datos, y también para cargar los programas que frecuentemente se comercializaban en ese medio. Luego aparecieron las unidades de diskette como medio de almacenamiento, y con ellas un rudimentario sistema operativo de disco (DOS), pero era una alternativa muy costosa para el usuario típico del hogar.

El IBM PC tenía, como los demás microcomputadores de la época, un interpretador del lenguaje de programación BASIC, en 4 ROMs de 8 KiB, y también tenía un puerto para conectar un grabador de cassettes como medio de almacenamiento. El BASIC en ROM se activaba en caso de no haber un diskette en la unidad o haber una falla en leer el primer sector del diskette, o no haber unidad de diskette.

El ROM BASIC tenía casi toda la RAM del computador a su disposición pues no se había cargado el sistema operativo desde el diskette. Podía leer y escribir archivos y programas en la grabadora de cassettes, pero no tenía la capacidad de manejar archivos en diskettes, lo que lo hacía muy limitado. También, era la base de los interpretadores BASIC que venían con el PC DOS, BASIC y BASICA. Estos no podían funcionar sin el BASIC en el ROM del IBM PC.

Los clones que pronto surgieron, tenían un BIOS clonado pero no disponían del BASIC en ROM, así que Microsoft ofreció para ellos el MS DOS, que era una versión del PC DOS que podía funcionar en cualquier computador, y éste tenía un interpretador BASIC llamado GW-BASIC, que era una versión del BASICA que no necesitaba el ROM BASIC que solo tenían los computadores originales de IBM.

Software[editar]

El IBM PC venía con 8 KiB de ROM para su BIOS, el IBM PC ROM BIOS, y 40 KiB de ROM (en 4 chips de 8 KiB) para su interpretador BASIC, el IBM Cassette BASIC.

Para el IBM PC estuvieron disponibles tres versiones del lenguaje BASIC (Cassette, Disk y Advanced), El sistema operativo de disco (DOS), el PC DOS, un compilador Pascal, el sistema operativo CP/M-86, el UCSD p-System, los programas General Ledger, Accounts Receivable y Accounts Payable de Peachtree Software, Inc; el procesador de palabras EasyWriter, la hoja de cálculo VisiCalc, Microsoft Adventure (una versión del programa del Colossal Cave Adventure), un programa de comunicaciones.[25]

El sistema operativo PC DOS era necesario para operar las unidades de diskette y para trabajar con el computador. Un compilador de BASIC, BASCOM (BASic COMpiler), fue posteriormente disponible para acelerar el BASIC interpretado, al igual que un macro assembler, y un compilador Fortran. Posteriormente, cuando el IBM PCjr fue desarrollado, otra versión de BASIC llamada Cartridge BASIC estuvo disponible como un cartucho de expansión, pero solamente para dicha máquina.

Se hicieron versiones para el IBM PC de programas que existían para otros microcomputadores. Se crearon todo tipo de programas para el IBM PC.

Manuales y documentación[editar]

El computador venía con varios manuales en carpetas de tres anillos que se distinguían por sus colores característicos:

  • IBM Guide to Operations, de color vino tinto. Traía información general sobre como operar y usar el computador, el sistema operativo DOS, y el hardware (las tarjetas de expansión, la impresora, el monitor, la unidad del sistema, etc). Se explicaba al usuario como armar el computador al sacarlo de la caja y cómo conectar los componentes. Había un pequeño manual de instalación y configuración por cada componente comprado. El manual tenía información para diagnóstico de problemas y al final había un sobre de plástico con un diskette de diagnóstico y se detallaba el uso del diskette de diagnóstico.[26]
  • IBM BASIC, de color verde oliva. Tenía información técnica de las tres versiones del lenguaje de programación BASIC de IBM, Cassette BASIC, Disk BASIC y Advanced BASIC. Había información sobre como usar el interpretador BASIC, información general sobre el lenguaje BASIC; el uso del editor de línea para escribir, editar, listar el programa, etc; una descripción del uso de las variables y de todas las funciones, sentencias y comandos del lenguaje, mensajes de error, etc.[27]
  • IBM DOS, de color crema. Venía al comprar el DOS. Tenía información sobre el uso del DOS, sobre cada comando del DOS para los usuarios, así como información técnica del funcionamiento interno para programadores. En un sobre plástico, al final del manual, se encontraba un diskette de 5.25" con el PC DOS.[28] En ediciones posteriores del DOS se separó la información para el usuario de la información técnica de programación, creándose dos manuales distintos.

Adicionalmente se ofrecieron otros manuales y software en el mismo formato, como el del sistema operastivo CP/M-86 de color crema, el IBM Hardware Maintenance and Service de color azul y el IBM PC Technical Reference Manual de color gris oscuro azulado, destacándose el IBM PC Technical Reference Manual por su contenido muy detallado del diseño y funcionamiento del IBM PC y por su impacto en la industria del computador personal.

IBM PC Technical Reference Manual[editar]

IBM ofrecía el IBM PC Technical Reference Manual (Manual Técnico de Referencia del IBM PC). En el manual se explicaba con todo lujo de detalles el funcionamiento del computador, la placa base, sus tarjetas de expansión (tarjetas de video CGA y MDA, de juegos, seriales y paralelas, controladora de diskettes), el monitor, la impresora, las unidades de diskette, y cada uno de los circuitos integrados que hacían trabajar al sistema. Se incluían especificaciones muy detalladas del hardware, diagramas de cada uno de los componentes del computador, especificaciones técnicas, guías de programación, y un listado completo del IBM PC ROM BIOS.

El manual técnico del IBM PC fue seguido por los correspondientes manuales técnicos para el IBM XT, IBM PCjr, y el IBM AT, al ir apareciendo estas máquinas en el mercado.

Estos manuales técnicos, con información de ingeniería tan detallada y abundante, tuvieron una importancia capital en el surgimiento de la industria de los computadores personales: En la manufactura de tarjetas de expansión, componentes, y de los computadores clones compatibles del IBM PC y siguientes computadores personales de IBM.

Gracias a la información técnica suministrada por IBM en este manual, a apenas pocas semanas del lanzamiento del IBM PC ya habían tarjetas y accesorios compatibles para el computador personal de IBM, al año siguiente apareció el primer clon, el Columbia Data Products, y en muy poco tiempo se creó un enorme ecosistema de productos alrededor de los computadores personales (compatbles con IBM). La industria del computador personal de hoy en día nació, y es como es, gracias al IBM PC y su IBM PC Technical Reference Manual.

IBM PC y sus sucesores[editar]

El PC original tenía un procesador Intel 8088 corriendo a 4.77 MHz, y había una versión de BASIC en ROM (el IBM Cassette BASIC). IBM vendió el PC en configuraciones con entre 16 KiB y 64 KiB de RAM preinstaladas en la placa base. el máximo de memoria en la placa base era de 64 KiB y se le podían añadir tres tarjetas IBM de memoria de 64 KiB para un total de 256 KiB, y con tarjetas de memoria de terceros podía subir hasta 576 KiB para un total de 640 KiB. Habían disponibles, para salida de video, una tarjeta monocromática y una tarjeta gráfica de color, la tarjeta de vídeo de color podía usar una TV estándar como pantalla. Tenía un puerto para conectar un grabador de cassette como dispositivo de almacenamiento. Estaba disponible una unidad de disco flexible como opción extra que la mayoría de los usuarios compraron; no estaba disponible el disco duro. Tenía cinco ranuras de expansión. IBM ofrecía una tarjeta de comunicaciones asíncronas, una tarjetas con puerto paralelo, una tarjeta de juegos, tarjetas de memoria de 32 y 64 KiB, un monitor y una impresora. El PC original fracasó estrepitosamente en el mercado casero, pero fue extensamente usado en los negocios.

El IBM PC XT salió al mercado el 8 de marzo de 1983. El procesador era un Intel 8088 de 4.77 MHz y el bus de expansión de 8-bit ISA con arquitectura bus XT, que era idéntico al del IBM PC con alguna modificación. Fue una máquina mejorada, diseñada para uso en los negocios. Tenía 8 ranuras de expansión y un disco duro de 10 megabytes (ST-412). Podía tener hasta 256 KiB de memoria en la tarjeta principal. Fue vendido con una tarjeta monocromática MDA.

El IBM PCjr fue anunciado en 1 de noviembre de 1983 y lanzado a finales de enero de 1984. Fue un intento de IBM para entrar en el mercado de los computadores caseros. Tenía un CPU Intel 8088 de 4.77 MHz, 128 KiB de memoria RAM, un teclado inalámbrico infrarrojo y entradas para cartuchos de expansión. Fue un fracaso debido a varias decisiones de diseño e implementación.

El IBM AT fue lanzado en 1984. Utilizó un procesador Intel 80286, originalmente a 6 MHz y después a 8MHz. Tenía un bus ISA de 16-bit y unidad de disco duro de 20 MB. IBM hizo algunos intentos en el mercado con una máquina multi-usuario, pero la vendió principalmente como una PC más rápida para los usuarios.

IBM Convertible.

IBM Portable.

Luego aparecieron los modelos de PC de segunda generación. Los Personal System/2 (PS/2), son conocidos por sus números de modelo: Model 25, Model 30. Dentro de cada serie, los modelos son también normalmente referenciados por la velocidad del reloj de su CPU.

No obstante, IBM continuó produciendo computadores compatibles con sus primeros PC, esta vez incorporando los avances tecnológicos de sus competidores que ya eran comunes en la mayoría de PCs, bajo marcas como IBM ThinkVision, IBM ThinkPad, IBM ThinkVantage, IBM ThinkCentre, IBM Aptiva e IBM NetVista.

Todas las computadoras personales IBM son, en general, compatibles desde el punto de vista del software, pero no todos los programas funcionarán en todas las máquinas. Algunos programas son sensibles al tiempo para una clase de velocidad particular. Los programas viejos no aprovecharán novedades como estándares de pantalla de alta resolución o instrucciones extendidas de procesamiento.

Véase también[editar]

Principales circuitos integrados que conformaron el IBM PC:

  • En tarjetas de expansión manufacturadas por IBM:

Otros computadores personales de IBM:

Referencias[editar]

  1. «Obsolete Technology Website». Consultado el 14-08-2008.
  2. Secrets of Software Success: Management Insights from 100 Software Firms Around the World, ISBN 1-57851-105-4 (1999)
  3. "Total share: 30 years of personal computer market share figures", Jeremy Reimer December 14, 2005 http://arstechnica.com/articles/culture/total-share.ars/4
  4. the history of computing project
  5. a b ?28th Annual Design Review?, I.D. Magazine, Designers' Choice: IBM Personal Computer, Tom Hardy: Industrial Designer,1982.
  6. COMDEX FALL November 18, 1981 Las Vegas, NV, "Tecmar shows 20 IBM PC option cards.. LabMaster, LabTender, DADIO,DeviceTender, IEEE-488.."
  7. PC Magazine Vol1 No.1, "Taking the Measure" by David Bunnell, "Tecmar deployed 20 option cards for the IBM PC"
  8. PC Magazine Vol1 No.5, "Tecmar Triumph" by David Bunnell, Scientific Solutions releases 20 new products for the PC
  9. BYTE Vol7 No.1 "Scientific Solutions - Advertisement for data acquisition boards, stepper controllers, IEEE-488 products
  10. Test&Meausrement World Vol11 No 10 Decade of Progress Award: Scientific Solutions - LabMaster First in PC Data Acquisition
  11. David J. Bradley, The Creation of the IBM PC, BYTE Magazine Volume 15 No. 9 September 1990 pages 414-420
  12. http://www-03.ibm.com/ibm/history/exhibits/pc25/pc25_birth.html
  13. ctv.se - PC KITS-tutorial page (parallel port, joystick port)
  14. The IBM PC serial port is not strictly RS-232, since it uses TTL signal levels, whereas RS-232 requires signals of +/- 3 to 15 volts; some signal levels that are valid for a TTL high state, and all signal levels that represent a TTL low state, fall within the forbidden range of -3 to +3 volts for standard RS-232. (However, it is not difficult to design and construct a level converter that will convert between IBM serial port and standard RS-232 signals.)
  15. David Bradley, BYTE September 1990
  16. Even if SSDD disks were not advertised as/rated for DSDD use, they usually could be DSDD formatted all the same. DSDD-rated floppy disks could always be used as SSDD floppies. This just meant that one side was not written on.
  17. IBM (July 1982). Technical Reference: Personal Computer Hardware Reference Library (Revised Edition edición). IBM Corp. pp. 2–93. 6025008. 
  18. Sometimes the tracks were also referred as cylinders, which is technically correct and analogous to hard drive cylinders. One floppy disk track equaled one cylinder, however with double-sided floppies, only the first side's cylinder numbers were identical to the track numbers; on the second side, the cylinders 1-40 corresponded to tracks 41-80 of the formatted floppy.
  19. 327,680 bytes, i.e. 512 bytes × 8 sectors × 40 tracks × 2 sides
  20. 184,320 bytes, i.e. 512 bytes × 9 sectors × 40 tracks on the one side used
  21. 368,640 bytes, i.e. 512 bytes × 9 sectors × 40 tracks × 2 sides
  22. However, IBM later offered the 5161 Expansion Unit, which could allow the installation of additional floppies, though this was not a typical configuration as the Expansion Unit shipped with one or two hard drives occupying the available drive bays.
  23. illinois.edu - Real time clock plus RAM
  24. The DMA address register extends the 16-bit transfer memory address capacity of the 8237 to 24 bits
  25. IBM PC Product fact sheet
  26. Manual IBM Guide to Operations
  27. Manual IBM BASIC
  28. Manual IBM DOS

Enlaces externos[editar]