montoya cruz t 2

37
INGENIERIA ELECTRICA Tarea 2 ALUMNO: Montoya López Cruz Eduardo……..15250551 GRUPO: 1E3 MATERIA: PROGRAMACION FECHA: 02/02/2016 TURNO: VESRPERTINO

Upload: crzs-montoya

Post on 14-Apr-2016

222 views

Category:

Documents


0 download

DESCRIPTION

programacion

TRANSCRIPT

Page 1: Montoya Cruz t 2

INGENIERIA ELECTRICA

Tarea 2

ALUMNO:

Montoya López Cruz Eduardo……..15250551

GRUPO: 1E3

MATERIA: PROGRAMACION

FECHA: 02/02/2016

TURNO: VESRPERTINO

Page 2: Montoya Cruz t 2

Tipos de Memorias: RAM, ROM, DRAM, SRAM

Memoria RAM

La memoria de acceso aleatorio (en inglés: random-access memory),se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible.

Hay dos tipos básicos de memoria RAM

RAM dinámica (DRAM) RAM estática (SRAM)

Los dos tipos de memoria RAM se diferencian en la tecnología que utilizan para guardar los datos, la memoria RAM dinámica es la más común.

La memoria RAM dinámica necesita actualizarse miles de veces por segundo, mientras que la memoria RAM estática no necesita actualizarse, por lo que es más rápida, aunque también más cara. Ambos tipos de memoria RAM son volátiles, es decir, que pierden su contenido cuando se apaga el equipo.

Uno de los primeros tipos de memoria RAM fue la memoria de núcleo magnético, desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el desarrollo de circuitos integrados a finales de los años 60 y principios de los 70. Esa memoria requería que cada bit estuviera almacenado en un toroide de material ferromágnetico de algunos milímetros de diámetro, lo que resultaba en dispositivos con una capacidad de memoria muy pequeña. Antes que eso, las computadoras usaban relés y líneas de retardo de varios tipos construidas para implementar las funciones de memoria principal con o sin acceso aleatorio.

Page 3: Montoya Cruz t 2

En 1969 fueron lanzadas una de las primeras memorias RAM basadas en semiconductores de silicio por parte de Intel con el integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una memoria DRAM de 1 Kilobyte, referencia 1103 que se constituyó en un hito, ya que fue la primera en ser comercializada con éxito, lo que significó el principio del fin para las memorias de núcleo magnético. En comparación con los integrados de memoria DRAM actuales, la 1103 es primitiva en varios aspectos, pero tenía un desempeño mayor que la memoria de núcleos.

Memoria SRAM

Static Random Access Memory (SRAM), o Memoria Estática de Acceso Aleatorio es un tipo de memoria basada en semiconductores que a diferencia de la memoria DRAM, es capaz de mantener los datos, mientras esté alimentada, sin necesidad de circuito de refresco. Sin embargo, sí son memorias volátiles, es decir que pierden la información si se les interrumpe la alimentación eléctrica.

La memoria SRAM es más cara, pero más rápida y con un menor consumo (especialmente en reposo) que la memoria DRAM. Es utilizada, por tanto, cuando es necesario disponer de un menor tiempo de acceso, o un consumo reducido, o ambos. Debido a su compleja estructura interna, es menos densa que DRAM, y por lo tanto no es utilizada cuando es necesaria una alta capacidad de datos, como por ejemplo en la memoria principal de los computadores personales.

Page 4: Montoya Cruz t 2

Memoria DRAM

DRAM (Dynamic Random Access Memory) es un tipo de memoria dinámica de acceso aleatorio que se usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal del sistema. Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el mismo y recargarlo, cada cierto período, en un ciclo de refresco. Su principal ventaja es la posibilidad de construir memorias con una gran densidad de posiciones y que todavía funcionen a una velocidad alta: en la actualidad se fabrican integrados con millones de posiciones y velocidades de acceso medidos en millones de bit por segundo. Es una memoria volátil, es decir cuando no hay alimentación eléctrica, la memoria no guarda la información. Inventada a finales de los sesenta, es una de las memorias más usadas en la actualidad.

La celda de memoria es la unidad básica de cualquier memoria, capaz de almacenar un Bit en los sistemas digitales. La construcción de la celda define el funcionamiento de la misma, en el caso de la DRAM moderna, consiste en un transistor de efecto de campo y un condensador. El principio de funcionamiento básico, es sencillo: una carga se almacena en el condensador significando un 1 y sin carga un 0. El transistor funciona como un interruptor que conecta y desconecta al condensador. Este mecanismo puede implementarse con dispositivos discretos y de hecho muchas memorias anteriores a la época de los semiconductores, se basaban en arreglos de celdas transistor-condensador.

Page 5: Montoya Cruz t 2

Memoria ROM

La memoria de solo lectura, conocida también como ROM (acrónimo en inglés de read-only memory), es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía.

Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o fácil. Se utiliza principalmente para contener el firmware (programa que está estrechamente ligado a hardware específico, y es poco probable que requiera actualizaciones frecuentes) u otro contenido vital para el funcionamiento del dispositivo, como los programas que ponen en marcha el ordenador y realizan los diagnósticos.

El tipo más simple de ROM en estado sólido es de la misma antigüedad que la propia tecnología semiconductora. Las puertas lógicas combinacionales pueden usarse en conjunto para indexar una dirección de memoria de n bits en valores de m bits de tamaño (una tabla de consultas). Con la invención de los circuitos integrados se desarrolló la máscara ROM. La máscara ROM consistía en una cuadrícula de líneas formadas por una [[palabra (informáti58432 +259+56+5+6 z desarrollada por Toshiba o windows. Los diseñadores rompieron explícitamente con las prácticas del pasado, afirmando que enfocaba "ser un reemplazo de los discos duros", más que tener el tradicional uso de la ROM como una forma de almacenamiento primario no volátil. En 2007, NAND ha avanzado bastante en su meta, ofreciendo un rendimiento comparable al de los discos duros, una mejor tolerancia a los shocks físicos, una miniaturización extrema (como por ejemplo memorias USB y tarjetas de memoria MicroSD), y un consumo de potencia mucho más bajo.

Page 6: Montoya Cruz t 2

Resumen tipo de memorias

La memoria RAM está destinada al almacenamiento de información temporal que será utilizada por el procesador para realizar cálculos u otro tipo de operaciones lógicas. En el espacio de direcciones de memoria RAM se ubican además los registros de trabajo del procesador y los de configuración y trabajo de los distintos periféricos del microcontrolador. Es por ello que en la mayoría de los casos, aunque se tenga un espacio de direcciones de un tamaño determinado, la cantidad de memoria RAM de que dispone el programador para almacenar sus datos es menor que la que puede direccionar el procesador. El tipo de memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que evita tener que implementar sistemas de refrescamiento como en el caso de las computadoras personales, que utilizan gran cantidad de memoria, típicamente alguna tecnología DRAM. A pesar de que la memoria SRAM es más costosa que la DRAM, es el tipo adecuado para los microcontroladores porque éstos poseen pequeñas cantidades de memoria RAM. En el caso de la memoria de programas se utilizan diferentes tecnologías, y el uso de una u otra depende de las características de la aplicación a desarrollar, a continuación se describen las cinco tecnologías existentes, que mayor utilización tienen o han tenido:

Máscara ROM. En este caso no se “graba” el programa en memoria sino que el microcontrolador se fabrica con el programa, es un proceso similar al de producción de los CD comerciales mediante masterización. El costo inicial de producir un circuito de este tipo es alto, porque el diseño y producción de la máscara es un proceso costoso, sin embargo, cuando se necesitan varios miles o incluso cientos de miles de microcontroladores para una aplicación determinada, como por ejemplo, algún electrodoméstico, el costo inicial de producción de la máscara y el de fabricación del circuito se distribuye entre todos los circuitos de la serie y, el costo final de ésta, es bastante menor que el de sus semejantes con otro tipo de memoria.

Memoria PROM (Programable Read-Only Memory) también conocida como OTP (One Time Programable). Este tipo de memoria, también es conocida como PROM o simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeñas, donde la variante de máscara sea muy costosa, también para sistemas que requieren socialización de datos, almacenados como constantes en la memoria de programas.

Memoria EPROM (Erasable Programmable Read Only Memory). Los

Page 7: Montoya Cruz t 2

microcontroladores con este tipo de memoria son muy fáciles de identificar porque su encapsulado es de cerámica y llevan encima una ventanita de vidrio desde la cual puede verse la oblea de silicio del microcontrolador. Se fabrican así porque la memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el proceso de grabación es similar al empleado para las memorias OTP. Al aparecer tecnologías menos costosas y más flexibles, como las memorias EEPROM y FLASH, este tipo de memoria han caído en desuso, se utilizaban en sistemas que requieren actualizaciones del programa y para los procesos de desarrollo y puesta a punto.

EEPROM (Electrical Erasable Programmable Read Only Memory). Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cerámicos no son necesarios. Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron más baratos y cómodos para trabajar que sus equivalentes con memoria EPROM. Otra característica destacable de este tipo de microcontrolador es que fue en ellos donde comenzaron a utilizarse los sistemas de programación en el sistema que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa.

Memoria flash. En el campo de las memorias reprogramables para microcontroladores, son el último avance tecnológico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM.

A las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden además ser programadas con las mismas tensiones de alimentación del microcontrolador, el acceso en lectura y la velocidad de programación es superior, disminución de los costos de producción, entre otras.

Memoria CacheCuando en informática se habla de memoria caché o cache se está

Page 8: Montoya Cruz t 2

hablando de aquella cantidad de información que permanece de manera temporal en la computadora y que ayuda a la adquisición de velocidad y eficiencia cuando es necesario recurrir a determinado tipo de datos. El nombre de memoria cache proviene del francés, que significa “escondido” u “oculto”.El sistema de memoria cache está diseñado especialmente para servir al apropiado y organizado almacenamiento de información en una computadora. Su función es básicamente mantener de manera temporal y accesible aquellos datos que son requeridos para realizar determinadas funciones o tareas. Esta disponibilidad permite que cada programa o archivo tenga inmediato acceso a la información necesaria y pueda así dedicarse a subir el nivel de eficiencia de las funciones normales. De tal modo, la memoria principal cuenta con una gran ayuda que le permite adquirir mayor velocidad de desempeño y mejores resultados por fuera de sus limitadas capacidades.La memoria cache se estructura normalmente en pequeños campos donde se guardan los datos necesarios (hasta un byte de espacio por cada campo o celda). Puede tener lugar como parte integrante de la memoria principal como también puede estar emplazada por fuera de ella y activarse de manera autónoma. A través del método del hit rate o del promedio de pedidos que recibe cada dato, se establece un orden de los elementos más requeridos y que por tanto pasan a estar a mayor disponibilidad, borrándose eventualmente aquellos que no vuelvan a ser utilizados.Cuando uno habla de la memoria cache de disco está haciendo referencia a un proceso similar al de la memoria cache RAM que se produce en la misma memoria principal. Este procedimiento es otro modo de implementar el sistema de memoria cache evitando usar la lenta memoria del disco duro pero manteniendo activo su interior y proveyéndole con datos de manera mucho más directa

Microprocesadores

Celeron

Page 9: Montoya Cruz t 2

No es que el Celeron sea en sí un procesador de sexta generación, pero sí fue en esta generación cuando apareció el primero. Se le llama Celeron a la línea de procesadores de bajo coste de Intel. Los primeros Celeron estaban basado en el modelo P6 (Pentium II y III), y luego han llegado los basados en Pentium 4 y en Intel Core 2 Duo. Muchas de las características son las mismas de los procesadores en los que están basados, ya que el núcleo del procesador es el mismo. Las principales diferencias residen en el embalaje, el tamaño de la cache de nivel 2 y la velocidad del bus de la CPU.

En conclusión, los Celeron son una versión de rendimiento reducido del procesador de Intel predominante en ese momento, pensada para el mercado de bajo coste.

Atom

Los Intel Atom son los últimos microprocesadores de Intel. Su uso está algo limitado debido a que están diseñados para mantener un bajísimo consumo y una potencia media.

Ya lo vimos allá por principios de marzo, y ahora la información oficial ha sido ampliada. Los nuevosIntel Atom son los que antes conocíamos como codename Silverthorne y Diamondville, procesadores de arquitectura x86 fabricados en 45 nanómetros con los transistores más pequeños del mundo, según rezan desde Intel, llegando a la friolera de 47 millones de transistores en una superficie de 25 milímetros cuadrados.

Pero pasando a algo más interesante, los Intel Atom se venderán en dos modelos: los Atom, a secas, y los Centrino Atom, que serán una continuación de los actuales Intel Penryn. Sus características todavía no han sido desveladas al cien por cien, aunque sí tenemos algunos datos.

Características

Para empezar, hablaremos de los Atom A100 y A110, microprocesadores de 1 núcleo de 90 nanómetros, FSB de 400 MHz y una frecuencia total de 600 u 800 MHz respectivamente. Lo mejor de estos procesadores es su consumo, de 3 vatios TDP aunque alcanzan un mínimo de 0.4 vatios a baja carga. Como desventaja, sólo tendrán compatibilidad con el juego de instrucciones SSE3 y anteriores, pero no el más moderno SSE4 ya compatible con los últimos Penryn por ejemplo.

Por ahora lo que está claro es que podríamos clasificar los A1xx como gama media de los Atom, mientras que los Z5xx pasarían a ser una gama alta. La gama baja la ocuparía la siguiente familia de microprocesadores.

Page 10: Montoya Cruz t 2

Los que antes se llamaban Diamondville serán los microprocesadores de baja potencia para ultraportátiles baratos. Darán prioridad al bajo precio frente a la potencia, y una muestra de ello será el Intel N270, con un reloj a 1.6 GHz, con el 945GSE como northbridge y el ICH7M comosouthbridge, y gráfica Intel 950 integrada.

El N270 pertenece a los Atom N, que serán los sustitutos de los actuales Celeron (utilizados por UMPCs como el Eee o el propio ClassMate de Intel). Los Atom N serían la gama baja de los Atom, y serían perfectos para dispositivos en los que se pretende optimizar el precio para lograr que este sea lo más competitivo posible.

Intel Xeon

Xeon es una familia de microprocesadores Intel para servidores PC y Macintosh. El primer procesador Xeon apareció en 1998 con el nombre Pentium II Xeon. El Pentium II Xeon utilizaba tanto el chipset Bilingoo 440GX como el 450NX. En el año 2000, el Pentium II Xeon fue reemplazado por el Pentium III Xeon. En 2001, el Pentium III Xeon se reemplazó por el procesador Intel Xeon. El Xeon está basado en la arquitectura NetBurst de Intel, la misma utilizada por la CPU Pentium 4.

En 2002 Intel añade a la familia Xeon el procesador Xeon MP que combinaba la tecnología Hyper-Threading con NetBurst. Sus chipsets utilizan el socket 603 y tiene versiones GC-LE (2 procesadores, 16 GiB de memoria direccionable) y GC-HE (4 procesadores o más, 64 GiB direccionables), todos usando un bus de 400 MHz. Como la familia x86/IA-32 estándar de Intel de procesadores PC de escritorio, la línea de procesadores Xeon era de 32 bits, surgiendo luego versiones basadas en tecnología AMD 64 de 64 bits, como es el Xeon Nocona. Y posteriormente la versión de procesadores de escritorio con esta tecnología, los EM64T. El 9 de mayo de 2004, Intel anunció que los futuros procesadores Xeon estarían basados en la arquitectura Pentium M de la compañía. Curiosamente, el Pentium M está basado en gran parte en la arquitectura del Pentium III, por lo que el "nuevo" Xeon puede ser más parecido al Pentium III Xeon que a los Xeon basados en NetBurst.

El 26 de junio de 2006, Intel anunció la nueva generación Xeon Dual Core con tecnología de doble núcleo. Intel afirma que este nuevo procesador brinda un 80% más de rendimiento porvatio y es un 60% más rápido que la competencia AMD. Además la nueva generación ofrece más del doble de rendimiento que la

Page 11: Montoya Cruz t 2

generación anterior de servidores basados en el procesador Intel Xeon; es capaz de ejecutar aplicaciones de 32 y 64 bits.

Este procesador es altamente preferido por los jugadores de videojuegos de computadora.

Igualmente, este último procesador sustituyó al veterano PowerPC en las estaciones de trabajo MacPro y también su nuevo modelo del año 2013 y los servidores XServe de Apple cuando se hizo la transición de Power PC a x86, mejorando su eficacia con la tecnología de arranque EFI.

Actualmente, también es usado por muchos servidores que ofrecen hostings en Internet, dado a su rendimiento y velocidad de los modernos y actuales procesadores Intel Xeon.

Los microprocesadores Intel 8086 y 8088 se desarrollan a partir de un procesador anterior, el 8080, que, en sus diversas encarnaciones -incluyendo el Zilog Z-80- ha sido la CPU de 8 bits de mayor éxito. Poseen una arquitectura interna de 16 bits y pueden trabajar con operandos de 8 y 16 bits; una capacidad de direccionamiento de 20 bits (hasta 1 Mb) y comparten el mismo juego de instrucciones.

     La filosofía de diseño de la familia del 8086 se basa en la compatibilidad y la creación de sistemas informáticos integrados, por lo que disponen de diversos coprocesadores como el 8089 de E/S y el 8087, coprocesador matemático de coma flotante. De acuerdo a esta filosofía y para permitir la compatibilidad con los anteriores sistemas de 8 bits, el 8088 se diseñó con un bus de datos de 8 bits, lo cual le hace más lento que su hermano el 8086, pues éste es capaz de cargar una palabra ubicada en una dirección par en un solo ciclo de memoria mientras el 8088 debe realizar dos ciclos leyendo cada vez un byte.

     Disponen de 92 tipos de instrucciones, que pueden ejecutar con hasta 7 modos de direccionamiento. Tienen una capacidad de direccionamiento en puertos de entrada y salida de hasta 64K (65536 puertos), por lo que las máquinas construidas entorno a estos microprocesadores no suelen emplear la entrada/salida por mapa de memoria, como veremos.

 

El microprocesador Intel 80286 se caracteriza por poseer dos modos de funcionamiento completamente diferenciados: el modo real en el que se encuentra nada más ser conectado a la corriente y el modo protegidoen el que adquiere capacidad de proceso multitarea y almacenamiento en memoria virtual. El proceso multitarea consiste en realizar varios procesos de manera aparentemente

Page 12: Montoya Cruz t 2

simultánea, con la ayuda del sistema operativo para conmutar automáticamente de uno a otro optimizando el uso de la CPU, ya que mientras un proceso está esperando a que un periférico complete una operación, se puede atender otro proceso diferente. La memoria virtual permite al ordenador usar más memoria de la que realmente tiene, almacenando parte de ella en disco: de esta manera, los programas creen tener a su disposición más memoria de la que realmente existe; cuando acceden a una parte de la memoria lógica que no existe físicamente, se produce una interrupción y el sistema operativo se encarga de acceder al disco y traerla.Cuando la CPU está en modo protegido, los programas de usuario tienen un acceso limitado al juego de instrucciones; sólo el proceso supervisor -normalmente el sistema operativo- está capacitado para realizar ciertas tareas. Esto es así para evitar que los programas de usuario puedan campar a sus anchas y entrar en conflictos unos con otros, en materia de recursos como memoria o periféricos. Además, de esta manera, aunque un error software provoque el cuelgue de un proceso, los demás pueden seguir funcionando normalmente, y el sistema operativo podría abortar el proceso colgado. Por desgracia, con el DOS el 286 no está en modo protegido y el cuelgue de un solo proceso -bien el programa principal o una rutina operada por interrupciones- significa la caída inmediata de todo el sistema.

El 8086 no posee ningún mecanismo para apoyar la multitarea ni la memoria virtual desde el procesador, por lo que es difícil diseñar un sistema multitarea para el mismo y casi imposible conseguir que sea realmente operativo. Obviamente, el 286 en modo protegido pierde absolutamente toda la compatibilidad con los procesadores anteriores. Por ello, en este libro sólo trataremos el modo real, único disponible bajo DOS, aunque veremos alguna instrucción extra que también se puede emplear en modo real.

Las características generales del 286 son: tiene un bus de datos de 16 bits, un bus de direcciones de 24 bits (16 Mb); posee 25 instrucciones más que el 8086 y admite 8 modos de direccionamiento. En modo virtual permite direccionar hasta 1 Gigabyte. Las frecuencias de trabajo típicas son de 12 y 16 MHz, aunque existen versiones a 20 y 25 MHz. Aquí, la instrucción más lenta es la misma que en el caso del 8086, solo que emplea 29 ciclos de reloj en lugar de 206. Un 286 de

Page 13: Montoya Cruz t 2

categoría media (16 MHz) podría ejecutar más de medio millón de instrucciones de estas en un segundo, casi 15 veces más que un 8086 medio a 8 MHz. Sin embargo, transfiriendo datos entre registros la diferencia de un procesador a otro se reduce notablemente, aunque el 286 es más rápido y no sólo gracias a los MHz adicionales.Versiones mejoradas de los Intel 8086 y 8088 se encuentran también en los procesadores NEC-V30 y NEC-V20 respectivamente. Ambos son compatibles Hardware y Software, con la ventaja de que el procesado de instrucciones está optimizado, llegando a superar casi en tres veces la velocidad de los originales en algunas instrucciones aritméticas. También poseen una cola de prebúsqueda mayor (cuando el microprocesador está ejecutando una instrucción, si no hace uso de los buses externos, carga en una cola FIFO de unos pocos bytes las posiciones posteriores a la que está procesando, de esta forma una vez que concluye la instrucción en curso ya tiene internamente la que le sigue). Además, los NEC V20 y V30 disponen de las mismas instrucciones adicionales del 286 en modo real, al igual que el 80186 y el 80188. Por su parte, el 386 dispone de una arquitectura de registros de 32 bits, con un bus de direcciones también de 32 bits (direcciona hasta 4 Gigabytes = 4096 Mb) y más modos posibles de funcionamiento: el modo real (compatible 8086), el modo protegido (relativamente compatible con el del 286), un modo protegido propio que permite -¡por fin!- romper la barrera de los tradicionales segmentos y el modo «virtual 86», en el que puede emular el funcionamiento simultáneo de varios 8086. Una vez más, todos los modos son incompatibles entre sí y requieren de un sistema operativo específico: si se puede perdonar al fabricante la pérdida de compatibilidad del modo avanzados del 286 frente al 8086, debido a la lógica evolución tecnológica, no se puede decir lo mismo del 386 respecto al 286: no hubiera sido necesario añadir un nuevo modo protegido si hubiera sido mejor construido el del 286 apenas un par de años atrás. Normalmente, los 386 suelen operar en modo real (debido al DOS) por lo que no se aprovechan las posibilidades multitarea ni de gestión de memoria. Por otra parte, aunque se pueden emplear los registros de 32 bits en modo real, ello no suele hacerse -para mantener la compatibilidad con procesadores anteriores- con lo que de entrada se está tirando a la basura un 50% de la capacidad de proceso del chip, aunque por fortuna estos procesadores suelen trabajar a frecuencias de 16/20 MHz (obsoletas) y normalmente de 33 y hasta 40 MHz.

El 486 se diferencia del 386 en la integración en un solo chip del coprocesador 387. También se ha mejorado la velocidad de operación: la versión de 25 MHz dobla en términos reales a un 386 a 25 MHz equipado con el mismo tamaño de memoria caché. La versión 486sx no se diferencia en el tamaño del bus, también de 32 bits, sino en la ausencia del 387 (que puede ser añadido externamente). También existen versiones de 486 con buses de 16 bits, el primer fabricante de

Page 14: Montoya Cruz t 2

estos chips, denominados 486SLC, ha sido Cyrix. Una tendencia iniciada por el 486 fue la de duplicar la velocidad del reloj interno (pongamos por caso de 33 a 66 MHz) aunque en las comunicaciones con los buses exteriores se respeten los 33 MHz. Ello agiliza la ejecución de las instrucciones más largas: bajo DOS, el rendimiento general del sistema se puede considerar prácticamente el doble. Son los chips DX2 (también hay una variante a 50 MHz: 25 x 2). La culminación de esta tecnología viene de la mano de los DX4 a 75/100 MHz (25/33 x 3).

El Pentium, último procesador de Intel en el momento de escribirse estas líneas, se diferencia respecto al 486 en el bus de datos (ahora de 64 bits, lo que agiliza los accesos a memoria) y en un elevadísimo nivel de optimización y segmentación que le permite, empleando compiladores optimizados, simultanear en muchos casos la ejecución de dos instrucciones consecutivas. Posee dos cachés internas, tiene capacidad para predecir el destino de los saltos y la unidad de coma flotante experimenta elevadas mejoras. Sin embargo, bajo DOS, un Pentium básico sólo es unas 2 veces más rápido que un 486 a la misma frecuencia de reloj. Comenzó en 60/90 MHz hasta los 166/200/233 MHz de las últimas versiones (Pentium Pro y MMX), que junto a diversos clones de otros fabricantes, mejoran aún más el rendimiento. Todos los equipos Pentium emplean las técnicas DX, ya que las placas base típicas corren a 60 MHz. Para hacerse una idea, por unas 200000 pts de 1997 un equipo Pentium MMX a 233 MHz es cerca de 2000 veces más rápido en aritmética entera que el IBM PC original de inicios de la década de los 80; en coma flotante la diferencia aumenta incluso algunos órdenes más de magnitud. Y a una fracción del coste (un millón de pts de aquel entonces que equivale a unos 2,5 millones de hoy en día). Aunque no hay que olvidar la revolución del resto de los componentes: 100 veces más memoria (central y de vídeo), 200 veces más grande el disco duro... y que un disco duro moderno transfieredatos 10 veces más deprisa que la memoria de aquel IBM PC original. Por desgracia, el software no ha mejorado el rendimiento, ni remotamente, en esa proporción: es la factura pasada por las técnicas de programación cada vez a un nivel más alto (aunque nadie discute sus ventajas).

Una característica de los microprocesadores a partir del 386 es la disponibilidad de memorias caché de alta velocidad de acceso -muy pocos nanosegundos- que almacenan una pequeña porción de la memoria principal. Cuando la CPU accede a una posición de memoria, cierta circuitería de control se encarga de ir depositando el contenido de esa posición y el de las posiciones inmediatamente consecutivas en la memoria caché. Cuando sea necesario acceder a la instrucción

Page 15: Montoya Cruz t 2

siguiente del programa, ésta ya se encuentra en la caché y el acceso es muy rápido. Lo ideal sería que toda la memoria del equipo fuera caché, pero esto no es todavía posible actualmente. Una caché de tamaño razonable puede doblar la velocidad efectiva de proceso de la CPU. El 8088 carecía de memoria caché, pero sí estaba equipado con una unidad de lectura adelantada de instrucciones con una cola de prebúsqueda de 4 bytes: de esta manera, se agilizaba ya un tanto la velocidad de proceso al poder ejecutar una instrucción al mismo tiempo que iba leyendo la siguiente.

Pentium II

Este es el último lanzamiento de Intel. Básicamente es un Pentium Pro al que se ha sacado la memoria caché de segundo nivel del chip y se ha colocado todo ello en un tarjeta de circuito impreso, conectada a la placa a través de un conector parecido al del estandar PCI, llamado Slot 1, y que se es utilizado por dos tipos de cartuchos, el S.E.C. y el S.E.P.P (el de los Celeron).

Está optimizado para aplicaciones de 32 bits. Se comercializa en versiones que van desde los 233 hasta los 400 Mhz. Posee 32 Kbytes de caché L1 (de primer nivel) repartidos en 16Kb. para

datos y los otros 16 para instrucciones. La caché L2 (segundo nivel) es de 512 Kb. y trabaja a la mitad de la

frecuencia del procesador. La velocidad a la que se comunica con el bus (la placa base) sigue siendo

de 66 Mhz, pero en las versiones a partir de los 333 ya pueden trabajan a 100 Mhz.

Incorpora 7,5 millones de transistores.

Como la propia Intel denomina, los nuevos Intel Core i3, i5 e i7 son procesadores que pertenecen a la segunda generación de una arquitectura que mostró excelentes resultados y justo por no tratarse de una nueva línea es que muchas configuraciones son semejantes.

Todos los procesadores cuentan con memoria interna, la cuál es dividida en subniveles. Cada uno sirve para almacenar un determinado tipo de información. Es válido recordar que esas divisiones se niveles ya son bastante conocidas por los nombre caché L1, L2 y L3.

Los procesadores Intel Core de la segunda generación vienen con algunas modificaciones en el cache. Sin embargo, antes de hablar de las novedades,

Page 16: Montoya Cruz t 2

necesitamos dejar claro lo que permanece intacto. Si notamos bien, el caché L1 de los CPU’s con arquitectura Sandy Bridge no fue alterado. De esa forma, esos chips cuentan con 32 KB para instrucciones y 32 para datos, (cantidades de memoria separadas para cada núcleo).

El cache L2 no sufrió alteraciones en la forma de funcionar, tampoco la cantidad de memoria para cada núcleo (lo que altera la cantidad total de acuerdo con el modelo). La única diferencia es que el cahce L2 fue renombrado, conocido ahora ahora Mid-Level Cache (MLC), algo como “Cache de Nivel Intermediario”.

Controlador de memoria

Así como en la primera generación de la línea Intel Core, el controlador de memoria del procesador continúa integrado al chip principal. Tal método fue adoptado anteriormente y trajo excelente resultados, factor que obligó a Intel a mantener sus ganancias. Antes de continuar, vale la pena recordar que como el propio nombre lo dice, el controlador de memoria sirve para controlar la memoria. En el caso de los CPU’s Intel Corel, son memorias tipo DDR3.

Diferencias

Así como la primera versión de esa tecnología, la segunda también depende de una serie de factores. El valor máximo de la frecuencia varía según el consumo estimado de energía y de corriente, el número de núcleos activos y la temperatura del procesador. Siendo así, el CPU controla todos esos valores están dentro de los patrones y si por casualidad las tareas necesitaran más poder de procesamiento, entonces el recurso es activado.

Arquitectura

Antes de comentar sobre las diversas tecnologías que forman parte de esas nuevas CPU’s vale abordar lo que cambia en el método de construcción. La primera diferencia notable está en el tamaño ínfimo de los componentes internos. Los procesadores con micro arquitectura Sandy Bridge son fabricados con nanotecnología de 32 nm.

Ya los procesadores con arquitectura Nehalem eran fabricados, en primer momento, con nanotecnología de 45 nm. Sin embargo vale destacar, que posteriormente Intel invirtió en chips con nanotecnología de 32 nm.

En teoría, tanto los CPU’s Intel Core de primera como los de segunda generación serían idénticos en ese aspecto, sin embargo, los nuevos modelos cuentan incluso con Northbridge fabricado con 32 nm, mientras que en los anteriores, ese componente todavía era de 45 nm.

Page 17: Montoya Cruz t 2

El montaje de los componentes internos también sufrió alteraciones. Los procesadores Sandy Bridge vienen esquematizados en formato de anillo. Eso significa que diversos ítems están en diferentes posiciones. Tal cambio fue necesario a partir de algunos cambios con respecto al puente norte y a otros controladores.

El northbridge, inclusive, ahora está acoplado al chip principal, o sea, en la misma pastilla de silicio. Además de eso, la unificación es una de las características primordiales de la nueva arquitectura Sandy Bridge. Los núcleos, el controlador de memoria, el caché L3 (LLC) y el chip gráfico están todos unidos para mejorar el tiempo de acceso y el proceso de compartir recursos.

MOTORES

Los motores paso a paso (P-P) pueden verse como motores eléctricos sin sistema de conmutación. Típicamente, todas las bobinas del motor están en el estator y el rotor es, o un imán permanente o, en el caso de motores de reluctancia variables, un bloque de algún material magnéticamente blando. Toda la conmutación debe ser manejada externamente por el controlador del motor y, habitualmente, los motores y controladores están diseñados para que el motor pueda ser mantenido en una posición o rotar en uno u otro sentido. La mayoría de estos motores

Page 18: Montoya Cruz t 2

pueden ser manejados a frecuencias de audio permitiendo un giro rápido y, con un controlador apropiado, pueden ser arrancados y parados en posiciones controladas.

Para algunas aplicaciones existe una posibilidad de elección entre el uso de servomotores y de motores P-P. Ambos tipos ofrecen prestaciones similares para posicionamientos precisos, pero difieren en algunos aspectos. Los servomotores requieren sistemas de realimentación analógica. Típicamente, esto involucra un potenciómetro para proporcionar realimentación acerca de la posición del rotor, y alguna circuitería para dirigir corriente a través del motor de forma inversamente proporcional a la diferencia entre la posición actual y la deseada. La elección entre uno u otro tipos de motor dependen fundamentalmente de la aplicación. Por ejemplo, la repetibilidad del posicionado con un motor P-P depende de la geometría del rotor, mientras que en el servomotor generalmente depende de la estabilidad del potenciómetro y de otros componentes del circuito de realimentación.

Los motores P-P pueden ser usados en sistemas simples de control en lazo abierto. Estos son adecuados generalmente en sistemas que operan a bajas aceleraciones con cargas estáticas; el lazo cerrado puede ser esencial para aceleraciones elevadas, particularmente si involucran cargas variables. Si se sobrecara un motor P-P en un sistema de control de lazo abierto todo el conocimiento acerca de la posición del rotor se pierde y el sistema debe ser reiniciado. Lo servomotores no presentan este problema.

Los motores P-P son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. La característica principal de estos motores es el hecho de poder moverlos un paso por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8° (e incluso hasta de 0.72º), es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360° (resolución de un motor P-P).

Page 19: Montoya Cruz t 2

Estos motores poseen la habilidad de poder quedar enclavados en una posición, o bien totalmente libres. Si una o más de sus bobinas está alimentada, el motor estará enclavado en la posición correspondiente y, por el contrario, quedará completamente libre si no circula corriente por ninguna de sus bobinas.

Principio de funcionamiento

Los motores P-P se presentan en dos variedades, de imán permanente y de reluctancia variable (existen también motores híbridos, que son indistinguibles de los de imán permanente desde el punto de vista del controlador).

Si el estator del motor tiene tres bobinas, conectadas típicamente como en la siguiente figura, con un terminal común, C, a todas las bobinas, será probablemente un motor P-P de reluctancia variable. El conductor común se conecta habitualmente al borne positivo y las bobinas son alimentadas siguiendo una secuencia consecutiva.

Estos motores no contienen imanes permanentes. El estator es similar a un motor de c.c. de escobillas, sin embargo, el rotor sólo consta de hierro laminado. El par se produce como resultado de la atracción entre las bobinas y el rotor férrico. El rotor forma un circuito magnético con el polo del estator. La reluctancia de un circuito magnético es el equivalente magnético a la resistencia de un circuito eléctrico. Cuando el rotor está alineado con el estator el hueco entre ambos es muy pequeño y en este momento la reluctancia está al mínimo. La inductancia del bobinado también varía cuando el rotor gira. Cuando el rotor está fuera de la alineación, la inductancia es muy baja, y la corriente aumentará rápidamente. Cuando el rotor se alinea con el estator, la inductancia será muy grande. Esta es una de las dificultades de manejar un motor de esta clase.

Los motores P-P de imán permanente son los mas usados en robótica. Básicamente, están constituidos por un rotor sobre el que van aplicados distintos imanes permanentes, y por un cierto número de bobinas excitadoras bobinadas en su estator. Así, las bobinas son parte del estator y el rotor es un imán permanente. Toda la conmutación (o excitación de las bobinas) debe ser externamente manejada por un controlador. 

Page 20: Montoya Cruz t 2

  

Rotor Estator de 4 bobinas

Servomotor

Un Servo es un dispositivo pequeño que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares específicas al enviar una señal codificada. Con tal de que una señal codificada exista en la línea de entrada, el servo mantendrá la posición angular del engranaje. Cuando la señala codificada cambia, la posición angular de los piñones cambia. En la práctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeños ascensores y timones.

Los Servos son sumamente útiles en robótica. Los motores son pequeños, tiene internamente una circuiteria de control interna y es sumamente poderoso para su tamaño.   Un servo normal o Standard como el HS-300 de Hitec tiene 42 onzas

por pulgada o mejor 3kg por cm. De torque que es bastante fuerte para su tamaño. También potencia proporcional para cargas mecánicas. Un servo, por consiguiente, no consume mucha energía. Se muestra la composición interna de un servo motor en el cuadro de abajo. Podrá observar la circuiteria de control, el motor, un juego de piñones, y la caja. También puede ver los 3 alambres de conexión externa. Uno es para alimentación Vcc (+5volts), conexión a tierra GND y el alambre blanco es el alambre de control.

FUNCIONAMIENTO

Page 21: Montoya Cruz t 2

El motor del servo tiene algunos circuitos de control y un potenciómetro (una resistencia variable) esta es conectada al eje central del servo motor. En la figura se puede observar al lado derecho del circuito. Este potenciómetro permite a la circuiteria de control, supervisar el ángulo actual del servo motor. Si el eje está en el ángulo correcto, entonces el motor está apagado. Si el circuito chequea que el ángulo no es el correcto, el motor girará en la dirección adecuada hasta llegar al ángulo correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero varía según el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0 y 180.

  La cantidad de voltaje aplicado al motor es proporcional a la distancia que éste necesita viajar. Así, si el eje necesita regresar una distancia grande, el motor regresará a toda velocidad. Si este necesita regresar sólo una pequeña cantidad, el motor correrá a una velocidad más lenta. A esto se le llama control proporcional.

Características generales  y funcionamiento:

Estos servos tienen un amplificador, servo motor, piñonearía de reducción y un potenciómetro de realimentación; todo incorporado en el mismo conjunto. Esto es un servo de posición (lo cual significa que uno le indica a qué posición debe ir), con un rango de aproximadamente 180 grados. Ellos tienen tres cables de conexión eléctrica; Vcc, GND, y entrada de control.

Para controlar un servo, usted le ordena un cierto ángulo, medido desde 0 grados. Usted le envía una serie de pulsos. En un tiempo ON de pulso indica el ángulo al que debe posicionarse; 1ms = 0 grados, 2.0ms = máx. grado (cerca de 120) y algún valor entre ellos da un ángulo de salida proporcional. Generalmente se considera que en 1.5ms está el "centro." Entre límites de 1 ~ 2ms son las recomendaciones de los fabricantes, usted normalmente puede usar un rango mayor de 1.5ms para obtener un ángulo mayor e incluso de 2ms para un ángulo de rendimiento de 180 grados o más. El factor limitante es el tope del potenciómetro y los límites mecánicos construidos en el servo. Un sonido de zumbido normalmente indica que usted está forzando por encima al servo, entonces debe disminuir un poco.

Page 22: Montoya Cruz t 2

El tiempo de OFF en el servo no es crítico; puede estar alrededor de los 20ms. Hemos usado entre 10ms y 30 ms. Esto No tiene que ser de ésta manera, puede variar de un pulso a otro. Los pulsos que ocurrenfrecuentemente en el tiempo de OFF pueden interferir con el sincronismo interno del servo y podría escucharse un sonido de zumbido o alguna vibración en el eje. Si el espacio del pulso es mayor de 50ms (depende del fabricante), entonces el servo podría estar en modo SLEEP entre los pulsos. Entraría a funcionar en pasos pequeños y el rendimiento no sería el óptimo.

  Como se observa en la figura, la duración del pulso indica o dictamina el ángulo del eje (mostrado como un círculo verde con flecha). Nótese que las ilustraciones y los tiempos reales dependen del fabricante de motor. El principio, sin embargo, es el mismo.

El cable de control se usa para comunicar el ángulo. El ángulo está determinado por la duración

de un pulso que se aplica al alambre de control. A esto se le llama PCM Modulación codificada de Pulsos. El servo espera ver un pulso cada 20 milisegundos (.02 segundos). La longitud del pulso determinará los giros de motor. Un pulso de 1.5 ms., por ejemplo, hará que el motor se torne a la posición de 90 grados (llamado la posición neutra). Si el pulso es menor de 1.5 ms., entonces el motor se acercará a los 0 grados. Si el pulso es mayor de 1.5ms, el eje se acercará a los 180 grados. La descripción realizada anteriormente como se a podido observar son de servomotores de corriente continua usados en robótica doméstica y en aeromodelismo fundamentalmente.

Motor de CD

El principio de funcionamiento de los motores eléctricos de corriente directa o continua se basa en la repulsión que ejercen los polos magnéticos de un imán permanente cuando, de acuerdo con la Ley de Lorentz, interactúan con los polos magnéticos de un electroimán que se encuentra montado en un eje. Este electroimán se denomina “rotor” y su eje le permite girar libremente entre los polos magnéticos norte y sur del imán permanente situado dentro de la carcasa o cuerpo del motor.Cuando la corriente eléctrica circula por la bobina de este electroimán giratorio, el campo electromagnético que se genera interactúa con el campo magnético del imán

Page 23: Montoya Cruz t 2

permanente. Si los polos del imán permanente y del electroimán giratorio coinciden, se produce un rechazo y un torque magnético o par de fuerza que provoca que el rotor rompa la inercia y comience a girar sobre su eje en el mismo sentido de las manecillas del reloj en unos casos, o en sentido contrario, de acuerdo con la forma que se encuentre conectada al circuito la pila o la batería.

Función del colector o conmutador en el motor de C.D.

En la siguiente figura se representa, de forma esquemática y simplificada, la vista frontal de un colector seccionado en dos partes, perteneciente a un motor de corriente directa (C.D.) muy simple. También se muestra el enrollado de la bobina del electroimán que gira a modo de rotor, diferenciada por un color diferente en cada una de sus mitades. Una de las mitades se representa por un círculo rojo y la otra por un círculo azul, identificados como “1” y “2”. Como se puede ver, uno de los terminales de dicha bobina se encuentra conectado a la sección “a” del colector y el otro terminal a la sección “b”. 

En el motor de corriente directa el colector o conmutador sirve para conmutar o cambiar constantemente.el sentido de circulación de la corriente eléctrica a través del enrollado de la bobina del rotor  cada  vez.que completa media vuelta. De esa forma el polo norte del electroimán coincidirá siempre con el también.polo. norte del imán permanente y el polo sur con el polo sur del propio imán. Al coincidir siempre dos.polos magnéticos, que en todo momento van a ser iguales, se produce un rechazo constante entre.ambos, lo que permite al rotor mantenerse girando ininterrumpidamente sobre su eje durante. todo el.tiempo que se encuentre conectado a la corriente eléctrica.

Tal como vemos, en “A” de la figura, la bobina del electroimán se encuentra colocada entre los polos norte “N” y sur “S” del campo magnético del imán permanente. A su vez, el polo positivo (+) de la batería se encuentra conectado siguiendo el sentido convencional de la corriente (del signo positivo al negativo) en la mitad “a” del colector a través de la escobilla identificada también con el signo (+). De esa forma la mitad de

Page 24: Montoya Cruz t 2

la bobina de color rojo (1) se energiza positivamente para formar el polo norte “N”, mientras que la otra mitad, la de color azul (2) se energiza negativamente para formar el polo sur “S”.

Como resultado, cuando en el electroimán se forma el polo norte, de inmediato el también polo norte del imán permanente lo rechaza. Al mismo tiempo el polo sur que se forma en el extremo opuesto, es rechazado igualmente por el polo sur del propio imán; por tanto se produce una fuerza de repulsión en ambos extremos del rotor al enfrentarse y coincidir con dos polos iguales en el imán permanente. Si bajo esas condiciones aplicamos la “Regla de la mano izquierda” y tomamos como referencia, por ejemplo, la parte de la bobina donde se ha formado el polo norte en el electroimán, comprobaremos que al romper la inercia inicial, comenzará a girar en dirección contraria a las manecillas del reloj, como indica la flecha de color verde.

Una vez que la bobina del electroimán gira y asume una posición vertical (como se muestra en la parte“B” de la ilustración), las escobillas dejan de hacer contacto con ambos segmentos del colector. En esa posición neutra la corriente que suministra la batería deja de circular y la bobina se desenergiza, por lo que ambos extremos del electroimán pierden momentáneamente sus polos magnéticos. No obstante, debido a la fuerza de inercia o impulso de giro que mantiene el electroimán, esa posición la rebasa de inmediato y sus extremos pasan a ocupar la posición opuesta a la que tenían, tal como se muestra en la parte “C” de la misma ilustración. 

Ahora en “C” se puede ver que la mitad de la bobina que anteriormente tenía color azul (2) con polaridad sur cuando se encontraba situada a la derecha del eje del rotor pasa a ocupar la parte izquierda junto con la mitad (b) del colector al que se encuentra conectada. Esa parte de la bobina que ha girado, al ocupar ahora la posición opuesta, se convierte en el polo norte (2) del electroimán por lo que es rechazado de nuevo por el polo norte del imán permanente, que como ya se explicó se encuentra fijo al cuerpo del motor. Seguidamente el electroimán, al continuar girando y dar otra media vuelta, pasa de nuevo por la zona neutra (como en “B”) repitiéndose de nuevo el mismo ciclo. Esos cambios continuos en los polos del electroimán del rotor que proporciona el colector, son los que permiten que se mantenga girando de forma ininterrumpida mientras se mantenga energizado.

En resumen, la función del colector es permitir el cambio constante de polaridad de la corriente en la bobina del electroimán del rotor para que sus polos cambien constantemente. Este cambio ocurre cada vez que el electroimán gira media vuelta y pasa por la zona neutra, momento en que sus polos cambian para que se pueda mantener el rechazo que proporciona el imán permanente. Esto permitirá que el electroimán del rotor se mantenga girando constantemente durante todo el tiempo que

Page 25: Montoya Cruz t 2

la batería o fuente de fuerza electromotriz (F.E.M.) se mantenga conectada al circuito del motor, suministrándole corriente eléctrica.

En esta otra ilustración se muestra, de forma esquemática y simplificada, un motor común de corriente directa (C.D.) con un rotor formado por una simple bobina de una sola espira de color rojo y azul, para diferenciar cada mitad. Si seguimos el recorrido de la corriente eléctrica (I) asumiendo que fluye en el sentido convencional (del polo positivo "+"al polo negativo "–" de la batería, según indican las flechas negras), cuando en la mitad izquierda de la espira de color rojo se forma el polo norte “N” coincidiendo con la misma polaridad del campo magnético del imán permanente fijo al cuerpo del motor, se produce una fuerza de rechazo entre ambos polos iguales. Si aplicamos la “Regla de la mano izquierda” se puede determinar que esa mitad de la espira se moverá hacia abajo (flecha verde izquierda). Por otra parte, en la mitad derecha (de color azul) ocurrirá lo mismo, pero a la inversa, por lo que aplicando la propia regla comprobaremos que se moverá hacia arriba (flecha verde derecha). 

La combinación de esas dos fuerzas o vectores actuando de forma opuesta y al unísono (de acuerdo con la Fuerza de Lorentz), provocará que el electroimán del rotor, formado aquí por esa simple espira, comience a girar en torno a su eje imaginario (representado por una línea de puntos en la figura) en dirección contraria a las manecillas de reloj en este ejemplo. Ese movimiento de rotación se encuentra señalado por la flecha negra en forma de semicírculo, que se encuentra dibujada al fondo de la espira.

EJEMPLO DEV C++

Page 26: Montoya Cruz t 2