Diferencia entre las páginas «Motorola 6809» y «XBase»

De El Museo de los 8 Bits
(Diferencia entre las páginas)
Ir a la navegación Ir a la búsqueda
m (1 revisión importada)
 
Sin resumen de edición
 
Línea 1: Línea 1:
[[Image:MC6809EP.jpg|right|250px|thumb|Microprocesador Motorola MC6809EP]]
'''xBase''' es el término genérico para todos los [[lenguaje de programación|lenguajes de programación]] que derivan del lenguaje de programación [[dBase]], originalmente publicado por  [[Ashton-Tate]]. Existen indicativos de que existió un predecesor no comercial.


El '''6809''' es un [[microprocesador]] de 8 [[bit]]s fabricado por [[Motorola]], desde [[1979]]. El 6809 fue un avance mayor sobre sus dos predecesores, el [[Motorola 6800]] y el [[MOS Technology 6502]]. Es considerado como el ''precursor moral'' de la familia de procesadores [[Motorola 68000]] , aunque el diseño del 68K actualmente se sobrepasa al proyecto 6809.
La 'x' significa que existen diversos intérpretes y compiladores para este lenguaje. Una lista incompleta sería :
* [[dBase]] / Visual dBASE de [http://www.dbase.com/ dBASE Inc.]
* [[(dBXL/Arago) QuickSilver]]
* [[Clipper (lenguaje de programación)|Clipper]] de [http://www.grafxsoft.com/clipper.htm GrafxSoft]
* [[FoxPro]]
* [[Visual FoxPro]] de [[Microsoft]]
* [[xBase++]] de [http://www.alaska-software.com/ Alaska Software]
* [[Recital]] de [http://www.recital.com/ Recital Corp.]
* [[Flagship]] de [http://www.fship.com/ multisoft GmbH]
* [[Compilador Clip|Clip]]
* [[Compilador Harbour|Proyecto Harbour]]
* [[xHarbour]]


==Descripción==
Ante el éxito de dBase, y la inexistencia de un [[compilador]] que generara ejecutables independientes (lo que obligaba a tener cargado dBase en memoria, y a haber comparado el producto completo si se quería usar un desarrollo en dBase), hizo qeu proliferaran los compiladores de terceros, que no sólo soportaban la síntaxis de dBase II/dBase III sino que la ampliaban y añadían características, superando en calidad al producto. Por otro lado esas ''extensiones propietarias'' impedían que ocurriera como en [[COBOL]] o [[Lenguaje de programación C|C]], que un programa podía portarse entre compiladores con respetar las normas estandarizadas. [[Ashton-Tate]] inició acciones judiciales contra todos los productos xBase de su tiemp alegando que el lenguaje era de su propiedad, y sólo con dBase IV incluyó un compilador. Tras su compra por [[Borland]], estas acciones fueron retiradas (era parte del acuerdo), y Borland promovió el que se declara xBase como estándar ANSI. El comité ANSI comienza a trabajar en [[1992]] siendo [[Marc Schnapp]] su primer portavoz, y paticipando todas las casas con un producto xBase. Pero no logran un acuedo al no estar dispuestos a ceder sus etensiones o a cambiar su síntaxis, pese a reconocer todos la necesidad de un estándar.


Entre las mejoras más significativas que el 6809 introdujo sobre sus predecesores fue el empleo de dos [[acumulador (informática)|acumuladores]] de 8 bits, mejor que uno en el 6502, el cual puede ser combinado en un único [[registro]] de 16 bits. También tenía dos [[registro índice|registros índice]] de 16 bits (frente a los 8 bits del 6502) y dos [[puntero de pila|punteros de pila]] (frente a uno en el 6502), permitiendo modos de direccionamiento bastante avanzados.
En 1993, la editorial de libros de informática [[Sybex, Inc.]] publica  '''Xbase Cross Reference Handbook''', de Sheldon M. Dunn, una referencia cruzada de los lenguajes xBase más usados del momento (dBASE III+, dBASE IV, FoxPro para DOS, FoxPro para Windows, FoxPro para Macintosh y Clipper 5.1). Con 1352 páginas y un peso de 5.1 libras, se convierte en la '''biblia'''<ref>témino usado en varias Universidades y Facultades para referirse al libro gordo, incómodo de leer, pero que contiene la base principal de lo estudiado.</ref> de los programadores xBase (sobre todo aquellos que deben simultanear diferentes entornos), y resuelve uno de los principals problemas documentales de la comunidad de usuarios. Tras esto, las compañías de soft decide dividir sus manuales separando comandos de funciones, etc, y dividiendo el manual previo en 2 o 3 manuales, cada uno centrado en un tema. [[1993]] es también un punto de inflexión, al coincidir las compras de Ashton-Tate por Borlan y la de Fox Software por Microsoft. Borland ha comprado también QuickSilver para dotarse de una base de desarrolladores con que encarar el lanzamiento de uan versión de dBASe para Windows (por entonces 3.1). En 1994, Borland lanzará dBase V para Windows y dBase V para DOS. Tras del fracaso comercial venderá el nombre y la línea de productos dBase a [[dBase Inc.]]


La 6809 es compatible a nivel de código fuente con el 6800, aunque el 6800 tenía 78 instrucciones y el 6809 solo 59. Algunas instrucciones fueron reemplazadas por otras más generales que el [[ensamblador]] podía traducir, y algunas donde reemplazadas por modos de direccionamiento. El [[conjunto de instrucciones]] y complemento de registro fue altamente [[ortogonal]], haciendo la programación en lenguaje ensamblador bastante agradable, y no la pesadilla de la mayoría de otros CPUs de microcomputadoras de la época.
La decisión de [[Computer Associates]] de abandonar Clipper para volcarse en [[Visual Objects]] (que se saldará con otro fracaso sonado), provoca que se inicie una lenta migración a [[Visual FoxPro]] de parte de los desarrolladores xBase (al ser la única herramienta comercial completa disponible). Otra parte migrará a [[Delphi]]. Pero por otro lado se inicia el desarrollo de librerías que doten a Clipper de soporte en Windows (la de mayor éxito será [[FiveWin]]), y comienzan a desarrollarse compiladores que soporten la síntaxis y herramientas de terceros de Clipper 5.2 (será el inicio de compiladores como xBase++). El ascenso de [[Linux]] y el movimiento [[Open source]] motivará a una comunidad ya acostumbrada a desarrollar y mantener librerías gratuitas mediante [[BBS]] a desarrollar sus propios compiladores, varios de ellos respaldados por desarrolladores de herramientas comerciales con amplia experiencia en el mundo xBase.


Otra característica fue una de las primeras instrucciones de multiplicación de su tiempo, aritmética de 16 bits y una [[interrupción]] rápida especial. Pero el 6809 fue también altamente optimizado, con una velocidad hasta 5 veces superior a las [[CPU]]s de la serie 6800. Al igual que el [[6800]], incluyó la tristemente célebre e indocumentada instrucción de prueba de bus [[Halt and Catch Fire|Halt and Catch Fire (HCF)]] (detener e incendiarse).
Puede encontrarse una comunidad de soporte a desarrolladores que está focalizada principalmente en Clipper, FoxPro y xBase++ en la web [http://www.the-oasis.net The Oasis], nacida en [[1996]] como [[BBS]]. Microsoft mantiene  [http://msdn.microsoft.com/vfoxpro/community/related/default.aspx una lista de websites] relacionadas con [[Visual FoxPro]].


La optimización del procesador 6809 significó que, a diferencia de muchos procesadores de aquel entonces, las instrucciones fueron en su mayoría construidas dentro del procesador, en lugar de ser escritas utilizando microcódigo o microprogramación. Esto significó que podía tomar muchos menos ciclos de reloj de CPU para procesar las instrucciones. Como ejemplo, la instrucción "<code>ADDA 63</code>" toma tres [[ciclo de reloj|ciclos de reloj]] (dos para recoger la instrucción, y una para que tuviera lugar la operación).
==Enlaces externos==
*[news:comp.lang.cliper Grupos de Usuarios Clipper]
*[http://www.clicketyclick.dk/databases/xbase/format/index.html Xbase Descripción del Formato de Archivo ( & dBASE )]
*[http://www.geocities.com/tablizer/xbasefan.htm Apreciación Xbase]


En el [[Zilog Z80]], el cual fue probablemente el principal competidor al 6809, "<code>ADD A,63</code>" toma siete ciclos de reloj. Esto significa que el Z80 necesita una velocidad de reloj de al menos el doble que un 6809 para igualar su rendimiento. En adición, las [[CPU]]s de 8 bits de Motorola usaban un ciclo de reloj por acceso a memoria, no el reloj de estado de la mayoría de los otros microcomputadores del esa época. Una simple operación de lectura de memoria en un Z-80, por ejemplo, necesita varios ciclos de reloj frente al único ciclo de reloj del 6800/6809. ¡Distintos relojes!
[[Categoría:Lenguajes de programación xBase]]
 
[[Categoría:Bases de datos]]
El Motorola 6809 se produjo en tres versiones, a 1 [[MHz]], 1,5 Mhz y 2 MHz, que se indicaban con una letra entre la pareja de dígitos 68 y 09 ('''A''' 1,5; '''B''' 2 Mhz). Un primer sufijo indicaba si el generador de reloj era interno o externo ('''E'''). Un segundo sufijo indicaba si el rango de funcionamiento era de 0ºC a 70ºC (ninguno) o de -40ºC a 85ºC ('''C'''). Y un tercero indicaba si el encapsulado era plástico ('''P''') o cerámico ('''C''' también llamado cerdip)
[[Categoría:DOS]]
 
<!---
El 6809 tiene un generador de reloj interno (sólo necesita un cristal externo) mientras que el 6809E necesita además un generador de reloj externo. Debido a ello, los pines 39 (TSC / XTAL), 38 (LIC / EXTAL), 36 (AVMA / !MRDY) y 33 (BUSY / !DMA/!BREQ) son diferentes en los 6809E / 6809.
[[da:XBase]]
 
[[de:XBase]]
{| border="1" cellpadding="5" cellspacing="0"
[[en:XBase]]
|-  style="background:black; color:white"
[[es:XBase]]
!Encapsulado
[[pl:XBase]]
!Frecuencia
[[ru:XBase]]
!Temperatura
--->
!6809
!6809E
|- align="center"
!rowspan=6 style="background:grey; color:white"|Plástico
|rowspan=2|1,0 MHz
|0ºC a 70ºC
|MC6809P
|MC6809EP
|- align="center"
| -40ºC a 85ºC
|MC6809CP
|MC6809ECP
|- align="center"
|rowspan=2|1,5 MHz
|0ºC a 70ºC
|MC68A09P
|MC68A09EP
|- align="center"
| -40ºC a 85ºC
|MC68A09CP
|MC68A09ECP
|- align="center"
|rowspan=2|2,0 MHz
|0ºC a 70ºC
|MC68B09P
|MC68B09EP
|- align="center"
| -40ºC a 85ºC
|MC68B09CP
|MC68B09ECP
|- align="center"
!rowspan=6 style="background:grey; color:white"|Cerámica
|rowspan=2|1,0 MHz
|0ºC a 70ºC
|MC6809S
|MC6809ES
|- align="center"
| -40ºC a 85ºC
|MC6809CS
|MC6809ECS
|- align="center"
|rowspan=2|1,5 MHz
|0ºC a 70ºC
|MC68A09S
|MC68A09ES
|- align="center"
| -40ºC a 85ºC
|MC68A09CS
|MC68A09ECS
|- align="center"
|rowspan=2|2,0 MHz
|0ºC a 70ºC
|MC68B09S
|MC68B09ES
|- align="center"
| -40ºC a 85ºC
|MC68B09CS
|MC68B09ECS
|}
 
==Historia==
 
La compañía de desarrollo de Software [[Microware]] desarrolló el sistema operativo [[OS-9]] original (no confundir con MacOS 9) en el 6809, portándolo posteriormente a la serie de microprocesadores 68000.
 
El [[Hitachi 6309]] fue una versión mejorada del 6809 con más registros extra e instrucciones adicionales, incluyendo movimiento de bloques, instrucciones de multiplicación adicionales, y división implementada por hardware.
 
Desafortunadamente ni Motorola ni Hitachi producen más procesadores 6809 o sus derivados, a pesar de que se debe decir que ha sido la más poderosa CPU de 8 bits de propósito general jamás diseñado. Tuvo muchas características innovadoras, varias de las cuales fueron copiadas y luego usadas en otras partes.
 
El 6809 fue usado como segunda CPU en el Commodore [[Commodore PET|SuperPET]] y en los [[Acorn System 2]],  [[Acorn System 3]], [[Acorn System 4]] y [[Acorn System 5]]. Como CPU principal en los :
*'''6809'''
**[[Smoke Signal Broadcasting Chieftain]]
*'''68A09'''
**[[Vectrex]], la única [[videoconsola]] de gráficos vectoriales
**[[Fujitsu FM 8]]
*'''68B09'''
**[[Fujitsu FM 7]]
**[[Secoinsa FM 7]]
*'''6809E'''
**[[TRS-80 Color Computer|Tandy Radio Shack TRS-80 Color Computer]]
**[[TRS-80 Color Computer|Tandy Radio Shack TRS-80 Color Computer II]]
**[[Thomson TO 7]]
**[[Thomson TO 7 70]]
**[[Thomson MO 5]]
**[[Thomson MO5 NR]]
**[[Thomson TO 8]]
**[[Thomson MO5 E]]
**[[Thomson MO 6]]
**[[Thomson TO 8 D]]
**[[Thomson TO 9]]
**[[Thomson TO 9 +]]
**[[Dragon 32]]
**[[Dragon 64]]
**[[Dragon 200]]
 
 
 
== Registros ==
 
El 6809 tenía dos acumuladores de 8 [[bit]]s, A y B, que podían combinarse para formar un acumulador de 16 bits, D. Tenía dos registros índice de 16 bits, X e Y, dos registros punteros de stack de 16 bits U y S, un contador de programa de 16 bits PC, un registro de 8 bits para acceder directo a una página y un registro de 8 bits que contenía diversos flags.
 
Acumuladores
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      A      |      B      | D
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Registros índice
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              X              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Y              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Stacks
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              U              | User Stack Pointer
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              S              | Hardware Stack Pointer
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Program Counter
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              PC              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Direct Page    Flags
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      DP      |E F H I N Z V C|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  | | | | | | | +- Carry
                  | | | | | | +--- Overflow
                  | | | | | +----- Zero
                  | | | | +------- Negative
                  | | | +--------- !IRQ Mask
                  | | +----------- Half Carry
                  | +------------- !FIRQ
                  +--------------- Entire Flag
 
==Pinout==
 
[[Pinout]] del 6809. Las líneas del [[bus de direcciones]] se ven en color rojo, las del [[bus de datos]] en azul y las del [[bus de control]] en verde. El bus de energía, formado por los pines 1 y 7 (Vss y Vcc) se ve en negro.
 
            +---\/---+
    Vss  1|        |40 <Font color=green>!HALT <--</Font>
<Font color=green>--> !NMI</Font>  2|        |39 <Font color=green>ETAL  <--</Font>
<Font color=green>--> !IRQ</Font>  3|        |38 <Font color=green>EXTAL <--</Font>
<Font color=green>--> !FIRQ</Font> 4|        |37 <Font color=green>!RES  <--</Font>
<Font color=green><-- BS</Font>    5|        |36 <Font color=green>MRDY  <--</Font>
<Font color=green><-- BA</Font>    6|        |35 <Font color=green>Q    <--</Font>
    Vcc  7|        |34 <Font color=green>E    <--</Font>
<Font color=red><-- A0</Font>    8|        |33 <Font color=green>!DMA  <--</Font>
<Font color=red><-- A1</Font>    9|Motorola|32 <Font color=green>R/!W  --></Font>
<Font color=red><-- A2</Font>  10|  6809  |31 <Font color=blue>D7    <-></Font>
<Font color=red><-- A3</Font>  11|        |30 <Font color=blue>D6    <-></Font>
<Font color=red><-- A4</Font>  12|        |29 <Font color=blue>D5    <-></Font>
<Font color=red><-- A5</Font>  13|        |28 <Font color=blue>D4    <-></Font>
<Font color=red><-- A6</Font>  14|        |27 <Font color=blue>D3    <-></Font>
<Font color=red><-- A7</Font>  15|        |26 <Font color=blue>D2    <-></Font>
<Font color=red><-- A8</Font>  16|        |25 <Font color=blue>D1    <-></Font>
<Font color=red><-- A9</Font>  17|        |24 <Font color=blue>D0    <-></Font>
<Font color=red><-- A10</Font>  18|        |23 <Font color=red>A15  --></Font>
<Font color=red><-- A11</Font>  19|        |22 <Font color=red>A14  --></Font>
<Font color=red><-- A12</Font>  20|        |21 <Font color=red>A13  --></Font>
            +--------+
 
== Enlaces externos ==
 
*[http://cedicyt.usach.cl/microcomputadores Información sobre varios microprocesadores]
*[http://www.howell1964.freeserve.co.uk/parts/6809_introduction.htm DataSheet del 6809E] en HTML
{{Procesadores Motorola}}
 
 
{{wp}}
 
''Este artículo (o una versión anterior de él) contiene material de [[FOLDOC]], utilizado con su permiso.''
 
[[Categoría:Microprocesadores Motorola]]
 
[[de:Motorola 6809]]
[[en:Motorola 6809]]
[[es:Motorola 6809]]
[[fr:Motorola 6809]]
[[it:Motorola 6809]]
[[ja:MC6809]]
[[pl:Motorola 6809]]
[[sv:Motorola 6809]]

Revisión del 21:18 15 oct 2006

xBase es el término genérico para todos los lenguajes de programación que derivan del lenguaje de programación dBase, originalmente publicado por Ashton-Tate. Existen indicativos de que existió un predecesor no comercial.

La 'x' significa que existen diversos intérpretes y compiladores para este lenguaje. Una lista incompleta sería :

Ante el éxito de dBase, y la inexistencia de un compilador que generara ejecutables independientes (lo que obligaba a tener cargado dBase en memoria, y a haber comparado el producto completo si se quería usar un desarrollo en dBase), hizo qeu proliferaran los compiladores de terceros, que no sólo soportaban la síntaxis de dBase II/dBase III sino que la ampliaban y añadían características, superando en calidad al producto. Por otro lado esas extensiones propietarias impedían que ocurriera como en COBOL o C, que un programa podía portarse entre compiladores con respetar las normas estandarizadas. Ashton-Tate inició acciones judiciales contra todos los productos xBase de su tiemp alegando que el lenguaje era de su propiedad, y sólo con dBase IV incluyó un compilador. Tras su compra por Borland, estas acciones fueron retiradas (era parte del acuerdo), y Borland promovió el que se declara xBase como estándar ANSI. El comité ANSI comienza a trabajar en 1992 siendo Marc Schnapp su primer portavoz, y paticipando todas las casas con un producto xBase. Pero no logran un acuedo al no estar dispuestos a ceder sus etensiones o a cambiar su síntaxis, pese a reconocer todos la necesidad de un estándar.

En 1993, la editorial de libros de informática Sybex, Inc. publica Xbase Cross Reference Handbook, de Sheldon M. Dunn, una referencia cruzada de los lenguajes xBase más usados del momento (dBASE III+, dBASE IV, FoxPro para DOS, FoxPro para Windows, FoxPro para Macintosh y Clipper 5.1). Con 1352 páginas y un peso de 5.1 libras, se convierte en la biblia[1] de los programadores xBase (sobre todo aquellos que deben simultanear diferentes entornos), y resuelve uno de los principals problemas documentales de la comunidad de usuarios. Tras esto, las compañías de soft decide dividir sus manuales separando comandos de funciones, etc, y dividiendo el manual previo en 2 o 3 manuales, cada uno centrado en un tema. 1993 es también un punto de inflexión, al coincidir las compras de Ashton-Tate por Borlan y la de Fox Software por Microsoft. Borland ha comprado también QuickSilver para dotarse de una base de desarrolladores con que encarar el lanzamiento de uan versión de dBASe para Windows (por entonces 3.1). En 1994, Borland lanzará dBase V para Windows y dBase V para DOS. Tras del fracaso comercial venderá el nombre y la línea de productos dBase a dBase Inc.

La decisión de Computer Associates de abandonar Clipper para volcarse en Visual Objects (que se saldará con otro fracaso sonado), provoca que se inicie una lenta migración a Visual FoxPro de parte de los desarrolladores xBase (al ser la única herramienta comercial completa disponible). Otra parte migrará a Delphi. Pero por otro lado se inicia el desarrollo de librerías que doten a Clipper de soporte en Windows (la de mayor éxito será FiveWin), y comienzan a desarrollarse compiladores que soporten la síntaxis y herramientas de terceros de Clipper 5.2 (será el inicio de compiladores como xBase++). El ascenso de Linux y el movimiento Open source motivará a una comunidad ya acostumbrada a desarrollar y mantener librerías gratuitas mediante BBS a desarrollar sus propios compiladores, varios de ellos respaldados por desarrolladores de herramientas comerciales con amplia experiencia en el mundo xBase.

Puede encontrarse una comunidad de soporte a desarrolladores que está focalizada principalmente en Clipper, FoxPro y xBase++ en la web The Oasis, nacida en 1996 como BBS. Microsoft mantiene una lista de websites relacionadas con Visual FoxPro.

Enlaces externos

  1. témino usado en varias Universidades y Facultades para referirse al libro gordo, incómodo de leer, pero que contiene la base principal de lo estudiado.