domingo, 8 de junio de 2014

Organización interna de un computador

ESTRUCTURA INTERNA

Unidad de Procesamiento.

La unidad de procesamiento central ( CPU ) de una computadora digital es el elemento funcional principal del sistema de computación. Consta de dos subunidades funcionales: la unidad de Control (CU) y la unidad aritmética lógica ( ALU ). La unidad de control interpreta instrucciones, hace que las otras unidades de la computadora realicen las funciones que se requieran para ejecutar las instrucciones.


Unidad de ControlLa unidad de control se encarga de la operación de la computadora. Captura y Decodifica las instrucciones, genera las señales de sincronización y establece las series de eventos que ocurren durante la operación de la computadora. Contiene varios registros que almacenan la información que la computadora requiere durante su operación, y controla la transferencia de información entre esos registros y otras unidades de la computadora.


Conjunto de Instrucciones
El conjunto de instrucciones se divide en grupos con base en el modo de direccionamiento que se utilice. La similitud de las instrucciones de un mismo grupo hace posible utilizar una descripción común para todo el grupo. Los siguientes tipos de instrucciones representan los más difundidos en las computadoras actuales.
Instrucciones con indicación de registros. En ellas el o los operandos están todos ubicados en registros del CPU.
Las instrucciones de esta categoría realizan operaciones aritméticas y lógicas, así como operaciones de ramificación incondicional con datos contenidos en registros, y manejan operaciones relacionadas con las interrupciones.
Instrucciones de Referencia a la memoria. En ellas uno o ambos operandos están en la memoria. Si existe un solo operando en la memoria, por lo general hay un segundo operando en el registro. Este tipo de instrucción suele denominarse instrucción de longitud de palabra fija.
Instrucciones de entrada y salida ( I/O) Provocan la transferencia de datos entre un dispositivo de entrada o salida y un registro del CPU (por lo general el acumulador ) o la memoria. Entre las unidades comunes de datos transferidos en una operación individual de I/O se cuentan el bit; el byte, que tiene ocho bits; y la palabra, que tiene cuatro bytes.

Unidad Aritmética y Lógica (ALU)La Unidad Aritmética Lógica desempeña las funciones aritméticas y lógicas del CPU. Entre las funciones aritméticas generalmente se cuentan la suma y resta de números Binarios y números decimales codificados en binario (BCD). En algunas microcomputadoras y en todas las macrocomputadoras, la ALU también realiza la multiplicación y división de números binarios y BCD

Algoritmos Aritméticos (ALU) Se dijo anteriormente que la ALU se implementa la suma y resta binarias, ciertas operaciones booleanas y desplazamientos. Otras operaciones aritméticas, operaciones con BCD y aritmética de punto flotante, así como la multiplicación y división de punto fijo, se deben programar o ejecutar mediante hardware extra.

Memoria RAM o memoria principal: Es un chip en el que el procesador almacena de manera temporal los datos e instrucciones con los que trabaja. El computador para poder funcional necesita colocar su sistema operativo, los programas y datos con los que va a trabajar, en un lugar donde los pueda encontrar de manera inmediata y fácil (para no tener que ir continuamente a buscarlos al disco duro donde se encuentran almacenados; esto sería 100 veces más lento). Así que los ubica en un espacio de almacenamiento temporal, la memoria RAM es de acceso aleatorio.
A la RAM se le conoce como memoria de lectura / escritura, para diferenciarla de la ROM.
Es decir que en la RAM, la CPU puede escribir y leer.
Por esto, la mayoría de los programas destinan parte de la RAM como espacio temporal para guardar datos, lo que permite rescribir.
Como no retiene su contenido, al apagar la computadora es importante guardar la información.
La cantidad de memoria RAM influye bastante en la velocidad de la PC. Entre más memoria RAM tenga, más rápido trabaja y más programas puede tener abiertos al mismo tiempo.

Memoria ROM: Es la que contiene las instrucciones fundamentales para hacer funcionar la computadora, nunca cambia y retiene su información, así la computadora reciba o no corriente.
Es una memoria solo para lectura. Contiene programas esenciales del sistema que ni la computadora ni el usuario pueden borrar, como los que le permiten iniciar el funcionamiento cada vez que se enciende la computadora.
Memoria Caché: Es una unidad pequeña de memoria ultrarrápida en la que se almacena información a la que se ha accedido recientemente o a la que se accede con frecuencia, lo que evita que el microprocesador tenga que recuperar esta información de circuitos de memoria más lentos.

El caché suele estar ubicado en la tarjeta madre (Motherboard), pero a veces está integrado en el módulo del procesador.
Su capacidad de almacenamiento de datos se mide en kilobytes (KB). Mientras más caché tenga la computadora es mejor, porque tendrá más instrucciones y datos disponibles en una memoria más veloz.

Memoria externa: También se la conoce como memoria auxiliar, ésta es la encargada de brindar seguridad a la información almacenada, por cuanto guarda los datos de manera permanente e independiente de que el computador esté en funcionamiento, a diferencia de la memoria interna que solo mantiene la información mientras el equipo esté encendido. Los dispositivos de almacenamiento son discos y cintas principalmente, los discos pueden ser flexibles, duros u ópticos.

QUE ES Y COMO TRABAJA EL BUS DE DATOS. En informática, un bus es un conjunto cableado que sirve para que los dispositivos hardware puedan comunicarse entre sí. Son rutas compartidas por todos los dispositivos y les permiten transmitir información de unos a otros, son, en definitiva, las autopistas de la información interna, las que permiten las transferencias de toda la información manejada por el sistema.

Bus de datos Mueve los datos entre los dispositivos del hardware: de Entrada como el teclado, el escáner, el ratón, etc.; de salida como la Impresora, el Monitor o la tarjeta de Sonido; y de Almacenamiento como el Disco Duro, el Disquete o la Memoria-Flash. Estas transferencias que se dan a través del Bus de Datos son gobernadas por varios dispositivos y métodos, de los cuales el Controlador PCI, "Peripheral Component Interconnect", Interconexión de componentes Periféricos, es uno de los principales. Su trabajo equivale, simplificando mucho el asunto, a una central de semáforos para el tráfico en las calles de una ciudad.

Bus de direcciones 
El Bus de Direcciones, por otra parte, está vinculado al bloque de Control de la CPU para tomar y colocar datos en el Sub-sistema de Memoria durante la ejecución de los procesos de cómputo.
Para el Bus de Direcciones, el "ancho de canal" explica así mismo la cantidad de ubicaciones o Direcciones diferentes que el microprocesador puede alcanzar. Esa cantidad de ubicaciones resulta de elevar el 2 a la 32ª potencia. "2" porque son dos las señales binarias, los bits 1 y 0; y "32ª potencia" porque las 32 pistas del Bus de Direcciones son, en un instante dado, un conjunto de 32 bits.

Bus de control Este bus transporta señales de estado de las operaciones efectuadas por la CPU con las demás unidades. El método utilizado por el ordenador para sincronizar las distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la sincronización y evita las colisiones de operaciones (unidad de control).Estas operaciones se transmiten en un modo bidireccional.

Algoritmo & PSeInt

¿Qué es un algoritmo?

Un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi )
es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.

¿En donde ocupamos un algoritmo?

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.
También podemos ocupar algoritmos en PSeInt.

¿Qué es PSeInt?

PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación. Mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo), le permite centrar su atención en los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos


¿Para qué sirve PSeInt?


PSeInt está pensado para asistir a los estudiantes que se inician en la construcción de programas o algoritmos computacionales. El pseudocódigo se suele utilizar como primer contacto para introducir conceptos básicos como el uso de estructuras de control, expresiones, variables, etc., sin tener que lidiar con las particularidades de la sintaxis de un lenguaje real. Este software pretende facilitarle al principiante la tarea de escribir algoritmos en este pseudolenguaje presentando un conjunto de ayudas y asistencias, y brindarle además algunas herramientas adicionales que le ayuden a encontrar errores y comprender la lógica de los algoritmos.

Ejemplos de PSeInt










Ejercicios de PSeInt



  1. En el siguiente ejemplo se intenta calcular el promedio de 10 números, observa bien el código, copialo a Pseint y luego fíjate si es correcto sino identifica los problemas y resuelvelos:

Proceso Promedio
    //Calcula el promedio de una lista de números
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        Escribir "Ingrese un numero:";
        Leer n;
        
        //Declaro una variable promedio para asignarle el promedio
        promedio<-n1+n2+n3+n4+n5+n6+n7+n8+n9+n10 / 10;
        
        //Muestro el promedio    
        Escribir "El promedio es: ",promedio;
FinProceso

2. En este otro ejemplo se trata de mostrar los primeros 50 numeros pares, haz lo mismo que en el ejemplo anterior, copia el codigo en pseint  y fijate si es correcto.

Proceso NumerosPares
    //Muestra los numeros pares del 0 al 50
    Escribir "Ingrese un numero:";
    Leer x;    
        Repetir
            //la funcion MOD calcula el resto de la division por 2, si es cero entonces es par
            Si x MOD 2 = 0  Entonces
                Escribir "Numero: ",x;            
            FinSi                
        Hasta Que x = 50
        Escribir "Ultimo Numero: ",x;    
        Escribir "Fin de listado";
FinProceso

3. Este algoritmo intenta mostrar los numeros del 1 al 100, hace lo mismo que en los ejemplos anteriores, fijate si es correcto

Proceso Repetir1al100
//Hacer un pseudocodigo que imprima los numeros del 1 al 100
c <- 0
MIENTRAS c < 100 HACER
    ESCRIBIR c;   
FINMIENTRAS
ESCRIBIR "ultimo ciclo: " c;
ESCRIBIR "Fin de repeticion";
FinProceso

4. Este codigo es el mismo que el ejercicio anterior pero utiliza la estructura Repetir - Hasta, ¿Funciona?,
haz lo mismo que en los ejercicios anteriores, busca los errores

Proceso Repetir1al100conRepetir
//Hacer un pseudocodigo que imprima los numeros del 1 al 100
c <- 0

Repetir
    ESCRIBIR c;       
Hasta Que c < 100

ESCRIBIR "ultimo ciclo: " c;
ESCRIBIR "Fin de repeticion";
FinProceso

link de interés 
tutoriales en donde se muestra usar cada uno de los comando de PSeInt

leer y escribir
https://www.youtube.com/watch?v=UAgX4Yo9cYQ&hd=1

asignar
https://www.youtube.com/watch?v=zpXaK0b1seM&hd=1

si entonces
https://www.youtube.com/watch?v=pUqJFG5HmWE&hd=1

segun
https://www.youtube.com/watch?v=nmk84vk6KFA&hd=1

mientras
https://www.youtube.com/watch?v=Sgb4pkOiWh4&hd=1

mientra y si entonce
https://www.youtube.com/watch?v=2hD0tDc3hAg&hd=1

repetir 
https://www.youtube.com/watch?v=S49ueFbCNOU&hd=1

suma de vertores
https://www.youtube.com/watch?v=mORMrLig3BA&hd=1

subprocesos
https://www.youtube.com/watch?v=wLlQYFJcAxk&hd=1

arreglos
https://www.youtube.com/watch?v=w3fUjAhaU5A&hd=1

matriz en pseint
https://www.youtube.com/watch?v=JoeyRNV-teI&hd=1