ep tema1 06 07 - departamento lenguajes y …pedre/ep/ep_tema1_06_07.pdfpotentes son los más...

41
TEMA 1. INTRODUCCIÓN Y CONCEPTOS BÁSICOS Contenido del Tema 1. Introducción 2. Clasificación 3. Evolución histórica 4. Representación de la información 4.1. Códigos 4.2. Sistemas de numeración 4.3. Representación de números en el ordenador 4.4. Códigos de Entrada/Salida 5. Estructura básica de un ordenador 5.1. Hardware y Software 5.2. Estructura del Hardware 5.3. Estructura del Software 6. Funcionamiento de un ordenador T E M A 1 Elementos de Programación I Elementos de Programación Curso 2006-2007 Introducción INFORM INFORMÁTICA TICA = INFOR INFORmación + autoTICA TICA Informaci Información: Conjunto de símbolos usados para representar magnitudes, hechos, objetos o ideas. Computadora Computadora: Máquina para procesar información. Proceso informático o computaci computación Computadora Información de entrada e instrucciones Información de salida o resultados Proceso Informático

Upload: duongkhanh

Post on 16-Oct-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

TEMA 1. INTRODUCCIÓN Y CONCEPTOS BÁSICOSContenido del Tema

1. Introducción2. Clasificación3. Evolución histórica 4. Representación de la información

4.1. Códigos4.2. Sistemas de numeración4.3. Representación de números en el ordenador4.4. Códigos de Entrada/Salida

5. Estructura básica de un ordenador5.1. Hardware y Software5.2. Estructura del Hardware5.3. Estructura del Software

6. Funcionamiento de un ordenador

TEMA

1

TEMA

1

Elementos de Programación I

Elementos de Programación Curso 2006-2007

Introducción

INFORMINFORMÁÁTICATICA = INFORINFORmación + autoMMÁÁTICATICA

–– InformaciInformacióónn: Conjunto de símbolos usados para representar magnitudes, hechos, objetos o ideas.

–– ComputadoraComputadora: Máquina para procesar información.Proceso informático o computacicomputacióónn

ComputadoraInformación de entrada

e instruccionesInformación de salida o

resultados

Proceso Informático

Page 2: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Introducción

• Informática como ciencia y técnica–– CienciaCiencia: Estudio de la información y los

métodos para tratarla.–– TTéécnicacnica: Estudio y diseño de los

ordenadores.

Elementos de Programación Curso 2006-2007

Introducción

• Ambitos de aplicación de la informática.– Industria. "Robótica”, "Cibernética”, CAM (Computer Aided

Manufacturing), CIM (Computer Integrated Manufacturing)– Medicina. "Informática médica"– Agricultura y ganadería. "Agrónica"– Enseñanza. CAI (Computer Aided Instruction)– Diseño (industrial y artístico). CAD (Computer Aided Design), Infografía– Ambitos científicos y técnicos. Navegación, Meteorología, Astronomía,

"Simulación por ordenador”, SIG (Sistemas de Información Geográficos)– Ingeniería. CAE (Computer Aided Engineering)– Telecomunicaciones. "Teleinformática" o "Telemática"– Administración y negocios: "Informática de gestión”, Electronic Data

Processing (EDP), Management Information Systems (MIS), Enterprise Resource Planing (ERP), Electronic Document Interchange (EDI)

– Oficina. “Ofimática”.– Mundo doméstico. “Domótica”, Multimedia, video juegos.

Page 3: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Clasificación

• Métricas de la potencia de un ordenador.–– Velocidad.Velocidad.–– Fiabilidad.Fiabilidad.–– Capacidad de almacenamiento.Capacidad de almacenamiento.–– Costo.Costo.

La potencia de un ordenador es proporcional a su velocidad La potencia de un ordenador es proporcional a su velocidad de cde cáálculo, a su fiabilidad, su capacidad de almacenamiento lculo, a su fiabilidad, su capacidad de almacenamiento y normalmente a su coste. Es decir, los ordenadores my normalmente a su coste. Es decir, los ordenadores máás s potentes son los mpotentes son los máás rs ráápidos, fiables y con mayor pidos, fiables y con mayor capacidad de almacenamiento pero tambicapacidad de almacenamiento pero tambiéén los mn los máás caros.s caros.

Elementos de Programación Curso 2006-2007

Clasificación

• Tipos de ordenadores por su potencia– Supercomputadores (“Number crunchers”)– Macrocomputadores (“Mainframes”)– Minicomputadores.– Servidores (“Servers”)– Estaciones de trabajo (“Workstations”)– Computadores Personales/Profesionales (PS/PC)– Computadores portátiles (Notebook, PDA Hand-Held)– Network Computers (NC)– Nanocomputadores (“domésticos” o “familiares”)

Supercomputador CRAY

Page 4: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Clasificación

Number Cruncher Mainframe Servidor

WorkStation PC PortátilNC PDA

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Prehistoria– Abaco (siglo XI A.C.).– Sistemas de numeración.

• Calculadores mecánicos– Reglas de cálculo (logaritmos).– Calculadora de Pascal (1642)– Máquina de Leibnitz.

Regla de cálculo

Ábaco

Pascalina

Page 5: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Procesadores mecánicos– Tarjetas perforadas de Jacquard.– Cajas de música.– Primer ordenador moderno:

Máquina Analítica (Babbage)– Primeros programas de ordenador

(Ada Byron)• Tabuladores mecánicos

– Álgebra de Boole– Tabuladora de Hollerith– ASCC de Aiken

Telar de Jacquard

Tabuladora de Hollerith

Elementos de Programación Curso 2006-2007

Evolución Histórica

Ada ByronCharles Babbage George Boole

John Napier Blaise Pascal

Herman Hollerith

Gottfried VonLeibnitz

Joseph Marie Jacquard

Howard Aiken

Ibn Mohammedal-Khowârizmî

Page 6: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Máquina Diferencial (detalle) Máquina Diferencial

Máquina de Leibnitz

Tarjetas de Jacquard

Elementos de Programación Curso 2006-2007

Evolución Histórica

ASCC

Calculador mecánico de Bollee

Reproducción de la Máquina Analítica de Babbage

Page 7: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Primera Generación. Válvulas electrónicas (1940-50).– Avances en la electrónica.

• Cinta y tambor magnético (Poulsen)• Válvula de vacío (Lee de Forest)• Principios de Shannon

– Calculadores electrónicos en la 2ª guerra mundial.• Z3 de Zuse, Colossus de Turing

– Ejemplos: • ENIAC. Primer calculador totalmente

electrónico (Eckert y Mauchly).• ABC, Mark I, EDSAC, EDVAC, LEO,

WHIRLWIND, UNIVAC I, IBM 701– Arquitectura de Von Neumann

Válvula de vacío

Tambor magnético

Elementos de Programación Curso 2006-2007

Evolución Histórica

Tarjeta y cinta perforada

Cinta magnética

Tambor magnéticoVálvula de vacío

Page 8: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Konrad Zusse

John Von Neumman

Colossus

Eckert y MauchlyAlan Turing Claude Shanon

Elementos de Programación Curso 2006-2007

Evolución Histórica

ENIAC

Page 9: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

ABC

EDSAC

EDVAC

MARK IUNIVAC I

Atanasanoff

Elementos de Programación Curso 2006-2007

Evolución Histórica

ACE (1950) ORACLE

WHIRLWIND

LEO IBM 650

Page 10: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Segunda Generación. Transistores (1950-65).– Nuevas tecnologías en electrónica.

• Máquinas más pequeñas y rápidas.• Memorias de ferritas y disco magnético.• Transistor (Shockley) 1958

– Ejemplos: TXO, IBM-7000, Atlas, ...– Primeros lenguajes de programación.

• FORTRAN (Backus)• ALGOL (Naur)• COBOL (CODASYL)• BASIC (Kemeny & Kurtz)• PL-I (IBM)

Evolución de los discos magnéticos

Transistores

Elementos de Programación Curso 2006-2007

Evolución Histórica

TransistoresMemoria de FerritasDiscos duros primitivos (RAMAC)

Page 11: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

John Backus CODASYL (Cobol)Grace Murray Hopper P. Naur

Thomas Kurtz y John KemenyWilliam ShockeyPrimer transistor

Elementos de Programación Curso 2006-2007

Evolución Histórica

MIT TX-0 IBM 7030

DIGITAL PDP-1 IBM 1401

UNIVAC 1107

CDC 1600

Page 12: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Tercera generación. Circuitos integrados (1965-75).– Avances en componentes y dispositivos.

• Circuitos integrados (Kilby, Noyce & Moore)• Terminales de video, impresoras, módem, ...

– Ejemplos: IBM-360, PDP-8, UNIVAC-1108, CDC-6000– Software:

• Sistemas operativos: OS/360, MVS, VMS, UNIX, ...– Permiten compartir el ordenador entre varios usuarios

• Bases de datos (Codd)• Lenguajes de programación estructurados (Dijkstra): APL,

Pascal, C, ...• Lenguajes de programación entrelazados: Forth, Logo, ...

Circuito integrado

Elementos de Programación Curso 2006-2007

Evolución Histórica

Primer Circuito Integrado

Impresora de líneas

Circuito integrado primitivo

Perforadora y lectora de tarjetas

MODEM acústico

Page 13: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Gene Amdahl

Kenneth Thompson Dennis Ritchie

E. DijkstraNiklaus WirthSeymour Papert

Brian KerniganJack Kilby Robert Noyce

Elementos de Programación Curso 2006-2007

Evolución Histórica

IBM 360

DEC PDP-11 UNIXCDC 6600 DEC VAX 11-750

Evolución de los disquetes

CPU Apollo XI

Page 14: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Cuarta Generación. Microprocesadores (1975-).– Avances espectaculares en microelectrónica.

• Microprocesadores (Intel 4004) y circuitos LSI.

– Aparecen los ordenadores personales: Apple, IBM, Sinclair, Amstrad, Commodore, Atari, ...

• Sistemas operativos personales: CP/M, MS-DOS, MacOS, ...• Ofimática. Procesadores de textos, hojas de cálculo, ...• Entornos gráficos: Windows, Next, Motif, ...• Lenguajes orientados a objetos: ADA, C++, ...• Multimedia

– Teleinformática: Redes, Internet.

Elementos de Programación Curso 2006-2007

Evolución Histórica

INTEL 4004 Calculadora BUSICOM

INTEL 8008Obleas de silicio con μP

Pentium IV

Page 15: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Paul Allen y Bill Gates (MICROSOFT) Sir Clive Sinclair Ed Roberts (ALTAIR)

Gary Kildall (DR)C. Moore (INTEL)Steve Jobs y Stephen Wozniak (APPLE) Linus Torvalds (LINUX)

John Sculley (APPLE)

Elementos de Programación Curso 2006-2007

Evolución Histórica

APPLE I APPLE II MACINTOSH

APPLE LISAiMAC

iMAC II

iBOOK

Page 16: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

ALTAIR 8800

ZX-81

IBM-PC IBM PS-2AMSTRAD CPC 64

COMMODORE VIC-20

ZX SPECTRUM

Elementos de Programación Curso 2006-2007

Evolución Histórica

ATARI ST COMPAQ - 1

ATARI PONG

TANDY TRS-80

SONY MSX

SONY PS-2OSBORNE 1

XBOXCOMMODORE 64

GALAXY

Page 17: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Fibra Óptica Cableado de red local

INTERNET

Router

WIRELESS

Networking

Teleinformática

Elementos de Programación Curso 2006-2007

Entornos gráficos

Evolución Histórica

Be OS GEM (DR) LINUX / MOTIF

OS/2 WARP XEROX STAR

Page 18: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

WINDOWS 1 WINDOWS 2

WINDOWS 98 WINDOWS XPWINDOWS NT

WINDOWS 3.11

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Quinta Generación. Inteligencia Artificial (1990-).– Juego de la imitación de Turing– Nuevas arquitecturas de ordenadores

• Procesamiento paralelo• Redes neuronales• Nuevas tecnologías de materiales

– Nuevos enfoques en el tratamiento de la información

• Datos → Conocimientos• Lenguajes no procedurales: LISP, PROLOG, ...• Lenguaje natural• Sistemas expertos, sistemas inteligentes.

Page 19: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Alan KayJohn McCarthy

Bjarne Stroustrup Red Neuronal

LISP SMALLTALK PROLOG

C++ Negroponte

Elementos de Programación Curso 2006-2007

Evolución Histórica

Oblea de circuitos con tecnología de Cobre (IBM)

DEEP BLUE (IBM) ROBOTS (SONY)EARTH SIMULATOR (NEC)

HAL 9000 Superconductor

Nanotecnología

VVíídeodeo2001 una odisea 2001 una odisea

en el espacioen el espacio

Page 20: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

• Situación actual– Globalización.

• La tecnología al alcance de todos.

– Espectaculares avances de la telemática.• Redes locales de más de 1 Gbit/seg.• Redes Wireless (inalhámbricas)• Redes públicas de banda ancha (ATM, ADSL, XDSL)• Integración de telefonía y datos, tanto fija como móvil

(GPRS, UMTS, telefonía IP)• Seguridad informática (firewalls, cifrado de clave pública)• Internet y sus tecnologías aplicadas:

– WWW, HTML, JAVA, XML, etc.

Elementos de Programación Curso 2006-2007

Evolución Histórica

– Lenguajes visuales para los entornos GUI.• Integración de elementos mutimedia en los programas.• Lenguajes orientados a la infografía (FLASH, …)

– CBSE (Component-Based Software Engineering)– Procesamiento distribuido.

• Procesamiento simétrico (SMP).• Procesamiento en red (grid).

Page 21: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Evolución Histórica

Historia de la Historia de la informinformááticatica

IBM 701IBM 701

IBM RAMACIBM RAMAC

IBM 360IBM 360

IBM NORCIBM NORC

IBM 1401IBM 1401

MacintoshMacintosh

FabricaciFabricacióón n MicroprocesadoresMicroprocesadores

PentiumPentium

Funcionamiento Funcionamiento vváálvula de vaclvula de vacííoo

Mecanismo Mecanismo caja de mcaja de múúsicasica

PowerPCPowerPC

• Videos y animaciones

iMaciMac

Elementos de Programación Curso 2006-2007

Códigos

•• DATODATO: Característica de una información expresada en forma adecuada para su tratamiento.

• Representación de los datos (valores):– Valores analógicos.– Valores discretos o digitales.

• Necesidad de convertir los valores analógicos a discretos.–– Sistema digitalSistema digital: Sistema de N estados estables–– DDíígitogito: Variable capaz de asumir un estado discreto.

• Los dígitos se agrupan para representar más estados.

Page 22: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Códigos

•• CCóódigodigo: Ley de correspondencia entre valores de información y combinaciones de dígitos de un sistema digital utilizadas para representarlos.–– CodificaciCodificacióónn: Información → Código

azul → 0 azul → 100verde → 1 ó verde → 101rojo → 2 rojo → 111

–– DecodificaciDecodificacióónn: Código → Informaciónazul ← 0 azul ← 100verde ← 1 ó verde ← 101rojo ← 2 rojo ← 111

•• CCóódigo binariodigo binario. Cuando el sistema digital utilizado tiene sólo 2 estados (0,1).

Elementos de Programación Curso 2006-2007

Códigos

•• BITBIT (BIBInary digiTT): Unidad elementalde información. Variable lógica que sólo admite dos valores.

• Agrupaciones de bits:– Para N valores hacen falta x bits ⇒ 2 2 xx -- 11 << NN ≤≤ 2 2 xx

–– BYTEBYTE u OCTETOOCTETO: Agrupación de bits necesaria para representar y almacenar un símbolo de escritura (8).

– Medidas clásicas de la capacidad de almacenamiento: KILOBYTEKILOBYTE (KB) 210 bytes, MEGABYTEMEGABYTE (MB) 210 KB, GIGABYTEGIGABYTE (GB) 210 MB, TERABYTETERABYTE (TB) 210 GB.

Page 23: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Códigos• Nuevos prefijos para múltiplos binarios

exa: (10 3) 6exabinary: (2 10) 6Eiexbi2 60

peta: (10 3) 5petabinary: (2 10) 5Pipebi2 50

tera: (10 3) 4terabinary: (2 10) 4Titebi2 40

giga: (10 3) 3gigabinary: (2 10) 3Gigibi2 30

mega: (10 3) 2megabinary: (2 10) 2 Mimebi2 20

kilo: (10 3) 1kilobinary: (2 10) 1Kikibi2 10

DerivaciónOrigenSímboloNombreFactor

1 GB = 10 9 Bytes = 1.000.000.000 Bytes1 gigabyte1 GiB = 2 30 Bytes = 1.073.741.824 Bytes1 gibibyte1 MB = 10 6 Bytes = 1.000.000 Bytes1 megabyte1 MiB = 2 20 Bytes = 1.048.576 Bytes1 mebibyte1 kbit = 10 3 bits = 1.000 bits1 kilobit1 Kibit = 2 10 bits = 1.024 bits1 kibibit

Ejemplos y comparaciones con prefijos del SI métrico

Elementos de Programación Curso 2006-2007

Sistemas de numeración

•• Sistema de numeraciSistema de numeracióón n posicionalposicional en base "en base "bb””::Utiliza un alfabeto compuesto por b símbolos o cifras. El valor de cada cifra depende de:– La cifracifra en sí.– La posiciposicióónn de la cifra en el número.

• Ejemplo: El sistema decimal (b=10)Alfabeto: {0,1,2,3,4,5,6,7,8,9}3278.52 (10 = 3·103+2·102+7·101+8·100+5·10-1+2·10-2

• Generalizando, para ......nn33nn22nn11nn00.n.n--11nn--22... ... ((bb

NN =...+=...+nn33··bb33 ++nn22··bb22 ++nn11··bb11 ++nn00··bb00 + + nn--11··bb--11 + + nn--22··bb--22 +...+... Exp. 1.1

Page 24: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Sistemas de numeración

• Propiedades de los Sistemas de Numeración Posicionales.

1. La existencia de representaciones para cualquier número natural se basa en que la sucesión b0, b1, b2, ... bn, ... para b > 1 es estrictamente creciente.

2. Unicidad. Permite utilizar una única combinación de símbolos para representar cualquier número, eliminando cualquier ambigüedad.

3. En todo sistema de numeración posicional existe un símbolo unidado de orden 0 y un símbolo nulo. Todos los símbolos menos el nulo se llaman "significativos" porque representan cantidades, el símbolo nulo en cambio representa su ausencia.

4. Los números mayores que la base se representan por medio de varias cifras. La primera de la derecha indica el número de unidades de orden 0 que posee el número, la segunda expresa las unidades de orden 1 y así sucesivamente.

Elementos de Programación Curso 2006-2007

Sistemas de numeración5. Para un sistema de numeración con base "b", cada "b" unidades de

un cierto orden constituyen una unidad de orden superior. Una unidad de orden "n" equivale a "b" unidades de orden "n-1", o "b2" unidades de orden "n-2" o "bn" unidades de orden 0.

6. La representación en un sistema posicional de un número es un polinomio en el que la indeterminada es la base y los coeficientes se restringen a los números naturales inferiores a la base: ab...uvw = a·xn + b·xn-1 + ... + u·x2 + v·x + w

7. Las potencias de la base (bn) se expresan siempre como la unidad seguida de n ceros.

8. En base "b", el valor "bn-1" es una colección de n veces la cifra (b-1) que es el último símbolo básico para dicha base.

9. La cantidad de cifras para representar un número es inversamente proporcional al valor de la base. La relación entre un número y la cantidad de cifras necesaria para expresarlo en base "b" es: número de cifras = INT ((log b N) + 1)

Page 25: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Sistemas de numeración

•• Sistema de numeraciSistema de numeracióón n binariobinario.Aquí la base es 2 (b=2) sólo se necesitan dos símbolos : {0,1}

Binario Decimal

Tabla 1

000001010011100101110111

01234567

Elementos de Programación Curso 2006-2007

Sistemas de numeración

–– ConversiConversióón de decimal a binarion de decimal a binario. Se aplica el método de las “divisiones y multiplicacionesdivisiones y multiplicaciones”sucesivas por la base con divisor y multiplicador b=2.Ejemplo: 26.1875 (10 = 11010.0011 (2

Para la parte entera: 26 | 2 00 13 | 2

11 6 | 200 3 | 2

11 1 | 211 00

Para la parte fraccionaria:0.1875 0.3750 0.7500 0.5000

x 2 x 2 x 2 x 200.3750 00.7500 11.5000 11.0000

Page 26: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Sistemas de numeración

–– ConversiConversióón de binario a decimaln de binario a decimal. Se desarrolla la representación binaria (con b=2) y se opera el polinomio en decimal.Ejemplos:

110100(2 = 1·25 + 1·24 + 0·23 + 1·22 + 0·21 + 0·20 = 52 (1010100.001(2 = 1·24 + 0·23 + 1·22 + 0·21 + 0·20 + 0·2- 1 +0·2- 2 + 1·2-3

= 20.125 (10

• Realmente basta con sumar los pesos (2 i ) de las posiciones (i) en las que hay un 1.

Elementos de Programación Curso 2006-2007

Sistemas de numeración

•• Sistema de numeraciSistema de numeracióón octaln octal. La base es 8 y el conjunto de símbolos es: {0,1,2,3,4,5,6,7}–– ConversiConversióón de octal a decimaln de octal a decimal. Se desarrolla el

polinomio con b=8 y se opera en decimal.–– ConversiConversióón de decimal a octaln de decimal a octal. Aplicar el método de

“divisiones y productos” con divisor y multiplicador 8.–– ConversiConversióón n ““rráápidapida”” de binario a octalde binario a octal. Agrupar cifras

binarias de 3 en 3 y transformar con la tabla 1.• Ejemplo: 10001101100.11010 (2 = 2154.64 (8

–– ConversiConversióón n ““rráápidapida”” de octal a binariode octal a binario. Aplicar tabla 1.• Ejemplo: 537.24 (8 = 101011111.010100 (2

Page 27: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Sistemas de numeración

•• Sistema de Sistema de numeracinumeracióón n hexadecimalhexadecimal.La base es 16 y el conjunto de símbolos es: {0,1,2,3,4,5,6,7,8, 9,A,B,C,D,E,F}

Binario Decimal

Tabla 2.

Hexadecimal00000001001000110100010101100111

01234567

01234567

10001001101010111100110111101111

89

101112131415

89ABCDEF

Octal01234567

1011121314151617

Elementos de Programación Curso 2006-2007

Sistemas de numeración

–– ConversiConversióón de hexadecimal a decimaln de hexadecimal a decimal. Se desarrolla el polinomio con b=16 y se opera en decimal.

–– ConversiConversióón de decimal a hexadecimaln de decimal a hexadecimal. Aplicar el método de “divisiones y productos” con divisor y multiplicador 16.

–– ConversiConversióón n ““rráápidapida”” de binario a hexadecimalde binario a hexadecimal. Agrupar cifras binarias de 4 en 4 y aplicar la tabla 2.

• Ejemplo: 100 1011 1011 111 . 1011 1010 (2 = 25DF.BA (16

–– ConversiConversióón n ““rráápidapida”” de hexadecimal a binariode hexadecimal a binario. Convertir cada cifra hexadecimal mediante la tabla 2.

• Ejemplo: 1ABC.C4 (16 = 0001 1010 1011 1100 . 1100 0100 (2

Page 28: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Sistemas de numeración

• Resumen de cambios de base

Binario Decimal"d y m"

ex. I.1

OctalBinario Decimal

"d y m""d y m"

ex. I.1

ex. I.1

grupos3 bits

ex. I.1

HexadecimalBinario Decimal

"d y m""d y m"

ex. I.1

grupos4 bits

Elementos de Programación Curso 2006-2007

Representación de números en el ordenador

•• NNúúmeros de precisimeros de precisióón finitan finita: La memoria es limitada. Sólo se dispone de n bits para las representaciones.

•• Coma fija sin signo o binario puroComa fija sin signo o binario puro. Permite representar sólo números enteros positivos.– Rango: 0 a 2n - 1

• 000...n...0 ⇔ 111...n...1 (en binario puro)– Inconvenientes:

• Desbordamiento al realizar sumas.• Al no poder representarse los negativos, antes de

realizar A - B, se ha de comprobar que A ≥ B.

Page 29: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Representación de números en el ordenador

•• Coma fija signoComa fija signo--magnitudmagnitud. Se reserva un bit para indicar el signo. Se utiliza para productos.– MSB (Most Significant Bit) : 0 positivo, 1 negativo.– Rango: - (2n-1 - 1) a (2n-1 - 1)

• 000...n...0 a 011...n...1para positivos• 100...n...0 a 111...n...1para negativos• primer bit para signo y el resto en binario puro.

– Inconvenientes :• El cero tiene dos representaciones.• La operación que se realiza (suma o resta) depende de los

operandos.

Elementos de Programación Curso 2006-2007

Representación de números en el ordenador

•• Complemento a dosComplemento a dos. Simplifica sumas y restas, quedando reducidas a sumas (el acarreo se elimina).– Rango: - 2n-1 a (2n-1 - 1)

• 000...n...0 a 011...n...1 para positivos (en binario puro)• 100...n...0 a 111...n...1 para negativos (en complemento a dos)• Los valores negativos (-x) se representan como: 22nn -- ||xx||

– Una sola representación para el cero.– Ejemplo: para n = 8, para realizar la resta 7-5 = 2:

+7 = 00000111-5 = (complemento a dos) 11111011 ++2 100000010 = 2

acarreo final se elimina

+-

Page 30: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Representación de números en el ordenador

•• Complemento a unoComplemento a uno. Representación de negativos muy simple.– Rango: - (2n-1 - 1) a (2n-1 - 1)

• 000...n...0 a 011...n...1 para positivos (en binario puro)• 100...n...0 a 111...n...1 para negativos (en complemento a uno)• Los valores negativos (-x) se representan como: (2(2nn --1) 1) -- ||xx||

– Ventajas:• Representación de negativos muy simple (cambio de ceros por

unos y unos por ceros).• Las sumas y restas se reducen a sumas, pero hay que tener en

cuenta el acarreo final, sumándolo al resultado.– Inconvenientes:

• El cero tiene dos representaciones (no unicidad).

Elementos de Programación Curso 2006-2007

Representación de números en el ordenador

– Ejemplo: para n = 8, para realizar la resta 7 - 3:

+7 = 00000111-3 en complemento a uno es 11111100

luego 0000011111111100 +100000011

1 +00000100 = 4

Page 31: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Códigos de Entrada/Salida

• Asocian a cada símbolo de la escritura (carácter) una determinada combinación de bits.–– Caracteres grCaracteres grááficosficos.. Representan símbolos.–– Caracteres de controlCaracteres de control.. Órdenes para controlar los

dispositivos de E/S. (p.e. cambio de línea, pitido, etc.)• Para codificar m símbolos distintos se necesitan

n bits, siendo n ≥ log2 m, donde n ∈ Ν.código E/S : a → ba = {0,1,2,...,8,9,A,B,...,Y,Z,a,b,...,y,z,*,",/,...}b = {0,1}n

• Existen muchos códigos de E/S normalizados.

Elementos de Programación Curso 2006-2007

Códigos de Entrada/Salida•• CCóódigo ASCII.digo ASCII.

CARACTERES DE CONTROLCARACTERES DE CONTROL0 NULNUL (nulo) 16 DLEDLE (escape de enlace de datos)1 SOHSOH (comienzo de cabecera) 17 DC1DC1 (control de dispositivo 1)2 STXSTX (comienzo de texto) 18 DC2 DC2 (control de dispositivo 2)3 ETX ETX (fin de texto) 19 DC3DC3 (control de dispositivo 3)4 EOTEOT (fin de transmisión) 20 DC4DC4 (control de dispositivo 4)5 ENQENQ (pregunta) 21 NAKNAK (acuse de recibo negativo)6 ACKACK (acuse de recibo) 22 SYNSYN (sincronización)7 BELBEL (campana sonora) 23 ETBETB (fin de bloque de transmisión)8 BSBS (retroceso de un espacio) 24 CANCAN (anulación)9 HTHT (tabulación horizontal) 25 EMEM (fin de medio físico)10 LFLF (cambio de renglón) 26 SUBSUB (carácter de sustitución)11 VTVT (tabulación vertical) 27 ESCESC (escape)12 FFFF (página siguiente) 28 FSFS (separador de ficheros)13 CRCR (retroceso del carro) 29 GSGS (separador de grupos)14 SOSO (fuera de código) 30 RSRS (separador de registros)15 SISI (en código) 31 USUS (separador de unidades)

Page 32: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Códigos de Entrada/SalidaCARACTERES GRCARACTERES GRÁÁFICOSFICOS

32 32 SP SP 48 48 00 64 64 @@ 80 80 PP 96 96 `̀ 112 112 pp33 33 !! 49 49 11 65 65 AA 81 81 QQ 97 97 aa 113 113 qq34 34 "" 50 50 22 66 66 BB 82 82 RR 98 98 bb 114 114 rr35 35 ## 51 51 33 67 67 CC 83 83 SS 99 99 cc 115 115 ss36 36 $$ 52 52 44 68 68 DD 84 84 TT 100 100 dd 116 116 tt37 37 %% 53 53 55 69 69 EE 85 85 UU 101 101 ee 117 117 uu38 38 && 54 54 66 70 70 FF 86 86 VV 102 102 ff 118 118 vv39 39 '' 55 55 77 71 71 GG 87 87 WW 103 103 gg 119 119 ww40 40 (( 56 56 88 72 72 HH 88 88 XX 104 104 hh 120 120 xx41 41 )) 57 57 99 73 73 II 89 89 YY 105 105 ii 121 121 yy42 42 ** 58 58 :: 74 74 JJ 90 90 ZZ 106 106 jj 122 122 zz43 43 ++ 59 59 ;; 75 75 KK 91 91 [[ 107 107 kk 123 123 {{44 44 ,, 60 60 << 76 76 LL 92 92 \\ 108 108 ll 124 124 ||45 45 -- 61 61 == 77 77 MM 93 93 ]] 109 109 mm 125 125 }}46 46 .. 62 62 >> 78 78 NN 94 94 ^̂ 110 110 nn 126 126 ~~47 47 // 63 63 ?? 79 79 OO 95 95 __ 111 111 oo 127 127 DELDEL

Elementos de Programación Curso 2006-2007

Hardware y Software

•• HARDWAREHARDWARE. Elementos físicos del ordenador– Existen diferentes tipos de ordenadores respecto del tipo y

funcionamiento del hardware de los mismos y al modo en que tratan y representan la información:

• COMPUTADORAS ANALOGICAS: Las magnitudes físicas que se utilizan para representar la información pueden tomar un valor cualquiera dentro de un rango prefijado.

• COMPUTADORAS DIGITALES : Sólo toman valores discretos.– Otro criterio está basado en su construcción:

• De Lógica Cableada. La secuencia de operaciones a realizar está implantada en el cableado de los circuitos (calculadoras).

• De Lógica Programada. La secuencia de operaciones estáalmacenada y puede cambiarse sin alterar los circuitos.

Page 33: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Hardware y Software

Ordenador ANALÓGICO Ordenador DIGITAL

Elementos de Programación Curso 2006-2007

Hardware y Software

•• SOFTWARESOFTWARE. Elementos lógicos del ordenador.–– InstrucciInstruccióónn. Conjunto de símbolos que

representan una orden de operación para el ordenador.

–– ProgramaPrograma. Conjunto de instrucciones encadenadas para resolver un problema.

–– SoftwareSoftware. Conjunto de programas que puede realizar un ordenador.

–– Lenguaje de programaciLenguaje de programacióónn. Conjunto de reglas para describir programas.

Page 34: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Estructura del Hardware

MemoriaMasiva

Memoria Principaldatos e instrucciones

Procesador Central (CPU)

Unidadde Control

UnidadAritmético-

Lógica (ALU)

ENTRADA SALIDA

Datos e instruccionesDatos

Datose instrucciones

DatosInstrucciones

Señales de control

Elementos de Programación Curso 2006-2007

Estructura del Hardware

TecladoRatón

Unidad central

Impresora

Monitor

Elementos bElementos báásicos de un ordenadorsicos de un ordenador

Page 35: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Estructura del Hardware

•• Unidad Central de Proceso (CPU)Unidad Central de Proceso (CPU)–– Unidad AritmUnidad Aritmééticotico--LLóógica (ALU). gica (ALU). Realiza operaciones.–– Unidad de Control (UC). Unidad de Control (UC). Controla la ejecución de

instrucciones.• Contador de programa, Registro de instrucción, Reloj.

•• MemoriaMemoria. . Almacena información e instrucciones.–– Principal. Principal. Gran velocidad, poca capacidad.

• Dos tipos básicos: RAM y ROM.• Organizada en celdas, accesibles por posición (dirección).

–– Secundaria o Masiva. Secundaria o Masiva. Poca velocidad, gran capacidad.

Elementos de Programación Curso 2006-2007

Estructura del Hardware

•• PerifPerifééricosricos. . Dispositivos de comunicación con el exterior.–– Entrada. Entrada. Recogida de información e instrucciones.–– Salida. Salida. Obtención de resultados.

•• BusesBuses..– Señales de datosdatos. Transfieren información e

instrucciones.– Señales de direccidireccióónn. Selección de celdas de

memoria/periféricos.– Señales de control y estadocontrol y estado.

Page 36: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Estructura del Hardware

Circuito de Memoria RAM

CPU

Disco Duro (Memoria Secundaria)

Circuito de Memoria ROM

Circuitos Impresos PCB (BUSES)Impresora Inyección Teclado

Monitor

Ratón

CPUMEMORIAENTRADASALIDABUSES

Elementos de Programación Curso 2006-2007

Estructura del Hardware

Impresora Matricial

Impresora Láser

Escáner

Vídeo Proyector

Teclado y ratón inalhámbrico Teclado musicalSistema de sonido

Tarjeta de TV y radio

Tarjeta gráficaTableta digitalizadora

Plotter

PC-Cam

Multifunción

Page 37: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Estructura del Hardware

Grabador DVD

Disco magneto-óptico

UPSNetworking

Unidad ZIP externa

Pen drive

Unidad de cinta DDSDisquetera

WirelessRouter ADSLMódem

Elementos de Programación Curso 2006-2007

Estructura del Software

• Software de aplicaciaplicacióónn.– Programas de usuario.– Programas verticales.– Paquetes estándar.

• Software de sistemasistema.– Lenguajes, entornos de programación y traductores.– Soporte y sistema de gestión de datos (DBMS).– Entorno gráfico de usuario (GUI).– Sistema operativo (OS).– Rutinas básicas de entrada/salida (BIOS).

Usuario FinalSoftware de aplicaciones

Software de sistemaHardware

Page 38: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Funcionamiento de un ordenador

• Principios de la Arquitectura de Arquitectura de VonVon NeumannNeumann.– Datos e instrucciones se codifican en

dígitos binarios.– Tanto instrucciones como datos se

almacenan juntos en la memoria del computador.

– El computador procesa tanto instrucciones como datos.– Un programa es una cadena secuencial de instrucciones. – Existe una instrucción de bifurcación condicional

(capacidad lógica binaria) que permita mediante un dato elegir entre dos secuencias de instrucciones a ejecutar.

Elementos de Programación Curso 2006-2007

Funcionamiento de un ordenador

• Para ejecutar un programa escrito en lenguaje máquina, lo primero que hay que hacer es introducirlo en la memoria principal: El "cargadorcargador" se encarga de introducir el programa en posiciones consecutivas de memoria a partir de una dada "i".

• Una vez cargado, la UC (unidad de control) pone el registro CP (contador de programa) a "i", para que empiece a ejecutarse el programa.

Page 39: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Funcionamiento de un ordenador

• La UC repite sucesivamente las siguientes fases:a) Fase de captación de la instrucción.

• Memoria (CP) --- (instrucción) ---> UC• Incremento de CP

b) Fase de ejecución de instrucción, y vuelta a fase a).• Si la ejecución de una instrucción implica saltar a

una instrucción distinta a la siguiente, se pondráel CP al valor de la posición de dicha instrucción, con lo que se cogerá en la siguiente fase a).

Elementos de Programación Curso 2006-2007

Funcionamiento de un ordenador

• Ejemplo: se dispone de un ordenador con las siguientes instrucciones máquina:

– ENT M (m). Lee de teclado un valor y lo almacena en la posición m de memoria.

– SAL M (m). Escribe en impresora el contenido de la posición m de memoria.– CAR M (m). Carga en la ALU un dato procedente de la posición m de memoria.– MEM M (m). Almacena en la posición m de memoria el contenido de la ALU.– SUM M (m). Suma el contenido de la ALU con el de la posición m de memoria,

y el resultado queda en la ALU.• Se desea ejecutar un programa que sume dos números dados por

teclado y muestre el resultado en la impresora.• El programador, en lenguaje máquina, ha de determinar las

posiciones de memoria que va a utilizar. Por ejemplo:– Primer sumando, en posición 16– Segundo sumando, en posición 17– Suma, en posición 18.

Page 40: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Funcionamiento de un ordenador

Teclado Impresora

ALUUC

instrucciones 50 66

6650 , 16

(7)(8) ENT M(16)(9) ENT M(17)(10) CAR M(16)(11) SUM M(17)(12) MEM M(18)(13) SAL M(18)(14)(15)(16) 50(17) 16(18) 66(19) Memoria

Elementos de Programación Curso 2006-2007

Funcionamiento de un ordenador

• Animaciones y simuladores

Simulador 2Simulador 2Simulador de procesador Simulador de procesador

EJEMEJEM--1 ETSI1 ETSI--UAMUAM

AnimaciAnimacióón 1n 1EjecuciEjecucióón de instrucciones.n de instrucciones.

Universidad Universidad QueenslandQueensland

AnimaciAnimacióón 2n 2EjecuciEjecucióón de instrucciones.n de instrucciones.

AnimaciAnimacióón 3n 3Programa para contarPrograma para contar

AnimaciAnimacióón 4n 4Programa para SumarPrograma para Sumar

Simulador 3Simulador 3EDSACEDSAC

Simulador 4Simulador 4IMSAI 8080IMSAI 8080

Simulador 5Simulador 5MARK IMARK I

Simulador 1Simulador 1Simulador ABACOSimulador ABACO

Page 41: EP Tema1 06 07 - Departamento Lenguajes y …pedre/EP/EP_Tema1_06_07.pdfpotentes son los más rápidos, fiables y con mayor capacidad de almacenamiento pero también los más caros

Elementos de Programación Curso 2006-2007

Otra estructura de ordenador

Elementos de Programación Curso 2006-2007

Bibliografía• Estudio general del ordenador. P. Bishop. Ed. Alhambra 1985.• Las computadoras y la información. Lawrence S. Orilia. Ed.

McGraw Hill 1987.• Perspectivas de la revolución de los computadores. Selección de

Zenon W. Pylyshyn. Alianza Editorial 1975.• El computador pensante. Bertram Raphael. Ediciones Cátedra 1984.• El ordenador de quinta generación. Thoru Moto-oka y Masaru

Kitsuregawa. Ed. Ariel 1986.• Organización de computadoras: Un enfoque estructurado. Andrew

S. Tanenbaum. Ed. Prentice-Hall 1999.• Una introducción moderna a la ciencia de la computación con un

enfoque algorítmico. Goldschlager, Les & Lister, Andrew. Ed. Prentice-Hall. 1988.

• Fundamentos de los computadores. Anasagasti, P. de Miguel. EdParaninfo 1990.