Conclusión del Curso de Arquitectura de Computadoras

Como podemos ver en la información que ese encuentra en este blog se a tocado uno de los temas mas importantes para el entendimiento y comprensión del desarrollo y manipulación de los Sistemas Computacionales.


Es importante recordar que este curso solo nos ha mostrado una mínima parte de lo que hay en el interior de los Ordenadores y como Licenciados en Informática es preciso enfocar este conocimiento en función de nuestras actividades y no solo como una conceptualización de lo que tenemos como principal medio de trabajo como Informáticos.

Durante este curso se ha podido entender de una manera más amplia la funcionalidad de los Ordenadores, comprendiendo como ha ido evolucionando la conceptualización de los humanos para la manipulación de la información a través de las Computadoras, así como la evolución de los Sistemas Computacionales para poder realizar las actividades más comunes en la vida diaria de los Humanos.

Por medio del conocimiento adquirido en la materia de Arquitectura de Computadoras en la Facultad de Contaduría y Administración de la UNAM, podemos decir q se conoce a fondo el procesamiento interno de la información que es ingresada a un Ordenador, así como también la capacidad que se tiene para poder utilizar cada uno de los componentes internos de almacenamiento a su máxima capacidad y realizar los programas necesarios para explotar los recursos de un Ordenador y convertirlo en información útil.

Como conclusión final podemos asegurar que por medio de el conocimiento visto durante este curso, es muy seguro que se puedan lograr con gran éxito las principales funciones que tiene el Informático en el mundo laboral, así como lograr la eficiencia necesaria para lograr una toma de decisión mas puntal y precisa en un acontecimiento cualquiera.




Memorias

Las memorias son los dispositivos de almacenamiento de datos e instrucciones en una computadora. Llamamos sistema de memoria al conjunto de estos dispositivos y los algoritmos de hardware y/o software de control de los mismos.

Una clasificación funcional de las memorias es la siguiente:

a) Memoria interna: Constituida por los registros internos de la CPU y se caracteriza por su alta velocidad.

b) Memoria central (o principal): Almacena programas y datos, es relativamente grande, rápida y es accedida directamente por la CPU a través de un bus.

c) Memoria secundaria: Se usa para el almacenamiento de programas del sistema y grandes archivos. Su capacidad es mucho mayor que las anteriores pero más lenta y el acceso a la misma por parte de la CPU en indirecto. Las principales tecnologías son la magnética y la óptica.

Se pueden definir algunos parámetros generales aplicables a todas las memorias

a) Unidad de almacenamiento: Bit.
b) Capacidad de almacenamiento:
Cantidad de bits que puede almacenarse. Si bien la unidad de almacenamiento es el bit, muchas veces se usa el byte. Así encontramos capacidades en Kb ( 1Kb = 1024 bytes), en Mb (1Mb = 1024 Kb), en Gb (1Gb = 1024 Mb), etc.. Las memorias se consideran organizadas en palabras, cada palabra es un conjunto de bits a los cuales se accede simultáneamente.
c) Tiempo de acceso (ta):
Es el que se tarda en leer o escribir una palabra en la memoria desde el momento que se direcciona. La velocidad de acceso ba=1/ta se mide en palabras/segundo.
d) Tipo de acceso:

Acceso aleatorio: cuando el tiempo de acceso es similar para cualquier posición
Acceso serie: cuando el tiempo de acceso depende de la posición que ocupa la palabra dentro de la memoria.

e) Tiempo de ciclo (tc):
Indica el mínimo tiempo entre dos accesos sucesivos a la memoria. El tiempo tc es mayor que el tiempo ta. El ancho de banda de una memoria se define como la inversa de tc y es un indicativo de la cantidad de palabras procesables por unidad de tiempo.
f) Medio físico:

- Electrónicas: construidas con semiconductores.
- Magnéticas: basadas en el fenómeno de histéresis de los materiales ferromagnéticos.
- Ópticas: utilizan la tecnología láser.

g)Estabilidad :

- Volatilidad: el contenido de la memoria se pierde cuando se suspende la alimentación eléctrica.
- Almacenamiento dinámico: El bit se almacena como carga de una capacidad parásita de un transistor MOS. La información se pierde cuando el capacitor se descarga lo que hace necesario un refresco periódico para restaurar el contenido antes que se deteriore.
- Lectura destructiva (DRO): Al efectuar la lectura se pierde la información, por lo cual dicho proceso debe acompañarse de una restauración.

Algebra de Boole

Álgebra de Boole (también llamada Retículas booleanas) en informática y matemática, es una estructura algebraica que rigorizan las operaciones lógicas Y, O y NO, así como el conjunto de operaciones unión, intersección y complemento.
El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. En la actualidad, el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico.

FUNCIÓN BOOLEANA
Se denomina función lógica o booleana a aquella función matemática cuyas son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico (.) o negación(-).
Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:

1.- ALGEBRAICA

Ejemplo con distintas formas en las que se puede expresar algebraicamente una misma función de tres variables


a) F = [(A + BC’)’ + ABC]’ + AB’C
b) F = A’BC’ + AB’C’ + AB’C + ABC’
c) F = (A + B + C)(A + B + C’)(A + B’ + C’)(A’ + B’ + C’)
d) F = BC’ + AB’
e) F = (A + B)(B’ + C’)
f) F = [(BC’)’ · (AB’)’]’
g) F = [(A + B)’ + (B’ + C’)’]’



La expresión a) puede proceder de un problema lógico planteado o del paso de unas especificaciones a lenguaje algebraico. Las formas b) y c) reciben el nombre expresiones canónicas de suma de productos (sum-of-products, SOP, en inglés), la b), y de productos de sumas (product-of-sums, POS, en inglés), la c); su característica principal es la aparición de cada una de las variables (A, B y C) en cada uno de los sumandos o productos. Las d) y e) son funciones simplificadas, esto es, reducidas a su mínima expresión. Las dos últimas expresiones tienen la particularidad de que exclusivamente utiliza funciones NO-Y, la f), o funciones NO-O, la g).


2.- TABLA DE VERDAD

Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo del valor de sus variables. El número de combinaciones posibles para una función de n variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad.

La forma más cómodo para ver la equivalencia entre una tabla de verdad y una expresión algebraica es cuando esta última se da en su forma canónica. Así, la función canónica de suma de productosF = A’BC’ + AB’C’ + AB’C + ABC’nos indica que será 1 cuando lo sea uno de sus sumandos, lo que significa que tendrá por lo tanto cuatro combinaciones que lo serán (010 para A’BC’, 100 para AB’C’, 101 para AB’C y 110 para ABC’) siendo el resto de combiaciones 0. Con la función canónica de producto de sumas se puede razonar de forma análoga, pero en este caso observando que la función será 0 cuando lo sea uno de sus productos. También es fácil obtener la tabla de verdad a partir de la función simplificada, pero no así a la inversa.


3.- NUMÉRICA

La representación numérica es una forma simplificada de representar las expresiones canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una negada por un 0, podremos representar el término, ya sea una suma o un producto, por un número decimal equivalente al valor binario de la combinación.

Por ejemplo, los siguientes términos canónicos se representarán del siguiente modo (observe que se toma el orden de A a D como de mayor a menor peso):

AB’CD = 10112 = 1110
A’ + B + C’ + D’ = 01002 = 410

Para representar una función canónica en suma de productos utilizaremos el símbolo Σn (sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la representación numérica correspondiente a la tabla de verdad del punto anterior quedará como:

F = Σ3(2, 4, 5, 6) = Π3(0, 1, 3, 7)

Matemáticamente se demuestra, que para todo término i de una función, se cumple la siguiente ecuación:

F = [Σn(i)]' = Πn(2n-1-i )

A modo de ejemplo se puede utilizar esta igualdad para obtener el producto de sumas a partir de la suma de productos del ejemplo anterior:

F = Σ3(2, 4, 5, 6) = [Σ3(2, 4, 5, 6)]' ' = [Σ3(0, 1, 3, 7)]' = Π3(0, 4, 6, 7)



4.- GRÁFICA

La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior.


Circuitos Secuenciales

Un circuito secuencial puede entenderse simplemente como un circuito combinacional en el cuallas salidas dependen tanto de las entradas como de las salidas en instantes anteriores, esto implica una retroalimentación de las salidas como se muestra en el siguiente diagrama:

El circuito secuencial debe ser capaz de mantener su estado durante algún tiempo, para ello se hace necesario el uso de dispositivos de memoria. Los dispositivos de memoria utilizados en circuitos secuenciales pueden ser tan sencillos como un simple retardador (inclusive, se puede usar el retardo natural asociado a las compuertas lógicas) o tan complejos como un circuito completo de memoria denominado Flip Flop.

Como puede verse entonces, en los circuitos secuenciales entra un factor que no se había considerado en los combinacionales, dicho factor es el tiempo. De hecho, los circuitos secuenciales se clasifican de acuerdo a la manera como manejan el tiempo en circuitos secuenciales síncronos y circuitos secuenciales asíncronos.

En un circuito secuencial asíncrono, los cambios de estado ocurren al ritmo natural marcado por los retardos asociados a las compuertas lógicas utilizadas en su implementación, es decir, estos circuitos no usan elementos especiales de memoria, pues se sirven de los retardos propios (tiempos de propagación) de las compuertas lógicas usados en ellos. Esta manera de operar puede ocasionar algunos problemas de funcionamiento, ya que estos retardos naturales no están bajo el control del diseñador y además no son idénticos en cada compuerta lógica.
Los circuitos secuenciales síncronos, sólo permiten un cambio de estado en los intantes marcados por una señal de sincronismo de tipo oscilatorio denominada reloj. Con ésto se pueden evitar los problemas que tienen los circuitos asíncronos originados por cambios de estado no uniformes en todo el circuito.
-
Conceptos Fundamentales para el Analisis y Desarrollo de Circuitos Secuenciales

Diagrama de estado clásico
• Tabla de funcionamiento
• Tabla de estado o tabla característica
• Diagrama de tiempo
• Tabla de excitación
• Diagrama de flujo de estado o carta ASM
-
Flip Flops
Un flip-flop es un circuito electrónico (un biestable Multivibrador), que tiene dos estados estables y, por tanto, es capaz de servir como una pequeña parte de memoria.

Un flip-flop es generalmente controlada por uno o dos señales de control y / o una puerta o señal de reloj. La salida incluye a menudo el complemento, así como la salida normal.

Flip Flop JK

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas:
J: El grabado (set en inglés), puesta a 1 ó nivel alto de la salida.
K: El borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. A diferencia del biestable RS, en el caso de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.

Un símbolo para un Flip-Flop JK, donde > es el reloj de entrada, J y K son los insumos de datos, Q es la salida de datos almacenados, y Q 'es el inverso de Q.




Flip Flop D

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuya salida adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En función del modo de activación de dicha entrada de sincronismo, existen dos tipos de biestables D:Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en inglés).Activo por flanco (de subida o de bajada).
La salida Q toma siempre sobre el estado de la entrada D en el momento de un aumento del borde de reloj. Se llama la tapa D-flop por esta razón, desde la salida toma el valor de la categoría D de entrada o de entrada de datos, y los retrasos por contar con un reloj. La tapa D-flop puede interpretarse como una memoria de células primitivas, cero para celebrar, o de línea de retardo.


Contadores
En electrónica digital, un contador (counter en inglés) es un circuito secuencial construido a partir de biestables y puertas lógicas capaz de realizar el cómputo de los impulsos que recibe en la entrada destinada a tal efecto, almacenar datos o actuar como divisor de frecuencia. Habitualmente, el cómputo se realiza en un código binario, que con frecuencia será el binario natural o el BCD natural (contador de décadas).

Circuitos Combinacionales

Circuito Combinatorio

Un circuito combinatorio es un arreglo de compuertas lógicas con un conjunto de entradas y salidas. En cualquier momento, los valores binarios de las salidas son una combinación binarias de las entradas.

Diagrama de un circuito combinatorio



Uso de Circuitos Combinacional

Los circuitos combinatorios se emplean en las computadoras digitales para generar decisiones de control binarias y para proporcionar los componentes digitales requeridos para el procesamiento de datos.

Diseño de un Circuito Combinacional

El diseño de un circuito combinatorio parte del planteamiento verbal del problema y termina con un diagrama lógico. El procedimiento es el siguiente:

1. Se establece el problema
2. Se asignan símbolos a las variables de entrada y salida.
3. Se extrae la tabla de verdad.
4. Se obtienen las funciones booleanas simplificadas.
5. Se traza el diagrama lógico

Decodificadores

Un decodificador es un circuito combinatorio que convierte información binaria de n líneas de entrada a un máximo de 2n líneas únicas de salida o menos. Estos decodificadores son denominados decodificadores n-a-m líneas, donde m £ 2n.

Estos dispositivos normalmente cuentan con una entrada habilitadora. Cuando esta entrada vale 0, todas las salidas del codificador son 0. Cuando la entrada habilitadora vale 1, la salida correspondiente al minitérmino formado por la combinación presente en las n entradas tomará el valor 1 y las demás tomarán el valor 0.

La principal utilización de este dispositivo es cuando se tiene N alternativas que se pueden seleccionar, pero se desea seleccionar solamente una de ella. También puede ser usado para construir funciones lógicas.

Multiplexores

Un multiplexor digital es un circuito con 2n líneas de entrada de datos y una línea de salida; también debe tener una manera de determinar la línea de entrada de datos específica que se va a seleccionar en cualquier momento. Esto se efectúa con otras n líneas de entrada, denominadas entradas de selección, cuya función es elegir una de las 2n entradas de datos para la conexión con la salida.

Códigos


Códigos Binarios
  • Códigos decimales
  • Código Gray
  • Códigos alfanuméricos
  • Cubos n y distancia
  • Códigos de despliegue
  • Códigos para detectar y corregir errores
  • Códigos Hamming
  • Códigos CRC

Código BCD


El código más empleado es el BCD, que representa a los dígitos decimales por secuencias de bits en sistema binario. BCD es la abreviatura de Binary Coded Decimal es decir, decimal codificado en binario.

Una secuencia de 4 bits es una palabra del código. Nótese que a cada dígito decimal se le asocia una secuencia de 4 bits.

La posición de más a la izquierda, o más significativa, tiene peso 8. El bit menos significativo, el de más a la derecha, tiene ponderación 1. Las ponderaciones son potencias de 2.

Codigo Gray

El código Gray es otro tipo de código basado en un sistema binario pero de una construcción muy distinta a la de los demás códigos.Su principal característica es que 2 números sucesivos, cualesquiera, solo varían en 1 bit.Esto se consigue mediante un proceso poco riguroso que consiste en:

0 0 0 00 Se escribe en una columna los dígitos 0 y 1
1 1 1 01 Se toma una línea imaginaria en la base de la columna
-- -- --- Se reproduce la columna bajo la línea como si de un espejo
1 11 S
e tratase
0 10 Se rellenan las dos zonas con 0s y con 1s


Por tanto, para un código Gray de n bits se toma el correspondiente Gray de n-1 bits, se le aplica simetría y se rellena su parte superior con 0s y la parte inferior de 1s.Esta codificación no tiene nada que ver con un sistema de cuantificación. En efecto, los términos 000, 101, etc no denotan un valor matemático real (a diferencia de los demás códigos) sino uno de los X valores que puede tomar una variable. Por lo tanto, se trata de hallar, partiendo de una variable que pueda tomar X valores, se toma un n suficiente como para que 2n>a X y ordenar estos estados de la variable conforme a las normas de Gray de cambio entre dos estados sucesivos.

Códigos Alfanuméricos


La mayor parte de los dispositivos periféricos empleados en sistemas de computación para comunicar al hombre con la máquina, permiten representar las letras minúsculas y mayúsculas, dígitos decimales, signos de puntuación y caracteres especiales.

Uno de los más empleados es el código ASCII. Este es un código de 7 bits, más uno de paridad. Permite representar 128 símbolos. Su nombre es una abreviación de "American Standard Code for Information Interchange".

En computadores personales se está empleando 8 bits para representar caracteres, lo cual permite denotar 256 símbolos. Esto ha sido especialmente útil en aplicaciones de procesamiento de textos en diversos idiomas, pues pueden incluirse letras con diferentes tipos de acentos.

Codigos para Detectar Errores

  • Códigos de detección de errores
  • Corrección de errores y códigos de detección de errores múltiples
  • Códigos Hamming
  • Códigos CRC
  • Códigos Bidimensionales

Sistemas Logicos

Sistemas Numéricos


Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar diferentes representaciones para expresar una cantidad.

Algunos de los sistemas numéricos mas usados son los siguientes:

  • Decimal
  • Binario
  • Octal
  • Hexadecimal

Sistema Decimal


En el sistema de numeración decimal se utilizan diez símbolos, del 0 al 9 para representar una determinada cantidad. Los diez símbolos no se limitan a expresar solamente diez cantidades diferentes, ya que se utilizan varios dígitos en las posiciones adecuadas dentro de un número para indicar la magnitud de la cantidad.

  • Base: 10

  • Símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9

Sistema Binario

El sistema de numeración binario es simplemente otra forma de representar magnitudes. El sistema binario es menos complicado que el sistema decimal ya que sólo tiene dos dígitos. Al principio puede parecer más complicado por no ser familiar. El sistema decimal con sus diez dígitos es un sistema en base 10, el sistema binario con sus dos dígitos es un sistema en base dos. Los dos dígitos binarios son 0 y 1.

La posición de un 1 o un 0 en un número binario indica su peso dentro del número, así como la posición de un dígito decimal determina el valor de ese dígito. Los pesos de un número binario están basados en las potencias de dos.

  • Base: 2

  • Símbolos: 0, 1

Sistema Octal


Este sistema tiene una base de ocho símbolos. La facilidad que existe en convertir entre el sistema binario y el octal, permite expresar los números binarios en un formato más compacto, ya que cada dígito octal equivale a 3 dígitos binarios.

  • Base: 8

  • Símbolos: 0,1,2,3,4,5,6,7

Sistema Hexadecimal


Al igual que el sistema octal este sistema da una forma mas compacta para representar los números binarios. Consta de 16 símbolos. Para indicar que el número se expresa en hexadecimal se suele colocar una H al final, por ejemplo 34AF16 puede indicarse como 34AFH.

  • Base: 16

  • Símbolos: 0…9, A, B, C, D, E, F


Números binarios, decimales,
octales y hexadecimales


Aritmetica Binaria

La aritmética binaria es básica en las computadoras digitales. Las operaciones aritméticas que vamos a ver son las mismas que para el sistema decimal:

  • Suma

  • Resta

  • Multiplicación

  • División

Suma Binaria


La suma o adición es la operación aritmética de mayor importancia en los sistemas digitales. Como se vera mas adelante las operaciones de resta, multiplicación y división se realizan utilizando únicamente la suma como operación básica.
La tabla de adición siguiente nos muestra las 4 reglas básicas para sumar dígitos binarios :


0 + 0 = 0 Suma = 0 Acarreo = 0
0 + 1 = 1 Suma = 1 Acarreo = 0
1 + 0 = 1 Suma = 1 Acarreo = 0
1 + 1 = 0 Suma = 0 Acarreo = 1

Resta Binaria

La siguiente tabla nos muestra las 4 reglas básicas para restar dígitos binarios:

0 - 0 = 0
1 - 1 = 0
1 - 0 = 1
0 - 1 = 1 0 – 1 con acarreo negativo (préstamo) de 1


Cuando se restan números, algunas veces se genera un acarreo negativo que pasa a la siguiente columna de la izquierda. En binario esto sucede cuando se intenta restar 1 de 0. En este caso se pide prestado un 1 de la siguiente columna de la izquierda, y en la columna que se está restando se genera un 10. Veamos esto con un ejemplo:

  • Supongamos que queremos realizar la resta5 – 3 = 2 en binario. Esto es 101 – 011

Resumen


Para realizar la adición de dos números se suman los dos números os representados en complemento a 2 en un sumador de n bits ignorando el acarreo del bit mas significativo. La suma será el valor algebraico correcto en la representación complemento a 2 siempre que la respuesta esté en el rango – (2n– 1) hasta + (2n– 1 – 1).


La sustracción es un caso especial de la suma. Por ejemplo, restar + 6 (el sustraendo) de + 15 (minuendo) es equivalente a sumar – 6 a + 15. Básicamente la operación de sustracción cambia el signo del sustraendo y le suma el minuendo. El signo de un numero binario positivo o negativo se cambia calculándole su complemento a 2.


Para realizar la sustracción de dos números se obtiene el complemento a dos del sustraendo y se suman los dos números representados en complemento a 2 en un sumador de n bits ignorando el acarreo del bit más significativo. Nuevamente el resultado será el valor algebraico correcto en la representación complemento a 2 siempre que la respuesta esté en el rango – (2n–1) hasta + (2n–1 – 1).