Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/251740144
CITATIONS READS
0 10,210
3 authors:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Virtual community of practice to potentiate knowledge and skills for building mobile applications in computer science students View project
All content following this page was uploaded by Miguel Angel Niño Zambrano on 23 December 2013.
Introducción a la
Informática
Conceptos Básicos
. . . . . . . . . .
TOMO I
PRIMERA EDICION
TABLA DE CONTENIDO
CAPITULO 1 .................................................................................................................................... 7
HISTORIA DE LA INFORMÁTICA ........................................................................................... 7
1.1. HISTORIA DE LA INFORMATICA .................................................................................. 8
1.1.1. 500 a.C. - 1822 D.C. ....................................................................................................... 8
1.1.2. 1823 - 1936.................................................................................................................... 10
1.1.3. 1937 - 1949.................................................................................................................... 12
1.1.4. 1950 - 1962.................................................................................................................... 14
1.1.5. 1963 - 1971.................................................................................................................... 15
1.1.6. 1972 - 1989.................................................................................................................... 16
1.1.7. 1990 - Presente.............................................................................................................. 18
1.2. CONCLUSIONES ................................................................................................................... 20
CAPITULO 2................................................................................................................................. 21
INTRODUCCIÓN A LA LÓGICA DE COMPUTADORES ..................................................... 21
2.1. LÓGICA DE PROPOSICIONES ....................................................................................... 22
2.1.1. Introducción .................................................................................................................. 22
2.1.2. Lenguaje Proposicional ................................................................................................ 22
2.1.3. Semántica ...................................................................................................................... 24
2.2. LEYES DEL ALGEBRA DE BOOLE ............................................................................... 26
2.2.1. Introducción .................................................................................................................. 26
2.2.2. Operaciones .................................................................................................................. 28
2.2.3. Leyes Fundamentales .................................................................................................... 28
2.2.4. Aplicación A Circuitos Lógicos..................................................................................... 29
2.3. FUNCIONES LÓGICAS ................................................................................................... 31
2.3.1. Introducción .................................................................................................................. 31
2.3.2. Funciones Lógicas Elementales y Secundarias............................................................. 32
2.3.3. Compuertas Lógicas...................................................................................................... 33
2.3.4. Construcción de Circuitos Integrados........................................................................... 34
2.3.5. Ejemplos de Circuitos lógicos ....................................................................................... 35
2.4. REPRESENTACIÓN DE LA INFORMACIÓN................................................................ 37
2.4.1. Introducción .................................................................................................................. 37
2.4.2. Sistemas De Codificación.............................................................................................. 38
2.4.3. Códigos Numéricos ....................................................................................................... 39
2.4.4. Sistemas De Numeración............................................................................................... 40
2.4.5. Aritmética Binaria......................................................................................................... 42
2.4.6. Representación De Números Negativos ........................................................................ 44
CAPITULO 3................................................................................................................................. 51
ARQUITECTURA DEL COMPUTADOR................................................................................. 51
3.1. EL COMPUTADOR Y SUS CARACTERÍSTICAS ......................................................... 52
3.1.1. Definición de Computador ............................................................................................ 52
3.1.2. Organización Interna del Computador ......................................................................... 52
LISTA DE TABLAS
Tabla 1:Historia de la Informática 500 a.C. - 1822 D.C................................. 10
Tabla 2: Historia de la Informática 1823 - 1936 ............................................ 12
Tabla 3 : Historia de la Informática 1937 - 1949 ........................................... 14
Tabla 4: Historia de la Informática 1950 - 1962 ............................................ 15
Tabla 5: Historia de la Informática 1963 - 1971 ............................................ 16
Tabla 6: Historia de la Informática 1972 – 1989 ........................................... 18
Tabla 7: Historia del Informática 1990 - Presente ......................................... 19
Tabla 8: Procesadores Intel .......................................................................... 53
PROLOGO
PROPOSITO
El propósito de este material es el de servir de material de referencia para la
asignatura de Introducción a la Informática, que se imparte en el primer
semestre del Programa de Ingeniería de Sistemas de la Universidad del
Cauca.
AGRADECIMIENTOS
Los autores expresan sus agradecimientos a los estudiantes del primer
semestre de Ingeniería de Sistemas de la Universidad del Cauca por el
aporte con ideas y programas que permitieron enriquecer el presente
material.
OBJETIVOS
OBJETIVO GENERAL
9 Lograr que los estudiantes obtengan las bases mínimas acerca de la
informática, sus orígenes y conceptos básicos para entender el
funcionamiento del computador y sus aplicaciones para la solución de
problemas.
OBJETIVOS ESPECÍFICOS
9 Establecer los conceptos básicos de los computadores: como hardware y
software, de tal forma que se familiarice con la jerga informática.
9 Definir y dar un rol a cada uno de los componentes del computador,
conociendo su funcionamiento interno y la tecnología que utiliza.
9 Conocer los conceptos básicos de los sistemas operativos, estableciendo
las diferencias básicas entre cada uno de ellos.
Historia de la informática
Introducción:
Instrumento Descripción
El ábaco El ábaco fue la primera máquina conocida que ayudaba a
ejecutar operaciones matemáticas. Se piensa que se originó
entre el 600 y 500 A.C. en China o Egipto. Pelotas redondas,
usualmente de madera se resbalaban de un lado a otro en
varas o alambres puestas horizontalmente, ejecutaban suma y
substracción. Como una indicación de su potencial, el ábaco
se usa todavía en muchas culturas orientales.
Instrumento Descripción
Álgebra de Boole En 1854 el desarrollo del Algebra de Boole fue publicado por el
matemático Inglés George S. Boole. El sistema de Boole redujo
argumentos lógicos a permutaciones de tres operadores básicos
algebraicos: "y", "o" y "'no". A causa del desarrollo del Álgebra de
Boole, Boole es considerado por muchos el padre de la teoría de la
información.
Máquina lógica de En 1869 la primera máquina lógica en usar el Álgebra de Boole para
Boole resolver problemas más rápido que los humanos, fue inventada por
William Stanley Jevons. La máquina llamada, el Piano Lógico, usó
un alfabeto de cuatro términos lógicos para resolver silogismos
complicados.
Calculadora guiada En 1885 la primera calculadora guiada por teclas, se inventó por
por teclas Dorr Eugene Felt. Para preservar la expansión del modelo del
aparato, llamado el "Comptómetro", Felt compró cajas de
macarrones para albergar los aparatos. Dentro de los siguientes
dos años Felt vendió ocho de ellos al New York Weather Bureau y
el U.S. Tresury. Se usó el aparato principalmente para la
contabilidad, pero muchos de ellos fueron usados por la U.S. Navy
en programas de ingeniería y era probablemente la máquina de
contabilidad más popular en el mundo en esa época.
Sistema de tarjetas En 1886 la primera máquina tabuladora en usar una tarjeta
agujeradas agujerada de entrada del datos fue inventado por Dr. Herman
Hollerith. Fue desarrollada por Hollerith para usarla en clasificar en
1890 el censo en U.S., en que se clasificó una población de
62,979,766. Su diseño dejó que un operador apuntara un indicador
en una matriz de agujeros, después de lo cual se picaría en una
tarjeta pálida un agujero al inverso de la máquina. Después del
censo Hollerith fundó la Compañía de las Máquinas de Tabulación.
Posteriormente se fusiona con otras compañías y llegó a ser lo que
hoy se conoce como la “International Bussines Machine” (IBM).
Máquina de En 1893 la primera máquina exitosa de multiplicación automática se
multiplicar desarrolló por Otto Steiger. "El Millonario" como se le conocía,
automatizó la invención de Leibniz de 1673, y fue fabricado por
Hans W. Egli de Zurich. Originalmente hecha para negocios, la
ciencia halló inmediatamente un uso para el aparato y varios miles
de ellos se vendieron en los cuarenta años siguientes.
Tubo de vacío En 1906 el primer tubo de vacío fue inventado por un inventor
americano, Lee De Forest. "El Audion", como se llamaba, tenía tres
elementos dentro de una bombilla del vidrio evacuada. Los
elementos eran capaces de hallar y amplificar señales de radio
recibidas de una antena. El tubo de vacío encontraría uso en varias
generaciones tempranas de computadores, a comienzos de 1930.
Flip-flop En 1919 el primer circuito multivibrador biestable (o flip-flop) fue
desarrollado por inventores americanos W.H. Eccles y F.W. Jordan.
El flip-flop permitió que un circuito tuviera uno de dos estados
estables, que son intercambiables. Formó la base para el
almacenamiento del bit binario, estructura de los computadores de
hoy.
Computador En 1931 el primer computador capaz de resolver ecuaciones
analógico (para diferenciales analógicas fue desarrollada por el Dr. Vannevar Bush
ecuaciones y su grupo de investigación en MIT. "El Analizador Diferencial",
diferenciales) como se llamaba, usaba engranajes diferenciales que rodaban a
través de motores eléctricos. Los grados de rotación de los
engranajes se interpretaron como cantidades. Los cálculos se
estaban limitados por la precisión de los ángulos en los pasos de
los motores.
Programa mecánico En 1933 el primer programa mecánico fue diseñado por Wallace J.
Eckert. El programa controló las funciones de dos de las máquinas
analógicas al unísono y operadas por un cable. Los trabajos de
Eckert sembraron la fundación para las investigaciones informático-
científica de la Universidad de Columbia.
Máquina lógica En 1936 el primer modelo general de máquinas lógicas fue
desarrollado por Alan M. Turing. El documento se título: "En
Números calculables," se publicó en 1937 en la Sociedad de
Procedimientos Matemáticos de Londres y describió las limitaciones
de un computador hipotético. Los números calculables eran esos
números que eran números reales, capaz de ser calculados a
través de lo finito.
Tabla 2: Historia de la Informática 1823 - 1936
Instrumento Descripción
Las funciones de En 1937 Claude F. Shannon realizó el primer paralelo entre la
cambio Lógica de Boole y las funciones de cambió de los circuitos.
Shannon siguió desarrollando sus teorías acerca de la eficacia
de la información comunicativa. En 1948 formalizó estas ideas
en su "teoría de la información," que cuenta con la Lógica de
Boole.
Electrónica digital En 1939 el primer computador electrónico digital se desarrolló en
la Universidad del Estado de Iowa por Dr. John V. Atanasoff y
Clifford Berry. El prototipo se llamó el Atanasoff Berry Computer
(ABC), fue la primera máquina en hacer uso de tubos de vacío
como los circuitos de la lógica.
Computador En 1941 el primer controlador para computador de propósito
programable general usado se construyó por Konrad Zuse y Helmut Schreyer.
El "Z-3," como se llamó, usaba relees electromagnéticos y era
programada usando películas agujereadas. Su sucesor, el "Z-4,"
fue contrabandeado fuera de Berlín cuando Zuse escapo de los
Nazis en Marzo de 1945.
Electrónica inglesa En el diciembre de 1943 se desarrolló la primera calculadora
inglesa electrónica para criptoanálisis. "El Coloso," como se
llamaba, se desarrolló como una contraparte al Enigma, la
Instrumento Descripción
Computador En 1950 el primer computador interactivo en tiempo real, fue completado
Interactivo por un plan de diseño en MIT. El "Computador de Torbellino" como se
llamaba, fue creada para proyectos en el desarrollo de un simulador de
vuelo por la U.S. Navy. El Torbellino usó un tubo de rayos catódicos y una
pistola de la luz para proveer interactividad. El Torbellino se conectaba a
una serie de radares y podría identificar un avión poco amistoso e
interceptores a su posición proyectada. Este sería el prototipo para una
red de computadores y sitios de radar (SAGE) como un elemento
importante de la defensa aérea de EUA por un cuarto de siglo después de
1958.
UNIVAC En 1951 se entregó el primer computador comercialmente disponible al
Escritorio del Censo por el Eckert Mauchly Corporación. El UNIVAC
(Universal Automatic Computer o Computador Universal Automático) fue
el primer computador que no estaba disponible sólo para laboratorios. El
UNIVAC llegó a ser casera en 1952 cuando se televisó en un reportaje de
noticias para proyectar el ganador del Eisenhower-Stevenson raza
presidencial con exactitud estupenda. Ese mismo año Maurice V. Wilkes
(diseñador de EDSAC) creó los conceptos fundamentales de
microprogramación, que serían el modelo básico a seguir por parte de los
diseñadores y constructores de computadores.
Circuito En 1958 el primer circuito integrado se construyó por Jack S. Kilby. Se
Integrado hizo de varios elementos individuales de silicona congregados. El
concepto proveyó la creación del circuito integrado, que dejó grandes
adelantos en la tecnología microelectrónica. También ese año, vino el
desarrollo de un lenguaje de programación llamado LISP (Procesador de
Lista), para permitir la investigación en inteligencia artificial (IA).
Instrumento Descripción
El minicomputador En 1963 el primer minicomputador comercialmente exitoso
fue distribuido por la Corporación de Equipos Digitales (DEC).
El DEC PDP-8 fue el sucesor del PDP-1, el primer
computador desarrollado por DEC en 1959. El
minicomputador se convirtió en un elemento importante para
las empresas comerciales y en el desarrollo de la ciencia y de
la informática universitaria. La distribución del
minicomputador de 12-bits PDP-8 abrió las puertas del
comercio del minicomputador a otros computadores.
Sistema IBM 360 En 1964 la familia de computadores del Sistema/360 fue
lanzada por IBM. El Sistema/260 reemplazó los transistores
con circuitos integrados o tecnología de lógica sólida. Se
vendieron más de treinta mil unidades, y una nueva era en
tecnología de computadores empezó. Un mes después de
lanzar el Sistema/360, se corrió el primer programa BASIC en
la Universidad de Dartmouth por su inventores, Tomás Kurtz
y John Kemeny. BASIC sería el lenguaje introductorio a una
generación entera de usuarios de los computadores.
Instrumento Descripción
Altair En enero de 1975 Micro Instrumentation Telemetry Systems (MITS)
introdujeron el Altair, un minicomputador personal. El Altair era barato
($350), permitía el almacenamiento de la memoria, llevó el
microprocesador de 8-bits Intel 8080. Cuando se actualizó el computador
con 4 kilobytes de expansión de memoria, Paul Allen y Bill Gates (más
tarde socios de Microsoft Corporation) desarrollaron una versión de BASIC
como un lenguaje de programación para computadores.
Computadores En 1977, Commodore, Apple Computer, y Tandy distribuyeron el primer
personales computador personal ensamblado. Dentro de unos años el PC había
llegado a ser un pedazo de la vida personal de cada uno de sus usuarios,
y aparecería pronto en bibliotecas públicas, escuelas, y lugares de
negocio. Fue también durante este año que apareció la primera red de
área local comercialmente disponible (LAN), desarrollada por Datapoint
Corporation, llamada ARCnet.
Procesador En 1980 el primer prototipo de Computador con Instrucciones Reducidas
RISC (RISC) fue desarrollado por un grupo de investigación en IBM. El
minicomputador 801 usó un juego simple de instrucciones de lenguaje
máquina, que puede procesar un programa muy rápido (usualmente
dentro de un ciclo de máquina). Varios vendedores mayoritarios
actualmente ofrecen computadores RISC. Se cree que el RISC es el
futuro formato de los procesadores, debido a su rapidez y eficacia.
Microprocesad En 1980 se desarrolló el primer microprocesador de 32-bit en un solo chip
or de 32-bit en Laboratorios Bell. El chip, llamado el Bellmac-32, proporcionó un mejor
poder computacional sobre los procesadores anteriores de 16-bit.
IBM PC-XT En 1981 la revolución de los computadores personales ganó impulso
cuando IBM introdujo su primer computador personal. La principal fuerza
que dio reputación a IBM fue la de hacer que los PC se usaran
masivamente. El primer IBM PC, era un sistema basado de un floppy el
cual usó el microprocesador 8088 de Intel. Las unidades originales tenían
pantallas de sólo texto, los gráficos verdaderos eran una alternativa que
llegó más tarde. Se limitó la también memoria, típicamente sólo 128K, o
256K de RAM. La máquina usó un sistema operativo conocido como DOS
(Disk Operating System o Sistema Operativo de Disco), un sistema de
línea de comandos similar a los más antiguos sistemas CP/M. IBM más
tarde lanzó el IBM PC/ XT. Esta era una máquina extendida que añadió
una unidad de discos duros y gráficos CGA. Mientras la máquina llegó a
ser popular, otras compañías empezaron a lanzar imitaciones del IBM PC.
Estos tempranos "clones" se distinguieron por incompatibilidades debido a
su incapacidad a reproducir debidamente el IBM BIOS. Se
comercializaron normalmente como "90% compatible". Se superaría Este
problema pronto y la competencia serviría para empujar la tecnología y
precios mas bajos.
Procesamiento En 1981 el primer computador comercial de proceso en paralelo fue
paralelo distribuido por BBN Computers Advanced Inc. El computador llamado la
"Mariposa", era capaz de asignarles a partes de un programa hasta 256
diferentes procesadores, en consecuencia de esto la velocidad del
proceso y la eficacia se incrementaron.
Macintosh En 1984 el primer Macintosh personal computer fue distribuido por Apple
Computer Inc. El Macintosh, el cual tenía una capacidad de lmemoria de
128KB, integró un monitor y un ratón, fue el primer computador en
legitimar la interfaz gráfica. La interface de Mac era similar a un sistema
explorado por Xerox PARC. En lugar de usar una interface de línea de
comando que era la norma en otras máquinas, el MacOS presentó a los
usuarios "iconos" gráficos, sobre las ventanas gráficas, y menúes
deslizantes. El Macintosh era un riesgo significativo para Apple porque el
nuevo sistema era incompatible con cualquiera otro tipo de software, o su
propia Apple, o el IBM PC línea. Se desestimó por memoria limitada y la
falta de una unidad de discos duros. La máquina pronto llegó a ser una
norma para artistas gráficos y publicistas, esto permitió que la máquina
creciera en una plataforma más establecida.
IBM PC-AT En 1984 IBM distribuyó el IBM PC-AT, el primer computador que usaba el
chip microprocesador Intel 80286. La serie Intel 80x86 adelantó el poder
del procesador y la flexibilidad de los computadores IBM. IBM introdujo
varios cambios en esta nueva línea. Se introdujo un sistema gráfico
nuevo, EGA, permitió manipular 16 colores de gráficos a resoluciones más
altas (CGA, el sistema más antiguo que sólo tenía cuatro colores). La
máquina también incorporó un bus de datos de 16-bit, y mejor que el de 8-
bits del XT. Esto permitió la creación de tarjetas de expansión más
sofisticadas. Otra mejora incluyeron un teclado extendido, un mejor
suministro de energía y una caja del sistema más grande.
Tabla 6: Historia de la Informática 1972 – 1989
Instrumento Descripción
Computadores En 1990 se construyó el primer procesador óptico en los laboratorios Bell
ópticos de AT&T. El procesador emplea pequeños, semi-conductores láser para
llevar información y circuitos ópticos que procesan la información. Usar
luz, en lugar de electricidad, para llevar datos podía teóricamente hacer
los computadores miles de veces más rápidos.
Interruptor de En 1991 la primera demostración de un interruptor quántico se dio en el
un solo átomo movimiento de un átomo, se dio a conocer en IBM Almaden Research
Center. Un átomo Xenon se colocó en una superficie cristalina, el cual
puede ser observado por microscopio. Reemplazar interruptores
electrónicos con interruptores atómicos podía hacer tales interruptores un
milésimo de su tamaño del presente.
Virus Miguel Temprano en 1992 un virus fue descubierto, el cual estaba programado
Angel para activarse el 6 de marzo, el cumpleaños de Miguel Angel. Se esperó
que el virus extendido dañara o destruyera archivos de usuario en la
unidad de disco duro. Recibió una cobertura de las noticias nunca visto,
1.2. Conclusiones
La historia de los computadores está ligada al deseo del hombre de inventar
herramientas que simplifiquen su trabajo, para el caso de los computadores
se deseaba simplificar las operaciones matemáticas en un inicio y
posteriormente a través del tiempo, se comenzó a depender de los
computadores debido a los beneficios específicos del manejo de todo tipo de
información y en este tiempo de su capacidad de comunicación.
Introducción a la Lógica de
Computadores
Introducción:
2.1.1. Introducción
Proposiciones
Formalmente, se define una proposición como un enunciado declarativo que
puede ser verdadero o falso, pero no ambos a la vez. Las proposiciones se
representan mediante variables proposicionales simbolizadas mediante
letras. Con la combinación de variables proposicionales y conjunciones se
obtienen fórmulas senténciales o sentencias. Estas pueden ser:
Ejemplo:
Dada la siguiente proposición: p = “El día esta soleado”, determinar si es
verdadero o falso.
Sintaxis
El primer paso en el estudio de un lenguaje es definir los símbolos básicos
que lo constituyen (alfabeto) y cómo se combinan para formar sentencias.
Está constituido por:
Reglas de formación
Las clases de sentencias bien formadas se definen por reglas puramente
sintácticas, llamadas reglas de formación y que son:
Conectivas
Las conectivas se dividen por su aplicación en:
Tablas de verdad
La tabla de verdad de una sentencia es una tabla en la que se presentan
todas las posibles interpretaciones de las variables proposicionales que
constituyen la sentencia y el valor de verdad de la sentencia para cada
interpretación.
2.1.3. Semántica
Negación (NOT)
Consiste en cambiar el valor de verdad de una variable proposicional.
p NOT p
V F
Conjunción (AND)
Es una conectiva definida por:
p COND q = NOT p OR q
p q p COND q
V V V
V F F
F V V
F F V
p q p ==> q
V V V
V F F
F V F
F F V
p q p XOR q
V V V
V F V
F V V
F F F
Ejemplos:
1) Dadas las siguientes proposiciones establecer el valor de verdad:
x Londres es la capital de España ( F)
x España es país y Colombia es país (V)
x La Tierra gira alrededor del Sol o el Sol Gira alrededor de la
Tierra y el cielo es azul (V)
2.2.1. Introducción
Debido a que los computadores trabajan con información binaria, la
herramienta matemática adecuada para el análisis y diseño de su
funcionamiento es el Algebra de Boole. El Algebra de Boole fue desarrollada
inicialmente para el estudio de la lógica. En 1938 C.E. Shanon publicó un
libro llamado "Análisis simbólico de circuitos con relés", que establece los
primeros conceptos de la teoría actual de la conmutación, posteriormente se
produjeron numerosos trabajos en el Algebra de Boole para los
computadores digitales. Hoy en día, esta herramienta resulta fundamental
para el desarrollo de los computadores ya que, con su ayuda, el análisis y
síntesis de combinaciones complejas de circuitos lógicos puede realizarse
con rapidez y eficacia.
Definiciones básicas
Se comenzará el estudio del Algebra de Boole introduciendo el concepto de
clase. Se define como clase el total de los elementos que cumplen las
características definidas por un criterio de pertenencia. En general, una
subclase S de una clase dada C, es una clase cuyos elementos pertenecen a
la clase C. A su vez, la clase C podría ser una subclase de una clase más
amplia que contuviera todos los elementos de C juntos con otros elementos
distintos. E inversamente, la clase S puede contener sus propias subclases.
Una clase especialmente importante es la denominada clase de referencia o
clase universal, que es aquella que comprende todos los elementos bajo
estudio. Una vez definida la clase universal, se puede definir la clase
complementaria de una clase cualquiera A perteneciente a la universal, como
la clase que encierra a todos los elementos de la clase universal excepto
aquellos que están contenidos en la clase A. Finalmente, se define la clase
vacía como la clase complementaria de la clase universal. De acuerdo con la
Diagramas de Venn
Los diagramas de Venn constituyen un sistema para representar
gráficamente las clases. Sus reglas básicas son las siguientes:
B C A Clase A
Elemento de Clase
D Subclase de A
2.2.2. Operaciones
En esta sección se definirán las operaciones básicas del Algebra de Boole,
describiéndose a continuación su aplicación a los circuitos lógicos.
Unión o adición
La unión de dos clases A y B se define como la clase formada por todos los
elementos de la clase A, todos los elementos de la clase B, y ningún otro
elemento. La clase unión se representa mediante la simbología matemática:
A OR B
Intersección o producto
La intersección de dos clases A y B se define como la clase formada por
todos los elementos que pertenecen simultáneamente a las clases A y B. La
clase intersección se puede representar mediante los símbolos:
A AND B
Complementación
La clase complementaria de una dada ya ha sido definida. Las notaciones
simbólicas empleadas para representar el complementario de A son: A' o
bien NOT A. Aquí se mencionarán dos propiedades importantes de la
complementación, que se pueden comprobar fácilmente:
Teoremas
x El resultado de aplicar cualquiera de las tres operaciones definidas a
variables del sistema booleano resulta en otra variable del sistema, y este
resultado es único.
x Ley de idempotencia: A + A = A | A x A = A
x Ley de involución: (A')' = A
x Ley conmutativa: A + B = B + A | A x B = B x A
x Ley asociativa: A + (B + C) = (A + B) + C | A x (B x C) = (A x B) x C
x Ley distributiva: A + B x C = (A + B) x (A + C) | A x (B + C) = A x B +
AxC
x Ley de absorción: A + A x B = A | A x (A + B) = A
x Ley de De Morgan: (A + B)' = A' x B' | (A x B)' = A' + B'
Principio de dualidad
El concepto de dualidad permite formalizar este hecho: a toda relación o ley
lógica le corresponderá su dual, formado mediante el intercambio de los
operadores unión con los de intersección, y de los 1 con los 0.
Ejemplos:
# ADICION PRODUCTO
===============================================
1 A + A' = 1 A x A' = 0
2 A+0=A Ax1=A
3 A+1=1 Ax0=0
4 A+A=A AxA=A
5 A+B=B+A AxB=BxA
6 A + (B + C) = (A + B) + C A x (B x C) = (A x B) x C
7 A + B x C = (A + B) x (A + C) A x (B + C) = A x B + A x C
8 A+AxB=A A x (A + B) = A
9 (A + B)' = A' x B' (A x B)' = A' + B'
En el caso del álgebra binaria, las operaciones básicas del Álgebra de Boole
pueden describirse mediante las denominadas tablas de verdad, que
Adición B
A B A+B
1 1 1
1 0 1 Vcc A
0 1 1
0 0 0
Producto
A B AxB A B
1 1 1
1 0 0 Vcc
0 1 0
0 0 0
Complementación
A
A A’ A’
Vcc
0 1
1 0
2.3.1. Introducción
Concepto
Se define como función en el Algebra de Boole binaria o función lógica a todo
conjunto de variables relacionadas entre sí por cualquiera de las tres
operaciones básicas definidas anteriormente. De forma general, se
representará como:
f = f( A, B, C, ... )
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
AND-OR-INVERT (AOI)
Su estructura contiene compuertas AND, OR y NOT.
Compuerta OR
Ley de Morgan
Respuesta:
A
B
C x
D=1
A B C D X = (A’ x B x C) x (A + D)’
0 0 0 1 0
0 0 1 1 0
0 1 0 1 0
1 0 0 1 0
0 1 1 1 0
1 1 0 1 0
1 0 1 1 0
1 1 1 1 0
A
D
Respuesta:
X Y Z S
1 0 1 1
1 1 1 1
0 0 1 0
0 1 1 1
2.4.1. Introducción
Los computadores digitales actuales se basan en una tecnología electrónica
que permite representar los datos mediante combinaciones de circuitos flip-
flop o biestables. Estos elementos básicos sólo admiten dos estados,
representados por el nivel de tensión a su salida. La información que se
representa mediante la combinación de elementos que sólo admiten dos
estados se denomina información binaria. Cada uno de los elementos de la
información binaria recibe el nombre de bit (binary digit) y se codifica
mediante el empleo de uno de los dos únicos símbolos 0 o 1. Dicho de otro
modo, cualquier dato que se deba procesar en un computador digital deberá
estar representado por un código formado por una secuencia de ceros y
unos. La codificación consiste en establecer unas reglas que definan una
correspondencia entre cada elemento de información y la secuencia de bits
que constituye su código. Existen varios criterios genéricos para establecer
esta correspondencia, que dan lugar a tipos diferentes de códigos. Dichos
criterios se denominan sistemas de codificación.
Clasificación de la información
Existen dos flujos de información en un computador digital:
Codificación directa
Es el sistema de codificación más simple de todos y consiste en establecer
una correspondencia biunívoca entre un conjunto de símbolos y un conjunto
de códigos binarios mediante una tabla. Si se tiene un conjunto de n
elementos tales que cada uno de ellos puede tomar m valores distintos, el
número Nc de combinaciones distintas de valores que puede tomar dicho
conjunto de elementos (número de códigos posibles) viene dado por la
expresión:
Nc = mn
Dado que m vale 2 para los elementos binarios, con n elementos se pueden
obtener 2ncódigos distintos.
Fundamentos
Se puede definir un sistema de numeración como el conjunto de símbolos y
reglas que se utilizan para la representación de cantidades. Existe un
elemento fundamental que caracteriza a todos los sistemas de numeración y
que se denomina base del sistema de numeración. Dicha base es el número
de símbolos que se utilizan para realizar la representación. Se denomina
rango de representación en un sistema de numeración y con un número de
cifras determinado n, al conjunto de cantidades representables en el mismo.
Sistemas posiciónales
En los sistemas de numeración, la representación de una cantidad siempre
se efectúa mediante cadenas de símbolos. Si el significado de los símbolos
varía en función de la posición que ocupen en la cadena, entonces dicho
sistema de numeración recibe el nombre de posicional. Los ejemplos más
importantes de sistemas de numeración posiciónales son el decimal ó de
base 10, utilizado por el hombre en la cultura occidental, y el binario ó de
base 2, que es el que utiliza el computador para representar la información y
con el que es capaz de trabajar. Cabe mencionar que existen otros sistemas
de numeración, como los sistemas de residuos, que no son posiciónales pero
que no se tratarán por tener menos importancia.
Sistema decimal
Es el de base 10 y es el que entiende de modo natural el ser humano. Es por
tanto, el sistema que se utilizará como referencia para conocer las
cantidades representadas en los otros sistemas de numeración. Se suponen
n cifras enteras y sin signo.
Sistema binario
Este es el sistema de numeración que utiliza el computador internamente.
Este sistema de numeración es de base 2. Para convertir un número decimal
a binario, se divide sucesivamente por 2, y se toman sucesivamente el último
cociente y desde el último resto hasta el primero.
Repr.
Repr. Binaria Potencia
Decimal
1 20 1
10 21 2
100 2 2
4
1000 23 8
10000 2 4
16
100000 25 32
1000000 26 64
10000000 27 128
100000000 28 256
1000000000 29 512
10000000000 2 10
1.024
Sistema octal
Este es el sistema de numeración en base 8 y utiliza 8 símbolos para
representar las cantidades. Dichos símbolos son: 0, 1, 2, 3, 4, 5, 6 y 7 y
tienen el mismo significado que sus equivalentes decimales. La conversión
de octal a binario se realiza mediante la siguiente tabla:
OCTAL 0 1 2 3 4 5 6 7
=======================================
BINARIO 000 001 010 011 100 101 110 111
Sistema Hexadecimal
Este es el sistema de numeración en base 16 y utiliza 16 símbolos para
representar las cantidades. Dichos símbolos son: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C, D, E y F. Los diez primeros son los números decimales y tienen el
mismo significado que en la numeración decimal. Los seis últimos son letras
que representan: A=10, B=11, C=12, D=13, E=14 y F=15. La conversión de
hexadecimal a binario se realiza mediante la siguiente tabla:
HEXADECIMAL 0 1 2 3 4 5 6 7
======================================================
BINARIO 0000 0001 0010 0011 0100 0101 0110 0111
======================================================
HEXADECIMAL 8 9 A B C D E F
======================================================
BINARIO 1000 1001 1010 1011 1100 1101 1110 1111
Suma
0+0=0
0+1=1
1+0=1
1+1=0*
* con 1 de acarreo
Resta
0-0=0
0-1=1*
1-0=1
1-1=0
* con un préstamo de 1
Multiplicación
0x0=0
0x1=0
1x0=0
1x1=1
División
0 / 0 = Error *
0/1=0
1 / 0 = Error *
1/1=1
Ejemplo:
Realice las siguientes operaciones en números binarios.(A=142; B=39; C=53; D=13) (14%):
Rta:
Lo primero que se debe hacer es convertir los números decimales en binarios así:
Módulo y signo
x El cambio de signo es inmediato: sólo cambiar el bit de la izquierda.
x La multiplicación y la división se tratan sin dificultad operándose por un
lado con las magnitudes y por otro con los signos.
x La posibilidad de desbordamiento al operar con sumas, restas y
multiplicaciones suponen una dificultad.
x El rango de representación es simétrico [-2^n-1 + 1, 2^n-1 - 1] pero la
ambigüedad de representación del 0 complica la detección de números
negativos.
x La extensión de signo es relativamente complicada.
x Las operaciones de suma y resta se complican al depender de los signos
y magnitudes de los operandos.
Complemento a 1
x El cambio de signo se reduce al complemento lógico (cambiar ceros por
unos y viceversa).
x La suma es sencilla pero teniendo en cuenta que cuando aparece un
Complemento a 2
x El cambio de signo es sencillo aunque ligeramente más complicado que
en el complemento a 1: realizar el complemento lógico y añadir 1.
x La suma y resta son más sencillas que con el complemento a 1: consiste
en realizar la suma directa.
x Existe la posibilidad de desbordamiento en estas operaciones, que no
debe confundirse con el acarreo superior que se elimina.
x Se complican la multiplicación y la división, puesto que hay que
considerar la posibilidad de que haya operandos complementados.
x El rango de representación es asimétrico [-2^n-1, 2^n-1 - 1]. Esto presenta
el problema de que no se puede hacer el complemento de -2^n-1 ya que
daría el mismo código, lo que se supone que es un desbordamiento. Sin
embargo el cero tiene una única representación.
x La extensión de signo se limita a repetir el bit de la izquierda.
Exceso a M
En este sistema los números se incrementan en M y el resultado se
representa luego en binario puro. El número X viene representado por X + M
expresado en binario. En la mayoría de los casos se hace M = 2^n-1, donde n
es el número de bits empleados para la representación. Este sistema de
representación se utiliza para expresar los exponentes en el caso de coma
flotante.
Capitulo 3
Introducción:
CPU E/S
El Procesador
Es el cerebro del computador, se denomina comúnmente (Unidad central de
Proceso ) CPU. Es una compleja pieza de circuitos la cual controla la operación
del computador. Esta hecha de cientos de miles diminutos switches y sendas por
las que puede transmitir información binaria. Ella puede manipular información a
altas velocidades de acuerdo a un conjunto fijo de instrucciones o programas que
se encuentra dentro de ella.
Figura 3 Procesador
La razón para su aparente inteligencia es la velocidad con la cual puede ejecutar
una simple instrucción. Un microprocesador puede procesar mas de 100 millones
de instrucciones por segundo. Su función es ejecutar programas almacenados en
la memoria principal, tomar de ellos cada instrucción, examinarla y ejecutarlas una
después de la otra. La CPU está conformada por tres unidades diferentes así:
Unidad de Control, Unidad Aritmética Lógica y Registros de Almacenamiento
Temporal; están contenidos en un chip muy pequeño llamado microprocesador, de
un tamaño no mayor a 0.5 cm. Los constructores de Microprocesadores mas
conocidos son INTEL y MOTOROLA:
UNIDAD DE CONTROL - UC
La UC es la encargada de la búsqueda de las instrucciones en memoria, su
interpretación y la generación de las señales de control necesarias para ejecutar la
operación especificada por cada instrucción. Tiene dos aspectos esenciales:
Secuenciamiento de Instrucciones
Es el proceso por el cual las instrucciones de un programa van siendo
seleccionadas para su ejecución en un orden determinado. Se puede emplear un
registro denominado contador de programa -CP que contiene el valor de la
posición de memoria cuando se está ejecutando la instrucción y que se
incrementará en una unidad al ir a ejecutar la siguiente instrucción. Las
instrucciones de ruptura de secuencia permiten la selección de un camino entre
varios posibles y la realización de bucles en el algoritmo. Pueden ser de dos tipos:
En la llamada a una subrutina, las operaciones que hay que realizar son:
Microoperaciones
La ejecución de un programa consiste en la ejecución secuencial de sus
instrucciones. Cada instrucción se ejecuta durante un ciclo de instrucción que está
compuesto de subciclos más pequeños:
1. Ciclo de búsqueda.
2. Ciclo de direccionamiento indirecto.
3. Ciclo de ejecución.
4. Ciclo de interrupción.
La realización de cada uno de estos subciclos implica una o más operaciones más
pequeñas que son las microoperaciones. Representan las operaciones atómicas
de la CPU.
Ciclo de Búsqueda
Ocurre al comienzo de cada ciclo de instrucción y origina que se realice la
búsqueda de la instrucción en memoria. Se utilizan los cuatro registros siguientes:
memoria.
Ciclo de Ejecución
Los ciclos de búsqueda, direccionamiento indirecto e interrupción son simples y
predecibles. Cada uno de ellos contiene una secuencia fija de microoperaciones y
en cada caso las mismas microoperaciones se repiten una y otra vez. Esto no
sucede con el ciclo de ejecución, ya que puede necesitar varias microoperaciones
para completar dicho ciclo. Existen tantas secuencias como códigos de operación
diferentes.
Ciclo de instrucción
Se introduce un registro de dos bits denominado código del ciclo de instrucción
(CCI) cuyo contenido indica en que fase del ciclo de instrucción se encuentra la
CPU. Al final de cada uno de los cuatro ciclos el CCI se actualiza al valor que
corresponde al siguiente ciclo que se ha de ejecutar.
Ciclo de interrupción
El ciclo de interrupción se produce cuando el procesador es interrumpido para
atender un proceso de mayor prioridad. Para el caso el sistema operativo guarda
la información del proceso que se está ejecutando actualmente en una estructura
llamada PCB (Proces Control Block), si el proceso que ejecuta la interrupción ya
estaba corriendo en el sistema, entonces es cargado el proceso a los registros de
ejecución desde el PCB, sino se carga el programa entrante. Una vez atendido el
proceso que ejecutó la interrupción el sistema operativo vuelve a ejecutar el
mismo proceso que estaba trabajando antes de la interrupción.
x Señales de control internas a la CPU: las que originan que los datos se
muevan entre los diferentes registros y las que activan funciones específicas
de la UAL.
x Señales de control hacia el bus del sistema: señales de control a memoria y
señales de control a módulos de E/S.
x s = sn sn-1 ... s1 s0
x y c s
==========
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
xi yi ci-1 ci si
==============
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
x si = (xi AND yi AND ci-1) OR (xi AND yi AND ci-1) OR (xi AND yi AND ci-1) OR (xi
AND yi AND ci-1)
x ci = (xi AND yi) OR (xi AND ci-1) OR (yi AND ci-1)
1. Sustituir todos los bits de y por su complemento (cambiar 0 por 1 y 1 por 0).
2. Sumar 1 al bit menos significativo.
Con cada módulo SBC se incluye una puerta OR-Exclusiva, a la cual le llegan a su
vez dos entradas:
x R = (xn-1 AND yn-1 AND sn-1) OR (xn-1 AND yn-1 AND sn-1) = cn-2 EXCL cn-1
Multiplicadores
Los multiplicadores más simples se basan en el método clásico a lápiz y papel, es
decir, se multiplica todos los dígitos del multiplicando por el dígito menos
significativo del multiplicador, se deja en la misma fila, se continúa con el siguiente
dígito del multiplicador y se lleva a una fila inferior desplazada un lugar a la
izquierda, y así sucesivamente hasta sumar finalmente todas las filas. En un
multiplicador binario ocurre igual: se hacen productos parciales mediante puertas
AND y los resultados se llevan a las entradas yi de los SBC que estan agrupados
correctamente, donde cada acarreo final de una fila se lleva al SBC de la fila
inferior que le corresponda. Al final se tendrán todas las salidas Pi que serán las
sumas de todas las columnas (vacías o no). Cuando se trata de números con
signo, la solución más fiable es el llamado algoritmo de Booth:
5. Si los dos bits son iguales, todos los bits de los registros A, m y m-1 se
desplazan 1 bit a la derecha.
6. Si los dos bits difieren, el multiplicando se suma o se resta del registro A,
según sean 0-1 o 1-0.
7. El desplazamiento se produce siempre después de la suma o la resta, pero el
bit An-1 permanece en su sitio para preservar el signo del número en A y en m
(desplazamiento aritmético).
A m m-1
=====================
b ... b b ... b b
... ... ...
b ... b b ... b b
Divisores
Dados dos operandos, el dividendo D y el divisor d, el objetivo de los circuitos de
división es calcular el cociente Q y el resto R tales que:
x D=dxQ+R
Se requiere que el resto sea menor que el divisor (0 <= R < d). El dividendo, el
cociente y el divisor se corresponden respectivamente con el producto P, el
multiplicador m y el multiplicando M, es decir, los circuitos utilizados en ambas
operaciones son análogos. Si en la multiplicación interviene repetidamente la
suma, en la división ocurre igual con la resta. El procedimiento que se utiliza para
obtener el cociente es el siguiente:
Operaciones de Desplazamiento
Un registro de desplazamiento es todo registro capaz de efectuar transferencias
entre sus celdas adyacentes. Tienen n entradas y salidas en paralelo, una entrada
serie para desplazamiento izquierda EI y derecha ED, una señal de reloj y otra de
control. Los desplazamientos se pueden clasificar atendiendo al tratamiento que
se da a la información en:
Operaciones de Comparacion
Un comparador es un circuito lógico que tiene dos entradas x e y de n bits cada
una y tres salidas: M (mayor), I (igual) y m (menor), que indican la relación entre
dichas magnitudes:
M I m Entrada
==============
1 0 0 x>y
0 1 0 x=y
0 0 1 x<y
x y M I m
==============
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
Utilizando un sumador
La UAL también posee una serie de biestables capaces de almacenar las
condiciones que se producen en la ejecución de las operaciones aritméticas
(registro de estado):
El procedimiento difiere según sea números sin signo o con signo representados
en C2:
===========================================
x >= y C=1 x >= y N EXCL V = 0
x<y C=0 x<y N EXCL V = 1
x>y C=1yZ=0 x>y Z = 0 y (N EXCL V) = 0
(C + Z = 0) (Z + (N EXCL V) = 0)
x <= y C = 0 o Z = 1 x <= y Z = 1 o (N EXCL V) = 1
(C + Z = 1) (Z + (N EXCL V) = 1)
x=y Z=1 x=y Z=1
x#y Z=0 x#y Z=0
LOS REGISTROS
Los registros son un conjunto de lugares donde el procesador almacena datos
mientras trabaja sobre ellos. La Figura 4 muestra los registros de un
microprocesador 8088, 8086, 286. Cada uno de ellos es una parte Integral del
procesador. Es un área temporal por la cual pasan los datos mientras están siendo
procesados. El tamaño del registro varia entre 16 o 32 bits, dependiendo del
microprocesador.
Figura 4 Registros
Los procesadores 386 y posteriores tienen 8 registros de propósito general y son:
EAX, EBX, ECX, EDX, ESI, EDI, EBP y ESP.
La Memoria
CONCEPTOS BASICOS
Uno de los aspectos más destacables de la memoria de un computador es su
localización y desde este punto de vista se pueden clasificar en tres grandes
grupos:
física.
x Acceso asociativo: es de tipo aleatorio pero que no accede al contenido de la
información sino a la posición de memoria que contiene una palabra
determinada.
x Tiempo de acceso (TA): se define como el tiempo medio necesario para leer
una cantidad fija de información.
x Tiempo de ciclo de memoria (TC): es el intervalo entre dos lecturas cuando
en las memorias DRO no es posible iniciar una segunda lectura después de la
primera sin efectuar antes la restauración de la información.
x Velocidad de transferencia o frecuencia de acceso (FA): es el número de
palabras por segundo que pueden ser accedidas en un dispositivo de memoria.
JERARQUIA DE MEMORIAS
Se entiende por organización la disposición física de los bits para formar palabras.
La unidad de memoria de un computador se puede ver como una jerarquía de
componentes. Desde el punto de vista del diseñador, esta jerarquía impone una
serie de ligaduras que se pueden resumir en los tres parámetros siguientes:
x Capacidad de la memoria.
x Rapidez.
x Coste.
x Registros de la CPU
x Memoria caché
x Memoria principal
x Discos magnéticos
x Cintas magnéticas
Está compuesta por un número de celdas consecutivas llamadas byte, cada byte
pueden almacenar un carácter de información. Cada byte está conformado por 8
bits y el computador sabe donde se encuentra en memoria porque cada byte tiene
un número único que la identifica, la llamada dirección, por medio del cual los
programas los localizan o referencian.
LA MEMORIA RAM
En la memoria RAM (Ver Figura 6)se almacenan las instrucciones y los datos que
el computador maneja, es una memoria volátil lo cual significa que al apagar el
computador se borra. Para efecto de su administración técnica se conocen las
siguientes divisiones:
Memoria Superior
A la memoria situada en la dirección comprendida entre 640 Kbytes y 1 Mbyte se
llama memoria superior, y tiene un tamaño de 384 Kbyte. En ella se almacena los
programas que dan soporte algunas partes del hardware. El PC original usaba
sólo una parte de esta memoria para su BIOS, el sistema básico de Entrada/Salida
que proporcionaba al PC las instrucciones de bajo nivel para controlar periféricos
como unidades de disco y el teclado. Otra pequeña parte se utilizó para la
memoria de video, donde se almacena la información que se visualizará en los
monitores monocromos o en color. Los primeros 128 Kb se utilizan para la
memoria de vídeo: los sistemas gráficos monocromo, CGA, EGA o VGA de la
mayoría de los PC. Los siguientes 128 Kb están reservados para ROM instalables
1
En los primeros sistemas operativos, algunos usan otras regipnes de la memoria del computador.
como la ROM de vídeo y la ROM del controlador de disco duro. Los últimos 128
Kb están reservados para la ROM BIOS.
Memoria Extendida
Es la memoria por encima de 640 Kbyte, aparece cuando los constructores de
software y de computadores se dieron cuenta que 1Mbyte era muy poca memoria.
Toda la memoria por encima de 640 Kbytes es memoria extendida.
Memoria Alta
Son los primeros 64 Kbyte de la memoria extendida.
MEMORIA EXPANDIDA
Los usuarios de hojas de cálculo fueron los primeros que reclamaron más
memoria. Cuando se trabaja con ellas se está almacenando en memoria; cuanto
más memoria tenga, mayor será la hoja de cálculo que pueda crear. Para grandes
usuarios de estos programas 640 Kbyte no fue suficiente. Se propuso una
solución que utilizaba una combinación de hardware y software. LOTUS, INTEL,
MICROSOFT crean una forma para acceder memoria hasta a 32 Mbytes por
encima de la memoria convencional. La memoria expandida no significa que sea
memoria más allá de la marca de 1 Mb, ni los programas pueden ejecutarse en
esa zona. Al contrario, es más bien un área de almacenamiento de memoria
sobre una tarjeta de expansión compatible EMS situada dentro del ordenador. Los
programas compatibles EMS pueden acceder a la memoria de la tarjeta, lo cual
significa que el programa puede acceder a más memoria para almacenar datos.
MEMORIA ROM
En la memoria ROM (Memoria de sólo lectura) se encuentran almacenados
procedimientos que el computador debe realizar en el momento en que se
enciende, algunas de ellas son: verificación de memoria, de conexión de
periféricos como teclado, impresora, detectar el disco con sistema de arranque
etc. También se encuentra la ROM BIOS que está activa todo el tiempo y se
encarga con el sistema operativo de realizar actividades de control de dispositivos
de periféricos.
Unidad de Entrada/Salida
DISPOSITIVOS EXTERNOS
Un dispositivo externo o periférico se conecta al computador a través de un enlace
con un controlador de E/S. El enlace se utiliza para intercambiar datos e
información sobre su control y su estado, entre el controlador de E/S y el
dispositivo externo. Los periféricos se pueden clasificar en tres categorías:
remotos.
CONTROLADOR DE E/S
Es el módulo del computador responsable del control de uno o más dispositivos
externos y del intercambio de datos entre dichos periféricos con la memoria
principal o con los registros de la CPU. Debe poseer una interfaz interna al
computador (para su conexión con la CPU y con la memoria principal) y una
interfaz externa al computador (para su conexión con el dispositivo externo). Las
principales funciones de un controlador de E/S pertenecen a una de las siguientes
categorías:
x Control y temporización.
x Comunicación con la CPU.
x Comunicación con el dispositivo externo.
x Almacenamiento temporal de datos.
x Detección de errores.
Origen:
Niveles de interrupción:
x La transferencia de datos está limitada por la velocidad con que la CPU puede
comprobar y atender a un periférico.
x La CPU está obligada a gestionar la transferencia de E/S.
x Por ráfagas: cuando el DMA toma el control del bus no lo libera hasta haber
transmitido el bloque de datos pedido.
x Por robos de ciclo: cuando el DMA toma el control del bus lo retiene durante
un solo ciclo, transmite una palabra y libera el bus.
x DMA transparente: solamente se roban ciclos cuando la CPU no está
utilizando el bus del sistema.
x Por demanda: el periférico es quien comienza la transferencia por DMA, pero
devuelve el control a la CPU cuando no tiene más datos disponibles.
x Dato a dato: cada vez que el periférico solicita una transferencia por DMA, se
envía un único dato y se devuelve el control a la CPU.
Procesadores
En orden de aparición (Classic, MMX, Pro, PII, K5, K6, K6-2, 6x86, 6x86MX, MII, Winchip C6, PIII,
Athlon)
Memoria Principal
La primera distinción que debemos realizar es el formato físico, cuyo parámetro más importante es
el número de contactos (ó pins). Hoy en día podemos encontrarlas de 30 contactos (8 bits) y que
miden unos 9 cm., 72 (32 bits) y con una longitud de casi 11cm., y 168 (64 bits) y casi 13 cm. Las
dos primeras reciben el nombre de SIMM y funcionan a 5V, y la última es conocida como DIMM y
puede trabajar a 3,3V ó a 5V, dependiendo del tipo. La siguiente distinción por orden de
importancia sería el tipo, en orden a su antigüedad, esta puede ser DRAM, Fast Page (o FPM),
EDO ó SDRAM. Es importante consultar el manual de la placa base para saber que tipos soporta.
El tipo SDRAM sólo se encuentra en formato DIMM, y es la que más dolores de cabeza nos puede
causar, ya que puede ser Buffered o Unbuffered, y trabajar a 3,3 o a 5V. Además, no todas las
placas base soportan todas estas combinaciones, algunas por ejemplo sólo soportan módulos de
3,3V. Afortunadamente, hay una muesca en estas memorias que impide conectar un módulo en
un zócalo para el que no ha sido diseñado. Otra característica importante es la paridad, esta
característica actualmente está en desuso, pero puede ser fuente de problemas, ya que algunas
placas no soportan esta característica, mientras otras (pocas) sólo funcionan con ella. Saber si un
módulo posee o no paridad es relativamente fácil, basta con contar el número de chips (circuitos
integrados) que hay en el circuito impreso. Si es impar entonces es memoria con paridad. Por
último nos queda comentar el tiempo de acceso, éste cuanto más pequeño sea mejor. Si
hablamos de módulos SIMM, dependiendo de su antigüedad, son normales tiempos de 80, 70 , 60
ó incluso 50 ns. En las memorias DIMM SDRAM, suelen ser habituales tiempos de alrededor de 10
ns.
También es importante señalar la máxima frecuencia a la que pueden trabajar. En este aspecto se
debe recordar que el único diseño capaz de trabajar a 100 Mhz es el tipo SDRAM. En cuanto a
capacidades las más habituales son las de 256Kb, 1, 2, 4, 8, 16, 32, 64 y 128Mb., aunque no todas
pueden estar soportadas por nuestra placa base, por ejemplo los módulos de 2 Mb no suelen ser
habituales, y los de 256Kb y 1Mb sólo están en formato de 30 pins, y los módulos DIMM empiezan
a partir de 16 Mb. También hay que entender que el bus de datos del procesador debe coincidir
con el de la memoria, y en el caso de que no sea así, esta se organizará en bancos, habiendo de
tener cada banco la cantidad necesaria de módulos hasta llegar al ancho buscado.
Por tanto el ordenador sólo trabaja con bancos completos, y éstos sólo pueden componerse de
módulos del mismo tipo y capacidad.
Tarjeta de Vídeo
Hoy en día todas las tarjetas de vídeo son gráficas e incluyen
aceleración por hardware, es decir, tienen "chips" especializados que
se encargan de procesar la información recibida desde el bus e
interpretarla para generar formas, efectos, texturas, que de otra forma
no serían posibles o con peor calidad, o colapsarían al ordenador y al
bus. La primera distinción a efectuar es si la tarjeta soporta
aceleración 2D, 3D o ambas. Las tarjetas con aceleración 3D también
suelen tener soporte para 2D, pero algunas 3D sólo trabajan como
complemento a las 2D, añadiéndoles dicho soporte. Es muy
importante entender que las tarjetas aceleradoras 3D sólo sirven para
juegos y para programas de diseño gráfico 3D que estén preparados
para sacarles partido. Si habitualmente trabajamos con programas
ofimáticos tipo "Office", no obtendremos ningún beneficio de estas
nuevas tarjetas.
Disqueteras y Zips
Refiriéndonos exclusivamente al mundo del PC, en las unidades de
disquete sólo han existido dos formatos físicos considerados como
estándar, el de 5 1/4 y el de 3 1/2. En formato de 5 1/4, el IBM PC
original sólo contaba con unidades de 160 Kb, esto era debido a que
dichas unidades sólo aprovechaban una cara de los disquetes.
Luego, con la incorporación del PC XT vinieron las unidades de doble
cara con una capacidad de 360 Kb. (DD o doble densidad), y más
tarde, con el AT, la unidad de alta densidad (HD) y 1,2 Mb.
El formato de 3 1/2 IBM lo impuso en sus modelos PS/2. Para la gama
8086 las de 720 Kb. (DD o doble densidad) y para el resto las de 1,44
Mb. (HD o alta densidad) que son las que hoy todavía perduran.
En este mismo formato, también surgió un nuevo modelo de 2,88 Mb.
(EHD o Extra alta densidad), pero no consiguió cuajar.
Disco Duro
En el mundo del PC hay dos grandes estándares, IDE y SCSI, aunque el primero
está más extendido que el segundo, la tecnología SCSI está presente en otras
plataformas como: los Mac, sistemas Unix, AS/400, etc. Los dos estándares han
ido sufriendo a lo largo del tiempo distintas implementaciones para intentar seguir
el ritmo marcado por otros componentes cada vez más rápidos, como los
procesadores.
IDE: Cronológicamente y empezando por el primero encontramos los primeros discos IDE con su
limitación a 528 Mb., y pudiendo sólo conectar hasta 2 de ellos. Después vinieron los discos EIDE
(FastATA), desarrollados por la compañía Western Digital, compatibles con los primeros, pero con
algunas mejoras, basadas en la especificación ATA-2, que ya soporta unidades de CD-ROM
(ATAPI) y de cinta. Otra mejora importante es el soporte de 2 canales para conectar hasta 4
unidades. Además se definen varios modos de transferencia de datos, que llegan hasta los 16,6
Mb./seg. Como el PIO-4, o mejor aún el DMA-2, que soporta la misma tasa pero sin intervención de
la CPU. Entre las más recientes especificaciones desarrolladas por Quantum se encuentra la Ultra
DMA/33 (UltraATA), que permite transferencias DMA a 33 Mb./seg.
SCSI: En el caso de los discos SCSI, tenemos el primero, llamado SCSI-1, con un ancho de bus
de 8 bits, aunque ya en ésta primera especificación se incluían características muy destacadas,
como la posibilidad de conectar hasta 7 dispositivos de todo tipo, discos, cintas, escáners, CD-
ROM, etc... Después viene el SCSI-2, que ya dispone de un ancho de bus de 16 bits. El siguiente
paso es el Fast-SCSI, considerado el doble de rápido. Después viene el Wide SCSI, ya con un
ancho de bus de hasta 32 bits, así como un mayor rendimiento.
CD - ROM
En primer lugar vamos a diferenciar entre lectores (ROM), grabadores
(RW) y regrabadores. Diremos que los más flexibles son los últimos, ya
que permiten trabajar en cualquiera de los tres modos, pero la velocidad
de lectura, que es uno de los parámetros más importantes se reciente
mucho, al igual que en los grabadores. Así tenemos que en unidades
lectoras son habituales velocidades de alrededor de 34X (esto es 34
veces la velocidad de un lector CD de 150 Kps.), sin embargo en los
demás la velocidad baja hasta los 6 ó 12X. Actualmente de manejan
mayores velocidades Ej. 56 X. Existen nuevos dispositivod como los
DVD ROM y DVD RW con mayor capacidad de almacenamiento y
rapidez. Dado que las unidades lectoras son bastante económicas, suele
ser habitual contar con una lectora, y una regrabadora, usando la
segunda sólo para operaciones de grabación.
Teclado
El teclado es un componente al que se le da poca importancia,
especialmente en los computadores clónicos. Sin embargo es un
componente esencial, pues es el que permitirá que nuestra relación con
el ordenador sea fluida y agradable, de hecho, junto con el ratón son los
responsables de que podamos interactuar con nuestra máquina.
El segundo, introducido por IBM en sus modelos PS/2, es usado por los
fabricantes "de marca" desde hace tiempo, y es el habitual en las placas
con formato ATX.
Monitor
Tamaño:
El tamaño de los monitores se mide en pulgadas, al igual que los televisores. Hay que tener en
cuenta que lo que se mide es la longitud de la diagonal, y que además estamos hablando de
tamaño de tubo, ya que el tamaño aprovechable siempre es menor.
Tubo:
Otro aspecto importante es la marca del tubo y el tipo, así como otros detalles relacionados con él.
Fabricantes de monitores hay muchos, pero de tubos son contados, si sabemos que modelo de
tubo lleva nuestro monitor sabremos ya bastantes cosas importantes de él.
Tamaño de punto:
Esta es una de las características que depende del tubo, y define el tamaño que tendrá cada uno
de los puntos que forman la imagen, por tanto cuanto más pequeño más preciso será. No hay que
confundir el tamaño de punto con el "pixel". El pixel depende de la resolución de la pantalla, y
puede variar, mientras que el punto es fijo, y depende exclusivamente del tubo.
Frecuencia de refresco:
Aquí si que podemos decir claramente que cuanto más mejor. La frecuencia de refresco está
proporcionalmente ligada a la estabilidad de la imagen, y por tanto al descanso y confort de
nuestra vista. Nunca deberíamos escoger valores por debajo de los 75 Mhz en modos de 1.024 x
768 puntos, aunque un valor óptimo sería de 90 Mhz., que sería el mínimo exigible en resoluciones
menores.
Resoluciones:
Resolución de pantalla se denomina a la cantidad de pixeles que se pueden ubicar en un
determinado modo de pantalla. Estos pixels están a su vez distribuidos entre el total de
horizontales y el de verticales. Todos los monitores pueden trabajar con múltiples modos, pero
dependiendo del tamaño del monitor, unos nos serán más útiles que otros. A nivel general se
recomienda lo siguiente:
Cuando hablamos de resoluciones, hay que decir lo mismo que con las frecuencias de refresco, si
nuestra tarjeta de vídeo no las soporta, no podremos usarlas. Hay que tener mucho cuidado de
que estas resoluciones se obtengan de manera "no entrelazada", ya que sino, la calidad de la
imagen se reciente de una forma inaceptable, reduciendo la frecuencia de refresco REAL a la
mitad.
Mouse (Ratón)
Este dispositivo es uno de los más importantes para la
interacción con el computador.
Estructuras de Interconexión
Un computador consiste en un conjunto de componentes o módulos de tipos
básicos que se comunican entre sí mediante unos caminos, que constituye la
estructura de interconexión. Los tipos de intercambios que se necesitan son:
x Memoria a CPU.
x CPU a Memoria.
x E/S a CPU.
x CPU a E/S.
x E/S a ó desde Memoria.
x CPU - Memoria.
x CPU -E/S.
x Procesamiento de los datos.
x Control.
Cualquier ciclo de instrucción puede estar formado puede estar formado por uno o
varios estados:
3.2.1. Introducción
En el más estricto sentido de la expresión el sistema operativo es un programa
que inicia su ejecución al encender el computador, establece un estado inicial de
los componentes de dicho computador y tiene como función primaria el permitir
que otros programas se ejecuten y tengan un acceso ordenado a los recursos que
ofrece el equipo. Es lo que se conoce como el Kernel. Esto lo hace
suministrando procesos que controlan a los dispositivos periféricos, administrando
recursos compartidos por varias tareas como la memoria y equipos periféricos y
estableciendo las prioridades de las tareas que ejecuta el computador. También
debe mantener la integridad del proceso recuperando el control cuando algún
programa falla.
Hoy por hoy es común que tengamos un PC en casa que puede estar ejecutando
un sistema operativo como Windows 95/98, Linux, Unix, AS/400, etc. Para la
inmensa mayoría de usuarios de PCs el sistema operativo es un elemento oscuro.
Dependiendo del giro que tomen compañías como Sun e IBM habrá que tomar en
cuenta en un futuro el uso de un sistema operativo basado en lenguaje de
programación JAVA. Igualmente hay que considerar que rumbo va a tomar Novell
de la que se especula puede moverse en igual dirección que Sun e IBM.
Linux, que hasta ahora ha sido la adoración del computista rebelde comienza a
penetrar los mercados conservadores como una alternativa tipo UNIX pero más
económica.
Esto hace que los procesos de un programa puedan ser ejecutados en lo que
parece una forma desordenada. Igual ocurre con los componentes del sistema
operativo. A pesar de ese aparente desorden todo debe marchar con un cierto
orden.
El sistema operativo, con el objetivo de hacer uso eficiente del potencial del
procesador, interrumpe al programa que el procesador está ejecutando para
atender a algún periférico que haya concluido lo que estaba haciendo. Esta
terminación puede ser exitosa o no. Lo importante es que los periféricos son
relativamente tan lentos que hay que atenderlos rápido para ponerlos a trabajar lo
más rápido posible para que no atrasen al trabajo que se quiere hacer con el
computador.
Existen muchos tipos de sistemas operativos. Como hemos dicho, los hay para
controlar el uso de equipos que centralizan información, como los que nos dan el
servicio de Internet, y los hay para equipos que realizan tareas muy definidas
como puede ser un reloj de control de entradas y salidas de empleados.
Kernel
El Kernel o núcleo es el centro del sistema operativo. Este está permanente en
memoria una vez que el equipo inicia sus funciones normales. Es responsable por:
Para saber los detalles de una instancia debemos examinar el grupo de datos que
la define. Este grupo de datos son el estado en que esta la instancia y la cola de
mensajes a procesar. El estado puede contener la instrucción por la que va la
ejecución en ese momento y/o valores asignados a variables antes de comenzar
la ejecución o durante la misma.
Multiprocesamiento
La mayoría de los PCs instalados contiene una sola CPU (Central Processing
Unit) para procesar las tareas. Es posible tener varias CPUs en el motherboard
con lo que es posible tener varios procesos corriendo simultáneamente. Cuando
no se tienen varios CPUs se puede crear la ilusión de multiprocesamiento por
medio de mecanismos de interrupción de las tareas y mudando de una tarea a
otra cada cierto tiempo. Esta mudanza o switching es una de las tareas del
Kernel. Aún con varios CPUs se puede hacer switching de tareas asignadas a
cada CPU. Por ejemplo, Windows NT puede atender a varias CPUs.
Existen dos formas básicas de proceder a la mudanza entre tareas. Las tareas
pueden cooperar suspendiéndose voluntariamente cada cierto tiempo o en puntos
determinados en su ejecución o el sistema operativo con ayuda de circuitos en el
hardware interrumpe la tarea que se esté ejecutando. Estos dos mecanismos se
les conoce en inglés como cooperative switching y pre-emptive switching.
Windows 3.1x es un ejemplo de una mudanza cooperativa. UNIX y NT son
ejemplos de pre-emptive switching.
En el segundo caso, una parte muy pequeña del sistema operativo está presente
en ROM para iniciar la carga del sistema operativo desde una unidad externa de
almacenamiento. Esta unidad externa es por lo general, un disco magnético pero
puede ser un CD o un cartucho de cinta magnética.
UNIX en una gran medida echó por tierra ese concepto al demostrar que era
posible atender la entrada de datos y su modificación en lo que se llama modo
Los sistemas operativos de hoy en día, sean para computadores o sean para
dispositivos, ofrecen esta interacción.
BIBLIOGRAFIA
[1.] http://www.monografias.com/trabajos6/orievo/orievo.shtml
[2.] www.lucho.com/procesad.htm.
[3.] http://members.tripod.com/~pchardware
[4.] http://www.inf.ufsc.br/ine5365/portlog.html
[5.] Apuntes de clase desarrollados en la asignatura de Introducción a la
Informática durante los semestres de 1999 y 2000.
[6.] Allen B. Tucker, y otros. Fundamentos de Informática. McGraw - Hill.
[7.] Luis Joyanes Aguilar. Fundamentos de Programación. Algoritmos y
Estructuras de Datos. Segunda Edición. McGraw - Hill. 1996.
[8.] Turbo C/C++. Hebert Schildt, McGraw -Hill.