Sunteți pe pagina 1din 9

14 y 16 de marzo 2011

Introduccin a la Computacin Departamento de Matemticas. Universidad de La Serena Profesora: Margarita Garca Astete El Computador como Mquina de Propsito General1
El concepto de computador est intrnsecamente relacionado con la programacin. La tecnologa moderna nos ha provisto de una gran cantidad de dispositivos electrnicos que incluyen capacidades de procesamiento y que, por lo tanto, podran catalogarse como computadores. Basta con notar los microprocesadores que controlan el funcionamiento de los automviles, el alto grado de sofisticacin que estn alcanzando los telfonos celulares, los modernos electrodomsticos como lavadoras, refrigeradores, televisores, etc. que cuentan con lgica computacional para completar su funcin. Sin embargo, para nuestros efectos, estos aparatos no son considerados computadores por una razn muy sencilla: Su propsito. Todos ellos tienen un propsito bien definido: El microprocesador que controla los frenos del auto no puede hacer otras funciones, los circuitos lgicos de una lavadora automtica no nos sirven para ningn otro fin, y as sucesivamente. Todos estos mecanismos electrnicos tienen un propsito especfico, para el cual fueron construidos, y no pueden cumplir otras funciones. Un computador es algo ms, es una mquina universal, es una mquina de propsito general. Con un computador podemos resolver muchos tipos de problemas, es decir, podemos darle muchos usos, dependiendo de los programas con los que contemos. Sin embargo esta generalidad lleva consigo una mayor complejidad al momento de utilizar un computador. Puesto que el computador puede servir para diversos fines, debe haber una forma de especializarlo en un momento determinado, para cumplir un objetivo particular. Para lograr esto debemos programarlo. Mediante un programa es posible darle una secuencia de rdenes al computador, para que haga algo por nosotros. Al ejecutar un programa, el computador aprovecha su generalidad para resolver un problema especfico. Antes de empezar el estudio de la programacin, es necesario hacer un estudio detallado de los dos componentes principales de todo computador: El hardware el computador en s y el software que comprende los programas. En primera instancia, vamos a estudiar la programacin a un nivel muy bajo, como se programaban los primeros computadores.

Arquitectura de Von Neumann


La mayora de los computadores modernos siguen el modelo establecido por el matemtico hngaro John Von Neumann en 1940. Segn Von Neumann, la clave para construir una mquina de propsito general es poder almacenar no slo los datos y los resultados intermedios de una computacin, sino tambin las instrucciones que definen el procedimiento de computacin. En una mquina de propsito especfico, el procedimiento puede ser parte de la mquina. Sin embargo, en una mquina de propsito general, cambiar las instrucciones tiene que ser tan fcil como cambiar los datos sobre los que actan. La solucin es codificar las instrucciones de forma

Referencia: profesor Federico Meza. Universidad de Talca.

numrica y guardarlas junto con los datos en la misma memoria. Este es el concepto de programa almacenado. Los primeros computadores no se diferenciaban mucho de las mquinas de propsito especfico que hay hoy en da, en el sentido que slo pueden resolver un tipo particular de problema. El aporte de Von Neumann fue precisamente hacer ver la necesidad de separar el programa de la mquina misma, para as poder reconfigurar el computador segn fuese necesario. El modelo de Von Neumann define tres aspectos sobre el diseo y funcionamiento de un computador:

El computador est formado por cuatro subsistemas principales, unidos por un bus que permite la comunicacin entre ellos (Fig. 1): Memoria Unidad Aritmtico-Lgica, conocida como ALU Unidad de Control Entrada y Salida, o simplemente E/S

Los programas se almacenan en la memoria durante su ejecucin de ah el nombre de programa almacenado. Las instrucciones de un programa se ejecutan en forma secuencial.

La Unidad Aritmtico-Lgica y la Unidad de Control forman la Unidad de Procesamiento Central, tambin conocida como procesador o CPU.

Subsistema de Memoria La memoria es el medio de almacenamiento temporal para los datos y los programas que se estn ejecutando en el computador. Tambin se conoce como RAM, por las siglas de Random Access Memory, que quiere decir memoria de acceso aleatorio. Los programas y sus datos se guardan en un dispositivo de almacenamiento secundariocomo los discoshasta el momento de la ejecucin. Entonces son cargados a la memoria donde deben residir durante la ejecucin del programa. Se dice que la memoria es un dispositivo de almacenamiento temporal, en el sentido que los datos permanecen ah slo mientras el computador est funcionando. Cuando se apaga el computador, el contenido de la memoria se pierde. La memoria es unidimensional, y est dividida en celdas, tambin llamadas posiciones de memoria o palabras. Existen dos operaciones bsicas que se aplican a la memoria: guardar, para colocar un dato en una celda, y recuperar, para leer el valor almacenado en una celda. Precisamente, es posible efectuar cualquiera de estas operaciones sobre cualquier celda de memoria, en forma directa y sin retardos, independientemente del tamao de la memoria. Por esta razn es que se dice que la memoria es de acceso aleatorio. Cada celda tiene una direccin nica que la identifica y permite su uso, es decir, guardar y recuperar cosas en ella. El proceso de seleccionar una celda de memoria utilizando su direccin es conocido como direccionamiento. Se dice que la palabra es la mnima unidad direccionable en la memoria, es decir, es el tamao de las celdas en las que se divide la memoria, cada una de las cuales tiene una direccin nica asociada. Los primeros computadores utilizaban tamaos de palabra muy chicos, incluso menores a 8 bits. Con la aparicin de los microprocesadores, los tamaos aumentaron a 16, 32, y ms recientemente 64 bits. Lo nico que puede almacenarse en la memoria son nmeros, representados en el sistema binario, es decir, como ceros y unos. Cualquier otro tipo de dato que se quiera almacenar en la memoria debe ser codificado antes de su almacenamiento. Actualmente es posible almacenar todo tipo de informacin, incluyendo nmeros enteros, nmeros reales, textos compuestos de letras y otros smbolos, figuras, imgenes, animaciones, audio video. Todos estos datos deben codificarse siguiendo algn cdigo en particular, para que se conviertan a secuencias de ceros y unos que puedan ser tratados por el computador. Por ejemplo, una letra del alfabeto se puede codificar utilizando el cdigo estndar ASCII de 8 bits. En este caso, la letra A se representa como la secuencia de bits: 01000001, mientras que la letra Z lo hace como: 01011010. Unidad Aritmtico-Lgica Lleva a cabo todas las operaciones y comparaciones que son necesarias para ejecutar un programa. Por ejemplo, todas las operaciones aritmticascomo sumas y multiplicaciones, adems de todas las operaciones lgicas como las comparaciones, se llevan a cabo en la ALU. La ALU contiene adems un grupo de registros, utilizados para almacenar operandos y resultados, as como otra informacin de utilidad para la ejecucin de los programas. El tamao de los registros est determinado por el tamao de palabra del computador, es decir, por el tamao de las celdas de la memoria. En otras palabras, cada registro puede almacenar un dato del tamao de una celda de memoria. El acceso a los registros para efectuar operaciones es mucho ms rpido que a la memoria, dado que no involucra transmisin de datos a travs del bus. Unidad de Control Es la encargada de la ejecucin de los programas. Su trabajo consiste en obtener la siguiente instruccin del programa, decodificarla para saber lo que se debe hacer, y finalmente indicar la accin apropiada a la ALU, a la memoria, al bus, o a los controladores de E/S, de modo que la instruccin se complete con xito. Este proceso se repite constantemente mientras queden instrucciones que ejecutar en el programa. A este procedimiento se le conoce como ciclo de fetching.

La Unidad de Control utiliza para su operacin algunos registros de propsito especfico, y que juegan un papel fundamental en el funcionamiento del computador. Este es el caso del Program Counter, Contador de Programa, o simplemente PC. El PC contiene la direccin en la memoria en que se encuentra la siguiente instruccin que debe ejecutar el computador. Cuando un programa se carga a la memoria para su ejecucin, en el PC se guarda la direccin de la primera instruccin del programa. Durante el ciclo de fetching, la unidad de control copia desde la memoria la siguiente instruccin que sera ejecutada, y la almacena en un registro de propsito especial, llamado IR Instruction Register, o Registro de Instruccin. As, el ciclo de fetching sigue la secuencia de pasos descritos en la Fig. 2. En el primer paso, la siguiente instruccin a ejecutar se encuentra en la memoria, en la direccin indicada en el PC, y desde ah es copiada al registro IR. A continuacin se incrementa el valor del PC, para que ahora apunte a la siguiente instruccin y de esa forma se garantice la ejecucin secuencial del programa. Entonces, la unidad de control decodifica la instruccin almacenada en el IR y determina los pasos a seguir para su ejecucin. Finalmente, la instruccin es ejecutada, cuando la unidad de control enva las seales apropiadas a la ALU, el bus, la memoria y el subsistema de entrada y salida. El ciclo vuelve al primer paso, y recupera la siguiente instruccin. El ciclo de fetching permite la integracin del software con el hardware del computador. En otras palabras, permite que el computador ejecute los programas. Las posibles instrucciones contenidas en un programa estn definidas por el conjunto de instrucciones que la unidad de control puede decodificar, es decir, las que el procesador es capaz de ejecutar. Otro registro de la unidad de control contiene un conjunto de banderas o flags. Estos flags son bits que sealan ciertas situaciones de inters, como por ejemplo, el resultado de la ltima operacin lgica que llev a cabo la ALU o errores que se puede producir durante la ejecucin de un programa. Subsistema de Entrada y Salida (E/S) Permite que el computador interacte con los dispositivos de entrada y salida teclado, mouse, pantalla, impresora, modem, red, etc. que llevan a cabo la comunicacin con el entorno y por lo tanto con los usuarios del computador. Adems, es responsable de los dispositivos de almacenamiento permanente como los discos duros y de los datos que ah se guardan. El Bus Los tres subsistemas que componen el computador estn enlazados mediante un bus que permite la comunicacin entre ellos. El bus est compuesto por mltiples lneas que permiten la transmisin simultnea de una determinada cantidad de bits. Se encuentra divido en partes, cada una de las cuales transmite informacin de un tipo particular. Esta caracterstica permite que haya distintas transferencias simultneas. Por una parte, el bus de control transmite las seales de control que enva la unidad de control a los distintos componentes. El bus de datos se encarga de la transferencia de datos entre el

procesador, la memoria y el subsistema de entrada y salida. Finalmente, el bus de direcciones transmite las direcciones de memoria que la unidad de control enva a la memoria para efectuar operaciones. Componentes de un Computador: Hardware y Software El modelo de Von Neumann separa claramente los componentes de un computador en dos categoras principales: Hardware y Software El hardware comprende el equipo computacional en s, es decir, lo que es tangible. Se refiere a la mquina y todos sus dispositivos. Incluye el procesador o CPU, la memoria, los discos, el monitor, el teclado y todos los dispositivos perifricos, como impresoras, scanners, cmaras de video, etc. Por otra parte, el software abarca los programas que le dan generalidad al computador y permiten su uso. Los programas son listas de instrucciones u ordenes que hacen que el computador complete las tareas que se le encargan. Al proceso de escribir programas se le conoce como programacin. El computador slo reconoce un conjunto de instrucciones muy limitado y de bajo nivel, codificadas mediante secuencias de bits, es decir, ceros y unos. Por este motivo la programacin en sus inicios era muy complicada. Actualmente existen lenguajes de programacin de alto nivel como Python, C y Java que hacen ms sencilla la tarea de programacin. Mediante un proceso intermedio, las instrucciones de un programa de alto nivel se traducen al lenguaje que reconoce el computador. Dentro de los programas del computador, hay uno que es de vital importancia. Este programa, conocido como sistema operativo, controla y administra el computador, haciendo que su uso sea sencillo. El Primer Programa Las instrucciones que reconoce la unidad de control del procesador estn codificadas como bits, es decir, como unos y ceros, y constan de dos partes: Un cdigo de operacin, tambin conocido como opcode, que indica cul es la operacin. Operandos, en la forma de nombres de registro o direcciones de memoria, y que representan los datos sobre los que actuara la operacin. Por ejemplo, supongamos que se quiere llevar a cabo la suma de dos nmeros, almacenados en las celdas de memoria cuyas direcciones son 99 y 100. Tambin supongamos que el cdigo de operacin para la suma puede representarse con el nmero decimal 9. Entonces, la instruccin se vera de la siguiente forma, utilizando notacin decimal: 9 99 100. En binario, la representacin sera: 0000100100000000011000110000000001100100 Esta cadena de unos y ceros representa un 9, un 99, y un 100, colocados en forma consecutiva y sin ninguna separacin Para poder diferenciar mejor los componentes de la operacin, podemos representarla de la siguiente manera: 0000100100000000011000110000000001100100
Opcode (8 bits) Direccin 1 (16 bits) Direccin 2 (16 bits)

La cantidad de bits que se utiliza para representar una operacin es una caracterstica propia de cada computador. En el ejemplo hemos utilizado 40 bits, de forma que el cdigo de operacin ocupa 8 bits, y cada operando 16. As, el conjunto de instrucciones del computador en cuestin puede tener hasta 256 instrucciones diferentes, y no ms (Por qu?). De igual forma, la memoria puede tener un mximo de 65,536 celdas (Por qu?). Las instrucciones vlidas que la unidad de control puede decodificar constituyen el conjunto de instrucciones del procesador. Tambin es posible tener instrucciones que utilicen un nico

operando, por ejemplo, una operacin de incremento, que suma una unidad a su operando. Finalmente, existen operaciones en las cuales la ubicacin de uno de sus operandos es implcita, es decir, siempre la misma, por ejemplo, un registro de la CPU. Para poder representar ms fcilmente las instrucciones se utilizan abreviaturas llamadas nemnicos. Para representar direcciones de memoria se utilizan letras en mayscula. Por ejemplo, en la operacin que suma el valor de la celda de memoria 99, con el valor de la celda de memoria 100, podemos representar las direcciones con las letras X e Y, respectivamente, y escribir la operacin de la siguiente manera: ADD X, Y. Por lo general, se supone que el resultado de la operacin se guardara en el primer operando, en este caso, en la direccin de memoria 99, representada por X. Algunos computadores no pueden efectuar operaciones en las que sus dos operandos se encuentren en la memoria, sino que al menos uno de ellos debe encontrarse en uno de los registros de la CPU. En el ejemplo que se muestra a continuacin, puede verse este comportamiento.

Un programa simple Supongamos un computador con el conjunto de instrucciones descrito en el Cuadro 1. Utilizamos los nemnicos para las instrucciones en lugar de los cdigos binarios, para que sea ms fcil la comprensin. El computador en cuestin utiliza un nico registro para efectuar las operaciones aqu descritas, al cual hemos llamado R. Es posible que operaciones ms complejas requieran el uso de ms registros. Consideremos tambin el estado de la memoria que se muestra en la Fig. 3. Observe que cada celda de memoria tiene asociada una direccin, con la cual es posible direccionarla, ya sea para leer el valor almacenado en ella, o para escribir un valor ah. Entre las direcciones 5003 y 5006 se encuentra almacenado un programa que, al ejecutarse, va a efectuar las operaciones en el orden en que se encuentran almacenadas, es decir, en forma secuencial. En las celdas cuyas direcciones van de la 5000 a la 5002 se encuentran los datos que el programa va a utilizar durante su ejecucin. El programa se inicia con la instruccin almacenada en la celda cuya direccin es 5003. Se trata de una instruccin de recuperacin, que copia el valor almacenado en la direccin que se indica como operando (5000), en el registro R de la ALU. Como en esa celda de memoria se encuentra el valor 2, una vez ejecutada la instruccin, en el registro R se encontrar tambin el valor 2. La siguiente instruccin en el programa es la suma del contenido del registro R que sabemos que es 2 y el valor almacenado en la direccin que se indica como operando (5001). El resultado se guardar en el registro R, sobreescribiendo el valor anteriormente almacenado ah. Como en la celda cuya direccin es 5001 se encuentra el valor 3, el resultado de la suma ser 5 que, como dijimos, se guardar en el registro R al completarse la instruccin.

La siguiente es una instruccin de almacenamiento, que copia a la memoria el contenido del registro R, en la direccin indicada como operando, en este caso, 5002. Por lo tanto, despus de ejecutarse esta instruccin, en la celda cuya direccin es 5002 vamos a encontrar el resultado de la suma previamente efectuada, es decir, el valor 5.

La ltima instruccin HALT le indica al computador que el programa ha finalizado. Es fcil darse cuenta que las operaciones que puede llevar a cabo un computador son muy simples, y que es necesario combinarlas para poder llevar a cabo tareas complejas. Una operacin sencilla, como una suma, requiere de un programa con 4 instrucciones. Es importante tambin notar la forma en que, en la memoria del computador, coexisten las instrucciones del programa y los datos sobre los que stas operan. Este es precisamente el principio de programa almacenado establecido por von Neumann.

Taller 1: Introduccin a la Computacin Marzo 2011

Introduccin a la Informtica

Sesin introductoria

Diagnstico de Entrada Estrategias de bsqueda web http://www.commoncraft.com/search Elaborar un documento en Word Bsqueda de informacin en sitio web Documento Word con descripcin de conceptos y relaciones de partes de un computador Conceptos de informtica y conceptos bsicos Grfico de componentes de un computador Caracterstica de Sistema Operativo Windows Formato El Ttulo del captulo en verdana 12 mayscula y negrita. Bajo el Ttulo, nombre y apellidos del autor y carrera profesional Los epgrafes en el texto en verdana 12 y negrita. Minscula. Se escribe en verdana 11 a un espacio, sin ampliar el espaciado entre prrafos, tres espacios de sangrado en los puntos y aparte (tres pulsaciones sobre la barra del espaciador). Referencias y Webgrafa Gallego, D.J.; Alonso, C.M. y Cacheiro, M.L. (2011) Educacin, Sociedad y Tecnologa. Madrid: Ramn Areces. Fecha: martes 15 de marzo

Actividad Producto

Tiempo Estndares TIC Contenidos Metodologa Herramientas Evaluacin Material de apoyo

2 bloques de laboratorio Manejar conceptos y funciones bsicas asociadas a las TIC Clase Presencial Introduccin a la Informtica Alfabetizacin Digital Sesin en Taller Presencial y trabajo personal Sala con computadores e Internet Documento en Word segn formato entregado Gua de Trabajo: Taller 1 Revisin de informacin en documento: Introduccin a la Informtica: nociones de informtica y conceptos bsicos http://es.scribd.com/doc/18401941/Conceptos-basicos-sobreinformatica

Material adicional

Conceptos Bsicos de Computacin http://www.sscc.co.cl/informatica/conceptos.html Instrucciones para hacer la tarea http://webdelprofesor.ula.ve/economia/hmata/Notas/Instrucciones%20para%20 Preparar%20y%20Enviar%20las%20Tareas.pdf

Diagnstico de Entrada:
Defina los siguientes conceptos: Computador web Lenguaje de programacin TIC http y hipertexto Informtica Software Windows Internet Redes Sistema Operativo Unidad Central de Proceso a. Busque una grfica en sitios web que seale los componentes principales de un computador e indique sus principales componentes b. Relacione los siguientes componentes principales que operan en un computador: memoria RAM, memoria ROM y direccin de memoria. c. Caracterizar al Sistema Operativo Windows: ventanas, escritorio, carpetas, archivos, barra de herramienta

Formato: TALLER 1. CURSO INTRODUCCIN A LA COMPUTACIN TTULO DEL TRABAJO

Nombre y apellidos Departamento de XXX Facultad de XXX Universidad de XXX. pas

Insertar imagen referente al trabajo Logos del Departamento y Facultad Pie de pgina: fecha Nmero de pgina 1. Definicin de Conceptos

Computador Lenguaje de programacin

S-ar putea să vă placă și