martes, 24 de septiembre de 2013

BUSES DE LA PC

Buses de la computadora.

conjunto de cables o pistas impresas que permiten el traslado de información:
  • entre computadoras (redes), 
  • entre elementos de la computadora, 
  • en el interior de los circuitos integrados 
  • y en los dispositivos periféricos y otros auxiliares de la computadora.

Mediante los BUSES pueden cargarse datos en la memoria y desde allí transportarse a la CPU. es la autopista de los datos dentro del PC; ya que comunica a los componentes del computador con la  CPU. Los buses se controlan y manejan desde el procesador.
En el bus se encuentran pistas separadas, el bus de datos y el bus de direcciones principalmente, pero existen buses de alimentación, de control, otros. 
La CPU escribe la dirección de la posición deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las líneas carácter binario. Al representar 0 o 1 y forman el numero de la posición dentro de la memoria (la dirección). Cuanto mas líneas haya disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de direcciones original habían ya 20 direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 MB y esto era exactamente lo que correspondía a la CPU.
En un inicio se usaron solo en paralelo, llevaban la información con funciones fijas de cada conductor entre etapas de la computadora, con conexión simple, tenía un puerto de entrada y otro de salida en cada dispositivo.
en la actualidad se ha orientado a buses seriales como el USB y el FIREWIRE, y el CHIPSET  de la tarjeta madre al interior de las computadoras. aprovechando la tecnología actual que puede controlar dispositivos complejos y con mayor poder de computo.





FUNCIÓN.
realiza la conexión lógica entre componentes, entre subsistemas, componentes y dispositivos avanzados periféricos con una computadora.
Esta basada su capacidad de comunicación en el ancho de datos y en la frecuencia máxima de envíos,  estas dos magnitudes son inversamente proporcionales, así que si el ancho de datos es pequeño, se tendrá una alta frecuencia.
las señales digitales que transmiten, son de datos, direcciones y controles. los buses tienen funciones particulares como los DMA, y las interrupciones, todo esto para acceder a la memoria o CPU manejando los recursos mínimos

GENERACIONES DE BUSES
PRIMERA GENERACIÓN
Estaba formada por 2 buses con funciones específicas, uno para la memoria y otro para comunicar los demás dispositivos; manejaba  protocolos y sincronizaciones diferentes.
DEC identificó que no era necesario dos tipos de buses si se usa (mapeo), esto es que se combinaba las direcciones de memoria con las de los periféricos en un solo espacio de memoria. 
las primeras computadoras se basaban en un bus backplane (eje) pasivo para conectar las tarjetas de circuito. La CPU escribía la dirección, del conjunto de direcciones hacia el cual debe fluir a través del bus principal, luego escribía o leía los datos apuntando a la dirección del dispositivo.
Entre las conocidas está la S100 y EL BUS ISA,  eran una extensión del bus del procesador por lo que latía a la misma frecuencia entre 6 y 8 MHz.

SEGUNDA GENERACIÓN
Se creó el concepto de Bus del Sistema (conexión entre el procesador y la RAM) nace el ChipSet. Como se debió jerarquizar los buses al hacerse las computadoras más rápidas y dejar la CPU de controlar los buses.
El bus ISA pasó de bus del sistema a bus de expansión, controlado por un chip aparte del CPU. se ubica un bus a una frecuencia mas alta entre el procesador y la memoria.
Se crea el bus NUBUS, con controlador propio e independiente de la computadora, inicios del PLUG AND PLAY con un ancho de banda de 32 bits y de interfaz estandar  y permitió el uso de varias arquitecturas, se implemento en APPLE y entre estos están el  AGP y el PCI.

TERCERA GENERACIÓN
Conexiones punto a punto, reducen el número de conexiones, sin depender de pulsos de reloj,  los mas notables son el infiniband, el PCI EXPRES y hipertransport; se conecta negociando las características de la conexión, de manera dinámica y reduce en mucho el número de cables orientándose al interface serial.


Clasificación por el número de hilos
BUS PARALELO
Este usa la transmisión al mismo tiempo de un byte,  por varias líneas que tienen funciones fijadas, utilizado de forma masiva en impresoras, buses del procesador, discos duros y tarjetas de expansión.

Ejemplo es el front side bus utilizado en procesadores intel, las funciones en línea dedicadas son:
lineas de dirección.- indica la posición de la memoria o la dirección del dispositivo con el que desea realizar comunicación.
líneas de control.- son las que envían señales de arbitraje entre dispositivos, entre las que tenemos DMA, lineas de  interrupciones e indicadores de estado.
líneas de datos.- transmiten los datos de bits en forma aleatoria, el ancho del bus es potencia de dos.

BUS SERIAL
Transmite bit a bit y reconstruye luego por medio de registros y rutinas de software, usa pocos conductores, fue utilizado para enviar limitada información como el mouse e impresoras simples, pero se retomó hace unos diez años con los USB principalmente.

SERIAL ATA.- SATA proporciona mayores velocidades, mejor aprovechamiento cuando hay varias unidades, mayor longitud del cable de transmisión de datos y capacidad para conectar unidades al instante





viernes, 13 de septiembre de 2013

Von Neumann - Ciclos


Arquitectura de Von Neumann
Estructura e instrucciones para trabajar con lenguaje de bajo nivel en la CPU, con el manejo de memoria en esta arquitectura.
Presentación sobre arquitectura de Von Neumann

Arquitectura de Von Neumann

CICLOS.- procesos de recuperar, decodificar y ejecutar los ciclos en los programas en las computadoras.
Para abrir el archivo sobre ciclos e instrucciones haga clic abajo.
CICLOS E INSTRUCCIONES


1 load
2 stor
3 or
4 and
5 suma
6 resta
7 nor
8 nand
9 inv
10 a ox b
11 prod
12 div
13 abs
14 salto
15 salto si


Arquitectura de Von Neumann

domingo, 25 de agosto de 2013

viernes, 16 de agosto de 2013

martes, 28 de septiembre de 2010

UNIDAD CENTRAL DE PROCESO CPU

Concepto.- Es la unidad fundamental de la computadora, realiza todas las funciones (inteligentes) en la computadora. Se le denomina CPU por las siglas en ingles central processing unit, también se le llama simplemente procesador o microprocesador, Es el dispositivo que interpreta las instrucciones contenidas en los programas o definidas por las entradas y ejecuta el procesamiento de los datos. Es el que caracteriza a la computadora por su programación y ejecución de múltiples tareas.
En las primeras computadoras a las CPU se las diseñaba para trabajar con un ordenador mas grande.

COMPONENTES, Tiene componentes que realizan diversar tareas interiormente son: la Unidad de Control, la Unidad de Proceso, los registros y el bus de entrada y salida.


FUNCIONES DE LA CPU
Programación, ejecución de programas, Almacenamiento primario, comunicación con las unidades de entrada y salida.


EVOLUCIÓN

Empezó con máquinas manejadas con mecanismos simples, luego con reles en conmutación con su defecto de rebote de contacto, ya en la era electrónica con válvulas y diodos con velocidad de  de hasta 4 MHz, luego las transistorizadas mas confiables, las CPU con circuitos integrados de baja densidad SSI (con miles de chips) como el usado  en las naves Apollo luego los de MSI y los LSI, la era del  IBM 360 con la introducción del micro código, hasta el ingreso de los microprocesadores en 1971, 4004 y del 8080 en 1974. Se ha hecho realidad la Ley de Moore ( cada dos años se duplica el número de transistores en un Microprocesador) y como máquinas de programa almacenado o de Von Neumann. Hasta llegar a  los procesadores actuales de alta integración en nanómetros.

UTILIDAD ACTUAL
Se utilizan en las computadoras con tecnologìas superescalares, vectoriales, MIPS, CELL pero existen varios dispositivos y aparatos que también la utilizan en muchos campos de la industria, hogar, oficina y personal. la miniaturización como la masificación y la estandarización han provocado las múltiples aplicaciones a la vida moderna en automotores, televisores, refrigeradoras, hornos, aviones, telefonía móvil, juguetes entre otras.

ELEMENTOS PARA EL TRABAJO DEL CPU


Frecuencia de Reloj.- Es la que determina la mayoría de acciones que realiza un computador en forma síncrona, tiene la forma de una onda cuadrada periódica, esta diseñada acorde con las características físicas, y requeridas de la CPU. el diseño del período se basa en cubrir el tiempo de movimiento de la señal, en moverse, propagarse y el retardo efectuado.



REGISTROS
Los registros del procesador son sitios de almacenamiento rápido y temporal, se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. Los registros son direccionables por medio de una viñeta, que es una dirección de memoria. Los bits, por conveniencia, se numeran de derecha a izquierda (15,14,13…. 3,2,1,0),
La CPU incluye registros visibles para el usuario y registros de control y estado.
Registros Visibles
Instrucciones de la máquina.
que pueden ser de:
1. uso general
2. Datos
3. Direcciones
4. Códigos de condición.
Registros de Propósito General
Optimo número entre 8 y 32. Si hay muchos registros entonces se necesitan demasiados accesos a memoria. Muchos registros no reducen significativamente las referencias a memoria pero hacen la CPU mas compleja.
Tamaño de los registros
Deben tener el tamaño suficiente para que puedan manejar las direcciones a memoria.
Capaces de manejar una palabra completa y a veces combinar dos registros para formar uno solo.
 los registros están divididos en seis grupos los cuales tienen un fin especifico y son:

Registros de segmento
Registros de apuntadores de instrucciones
Registros apuntadores
Registros de propósitos generales
Registro índice
Registro de bandera.

Tareas de la CPU:

 Captar (datos o instrucciones): la ejecución de una instrucción puede exigir leer datos o una instrucción de la memoria o de un módulo I/O. Operand Fetch (OF)
Interpretar instrucción: la instrucción se decodifica para determinar qué acción realizará.  (define lo que realizará y se divide en partes para ejecutarse) Instrucción decode (ID)
Procesar datos: en la ejecución se puede exigir llevar a cabo operación(es) aritmética o lógica con los datos. Operation execution (OE)
Escribir datos: los resultados de la ejecución pueden exigir escribir datos en la memoria o en un módulo I/O. Operand Store(OS)

El contador del programa es incrementado acorde con la longitud de la palabra en términos de unidades de memoria.
Unidad de proceso

La unidad de proceso o unidad de procesamiento (UP) es uno de los tres bloques funcionales principales en los que se divide una Unidad Central de Procesamiento (CPU) en algunos casos dependiente de la unidad de control. Los otros dos bloques son la Unidad de control y el bus de entrada/salida.

La función de la unidad de proceso es ejecutar las tareas que le encomienda la unidad de control. Para esto, la unidad de proceso emplea a las unidades:
Unidad aritmético-lógica (UAL o ALU, por las siglas en inglés de Arithmetic Logic Unit): para llevar a cabo operaciones aritméticas básicas (suma, resta, etc.) y funciones lógicas (NOT, AND, OR, EXOR, etc.).
Unidad de coma flotante: para realizar operaciones matemáticas complejas que no pueden ser realizadas mediante la ALU.
El registro acumulador: que guarda los operandos y los resultados de las operaciones.
El registro de estado: que guarda determinados indicadores acerca del resultado de las operaciones realizadas.
Fuentes: Wikipedia, Fraba,galeon.com, Virtual.unal.edu.co

Bus

UNIDAD DE CONTROL DE LA CPU

OBJETIVO.- Interiorizar los conceptos, elementos y funcionamiento de la unidad de control como elemento principal de la UCP.

CONCEPTO, Es el bloque principal en el que se divide la unidad Central de procesamiento. realiza la toma las decisiones, es el cerebro que controla y coordina el funcionamiento de la computadora; luego de la interpretación de las instrucciones que integran el programa, la unidad genera el conjunto de instrucciones básicas que se deben realizar en forma secuencial para cumplir las operaciones requeridas.
UBICACIÓN.- la unidad de control se ubica dentro de la CPU y se conecta con la unidad de Proceso, con los registros, los buses que la comunican con elementos externos a la CPU.
COMPONENTES.- Sus componentes son el secuenciador, el control de memoria y la unidad de registros y decodificadores; Y el contador del programa

REGISTROS DE LA UNIDAD DE CONTROL
Se usan para controlar el funcionamiento de la CPU:
IR  instruction register REGISTRO DE INSTRUCCIÓN,  contiene la instrucción a realizarse por la unidad de control, mediante este registro controla la secuencia de pasos para decodificar y ejecutar las instrucciones sean en software o hardware.
PC  program counter REGISTRO CONTADOR DE PROGRAMAS.- que es el que contiene la dirección de una posición de memoria de la siguiente instrucción a ejecutar.
MAR REGISTRO DE DIRECCIÓN DE MEMORIA.- indica la dirección en memoria de la palabra que va a ser escrita.
IBR REGISTRO DE BUFFER DE INSTRUCCIÓN .- registro de almacenamiento temporal de la instrucción contenida en la parte derecha de una palabra de memoria.

FUNCIONES DE LA U. DE CONTROL
SINCRONIZACIÓN.- es el elemento que sincronica las acciones que realizan cada una de las unidades funcionales del computador entre estas están:
INTERPRETACIÓN DE INSTRUCCIONES.- Decodificar  los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos.
SECUENCIAMIENTO DE OPERACIONES.- se encarga de la temporización de las distintas operaciones necesarias de la ejecución de una instrucción.
Control de secuenciamiento, de las instrucciones de acuerdo al ciclo del registro contador del programa.
EJECUTAR CÓDIGO.- ejecutará un único código que existe para cada instrucción.
ACEPTAR Y GENERAR SEÑALES.- Acepta las instrucciones y genera las señales de control necesarias para que la instrucción se ejecute. (acepta el codop y ejecuta una sola señal)
EJECUCIÓN DE MICROINSTRUCCIONES.- en un procesador X86 de núcleo RISC, debe ejecutar e ejecutar las microinstrucciones con las unidades debidas, en completa coordinación.


CLASIFICACIÓN
1.- Las cableadas, usadas en computadoras por lógica secuencial y arquitectura fija, los componentes principales son por tanto, un circuito secuencial, el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de las señales de control.
2.- las microprogramadas.- usadas en maquinas informáticas por la sencillez de su estructura, se orienta a arquitecturas RISC; la micro programación de la unidad de control se almacena en la micromemoria, a la cual se accede de manera secuencial (1, ,2, ,3, 4, .. n-2, n-1 - n) que serán ejecutadas acorde con las microinstrucciones.
ACCIONES DE LA UNIDAD DE CONTROL MICROPROGRAMADA
Es un nivel intermedio para controlar la ejecución de instrucciones de programas de computadora, tiene un algoritmo en esta unidad que se lo especifica por un diagrama de flujo, la ventaja es la simpleza de su estructura, las salidas de la unidad de control están organizadas en microinstrucciones y que pueden ser reemplazadas fácilmente.

OPERACIÓN DE LA UNIDAD DE CONTROL
La acción básica de esta unidad está en controlar la actividad del resto del equipo informático, se la llama por tanto MÁQUINA DE ESTADO FINITO, lo conforman los circuitos que controlan la circulación de datos a través del procesador, es decir coordina las acciones tanto del procesador como de toda la pc. Existen diseños de unidades de control de diversa complejidad y aplicación.


TAREAS DE LA UNIDAD DE CONTROL
Parte de buscar las instrucciones en la memoria principal, a continuación realiza el proceso asignado a altas velocidades y muchísimas veces en un segundo, son de dos tipos:
BÁSICA
LEER fetch
INTERPRETAR.-  decodificar las instrucciones
EJECUTAR.- proceso de esta instrucción
ALMACENAR.- dispone la ubicación de los resultados obtenidos. Y leer la siguiente casilla de memora con la siguiente instrucción.
EXPANDIDA

  1. Captar instrucción: la CPU lee una instrucción de la memoria.
  1. Interpretar instrucción: la instrucción se decodifica para determinar qué acción es necesaria.
  1. Captar datos: la ejecución de una instrucción puede exigir leer datos de la memoria o de un módulo I/O.
  1. Procesar datos: en la ejecución se puede exigir llevar a cabo alguna operación aritmética o lógica con los datos.
  1. Escribir datos: los resultados de la ejecución pueden exigir escribir datos en la memoria o en un módulo I/O.
6.- INCREMENTO, Se realiza el incremento automático del contador de instrucciones para ejecutar.

CONSIDERACIONES DE TRABAJO, la Unidad de control trabaja sobre las instrucciones que se encuentran almacenadas en la memoria Ram de la computadora, esta hace que se lean los datos desde los dispositivos de entrada y se almacenen en la memoria, sean llevados a la unidad ALU, cuando son necesarios para operaciones y cálculo, se almacene, recupere datos y valores intermedios en la memoria Ram y al final se presenten los datos en los dispositivos de salida.




BIBLIOGRAFIA
http://www.carlospes.com/minidiccionario/unidad_de_control.php
Wikipedia
http://girlsiva.metroblog.com/unidad_de_control_cableada_y_microprogramada


UNIDAD ARITMETICA LÓGICA

OBJETIVO DE CLASE.- Identificar los elementos, características y función de la unidad aritmética lógica.

La unidad Aritmético Lógica, es parte de la CPU, se la conoce como ALU por sus siglas en inglés de (arithmetic logic unit) en su interior tiene los circuitos digitales que realizan las operaciones aritméticas y lógicas, entre dos operandos, sobre esta muchas operaciones; realiza la resta, la multiplicación a través de sumas múltiples o con complementos, esto se realiza cargando los operando en el ACUMULADOR AC que recibe mediante el bus de datos.
 Es necesario que se deba determinar en su interior las condiciones en las que son procesados los operandos, como si es negativo o positivo, si se ha desbordado la capacidad, con esta información se determinará cual será la decisión a tomar.

A, B operandos de entrada,                                    R salida             
     F.- es la entrada de la unidad de control             D es el estado de la salida
Las ALUs existen en todo circuito electrónico moderno, desde realizar incrementos de 1 al tiempo actual, en contadores de circuitos sencillos e incrementadores en calculadoras básicas, hasta las sofisticadas en los procesadores Phenom AMD II y Core i7 de Intel; en procesadores gráficos, tarjetas de sonido, lectores ópticos (CD) y televisores de alta definición en donde se ubican ALUs muy potentes. Los mainframes con muchos núcleos y estos con múltiples unidades de ejecución  y cada una de ellas con su ALU.
"Von Neumann (1945) explicó que una ALU es un requisito fundamental para una computadora, porque  tendrá que efectuar operaciones matemáticas básicas, .. ..porque lo que creyó razonable, que una computadora tenga los circuitos especializados para realizar estas operaciones".


TERMINALES DE LA ALU
las Terminales de la ALU son
Entrada, los dos operandos con los datos o con números a ser procesados y la entrada de un código desde la unidad de Control con la información de que operación debe realizar,
Salida, la respuesta a computo de la operación y el notificador de la operación realizada.
Registros de estado, entradas y salidas con información de acarreo, overflow, división por cero y otras mas.
BUSES UTILIZADOS
EL DATA BUS.-(de entrada)lleva la información a la unidad aritmética para su procesamiento.
EL STATUS BUS.-(de salida) los resultados e información procesada en la ALU son transportados a la unidad de Control.
REGISTRO DE ESTADO.- la palabra binaria con los datos de trabajo de la ALU.


OPERACIONES EN LA ALU
SIMPLES
ARITMÉTICAS operaciones que se realiza desde la más básica y que se incrementan de acuerdo al diseño y complejidad de esta unidad y pueden ser desde:
SUMA , RESTA, MULTIPLICACIÓN, DIVISIÓN
DESPLAZAMIENTO.- al mover palabras a izquierda o derecha; como las ejecutadas en operaciones con BITS por o para 2 (producto y división) y sus múltiplos. con circuitos biestables D y JK.
LÓGICAS.- mediante bits para determinar la situación de las condiciones y estás se realizan con las compuertas AND OR NOT, NAND, NOR, YES XOR XNOR y otras. estas son; INVERSIÓN, CONJUNCIÓN, DISYUNCIÓN.
COMPARACIONES.- Para que pueda tomar decisiones entre 2 o mas opciones o saltos condicionados.

COMPLEJAS
Al realizarse estas sube el costo del procesador, consume mas energía y su diseño será más sofisticado y complejo.
CLASIFICACIÓN DE LAS ALUS POR SU COMPLEJIDAD
AVANZADAS.- de arquitectura muy compleja, tiene en su interior circuitos que realizan muchas operaciones, por tanto es muy rápida y costosa.
SEMIAVANZADAS.- tiene una arquitectura con circuitos de varias operaciones pero ya utiliza microcódigo para realizar en apoyo a las operaciones tiene velocidad menores a las avanzadas.
BASICAS .- Estas tienen un equilibrio en software y hardware, contienen circuitos que realizan  operaciones en coma flotante, utilizan microcódigos y software para complementar las tareas.
ELEMENTALES.- Emulan la existencia del coprocesador, verifica la existencia o no de circuitos de cálculo o coprocesador matemático, proceso denominado emulación por software. Contiene los circuitos más simples pero es lenta en sus procesos.
SIMULADORES.- al no tener hardware y emulador, se tiene que realizar programas que con algoritmos realicen todas las operaciones desde las sumas pasando por raices hasta las mas avanzadas y se tiene para esto bibliotecas de software. Son muy lentas por toda la simulación que debe realizar.



DATOS PROCESADOS
la ALU trabaja con números binarios, y para las restas el más efectivo es el complemento a dos por su simpleza; con el formato signo magnitud, y para números muy grandes se lo realiza con coma flotante que contiene mantisa, base y exponente.
COMPONENTES.- la alu contiene en su interior los circuitos que permiten realizar las operaciones y son: Circuito operacional, registros de entradas, registro de estados y buses de conexión interna y externa.
REGISTROS DE LA ALU
AC Accumulator Se emplean para almacenar operandos y resultados de operaciones de la ALU temporalmente
MQ: Multiplier Quotient .-Se emplean para almacenar operandos y resultados de operaciones de la ALU que no soporta el AC en forma temporal. Por ejemplo, el resultado de multiplicar dos números de 40 bits es un número de 80 bits; los 40 bits más significativos se almacenan en AC y los menos significativos se almacenan en MQ.
MBR Memory Buffer Register.- Contiene una palabra que debe ser almacenada en la memoria, o es usado para recibir una palabra procedente de la memoria. Interacciona con toda la computadora.

HARDWARE
ESTRUCTURA DE LA UNIDAD ARITMÉTICO LÓGICA

 SUMADOR DE 16 BITS CONSTRUIDO CON 4 SUMADORES DE 4 BITS
MULTIPLICADOR DE DOS NÚMEROS 
MULTIPLICADOR BINARIO DE DOS NÚMEROS SIN SIGNO
 CIRCUITO DEL MULTIPLICADOR

UNIDAD EN COMA FLOTANTE FPU .- tiene varios circuitos complejos, incluyendo  ALUs internas, trabaja con coma flotante y con números complejos. Esta denominación la realizan generalmente ingenieros.

Bibliografía
http://www.slideshare.net/mariafabiolagarcia/unidad-de-control-8718241
wikipedia