Entradas

Pipelining de instrucciones e Información sobre los Buses

Imagen
Ciclo Fetch-Decode-Execute Para poder entender los conceptos de las instrucciones y algunos problemas que pueden tener necesitamos saber sobre el ciclo fetch-decode-execute de instrucciones. Una versión resumida del ciclo puede ser la siguiente: Fetch: se lee la siguiente instrucción que debe ejecutarse en memoria. Decode: se analiza el código para saber que es lo que la instrucción desea hacer y que necesita para completarse. Read: se accede a la memoria para traer los operandos. Execute: se ejecuta la operación. Write: se escribe el resultado de la operación. Después de escribir el resultado de la operación el ciclo vuelve al inicio y repite sus pasos con la siguiente instrucción. El ciclo termina hasta que termine el programa. Pipeline En la computación, el pipelining de instrucciones se refiere a la técnica para implementar el paralelismo de instrucciones en un mismo procesador. El paralelismo de instrucciones se refiere a la habilidad de poder hacer mas de u...

Llamadas al sistema

Imagen
¿Que es una llamada al sistema? Cuando el programa necesita realizar algo que no puede solo o no tiene los permisos necesarios para hacerlo, la única opción que le queda es llamar al sistema para que lo haga por él. En la computación, una llamada al sistema es la manera en la cual un programa de computadora pide un servicio al kernel del sistema operativo que se esta ejecutando (no debemos confundir las llamadas al sistemas con un comando del sistema). Existen mas de 344 llamadas al sistema, sin embargo podemos dividir las llamadas del sistema en 5 grupos diferentes: Control de Procesos Manejo de Archivos Manejo de Dispositivos Mantenimiento de Informacion Comunicación Implementar una llamada del sistema requiere de una transferencia de control del espacio del usuario al espacio del kernel. Una manera típica de hacer esto es usar una interrupción del sistema. La interrupción transfiere el control al kernel del sistema operativo y solo es necesario ingresar informac...

Respuestas de las preguntas planteadas en el examen

Imagen
Hace casi dos semanas nuestra clase tuvo el examen de Arquitectura de Computadores, al inicio del examen habían 5 preguntas las cuales se mostraran y resolverán con información aprendida en el curso. En el examen también entraron otros temas como tipos de direccionamiento y diferentes codificaciones de información, pero en esta entrada solo retomaremos las primeras preguntas. ¿Cual es la diferencia entre la arquitectura de una computadora y la organización de una computadora? Ademas brinde un ejemplo para cada una de ellas. La diferencia entre estas dos es que la arquitectura de un computador se refiere a los atributos del sistema que el programador puede ver, en otras palabras, los que tienen impacto directo en la ejecución lógica de un programa. En cambio, la organización de una computadora tiene que ver con las unidades operativas y las interconexiones, esta incluye aspectos de alto nivel del diseño de la computadora y el sistema de memoria. Ejemplos:  Sets...

Arduino - Información e Historia

Imagen
¿Que es un Arduino? Logo de Arduino Arduino es una plataforma electrónica de código abierto basada en un hardware y software fácil de usar. Contiene una serie de partes e interfaces juntas en una sola tabla de circuitos. Gracias a su simpleza, Arduino ha sido utilizado en miles de diferentes proyectos y aplicaciones. Arduino nació en el 2005 como un proyecto para estudiantes del Instituto IVREA. En ese tiempo los estudiantes usaban un microcontrolador que costada 100$ cada uno, lo cual era demasiado costoso para ellos. Uno de los fundadores de Arduino era profesor de estos estudiantes. Los fundadores del proyecto junto con un estudiante colombiano trabajaron duro para poder hacer una placa mas económica y pequeña para uso estudiantil. Existen diferentes modelos de Arduino y todos tienen características diferentes, debido a esto para poder mostrar algunas características que incluyen las placas usaremos como base el Arduino Uno R3 (características extraídas de la pagina ...

Explicación de código para contar letras - Simple

Imagen
Explicación de Código A continuación se explicara de la manera mas simple posible el código creado en la clase de Arquitectura de Computadores para poder contar cuantas vocales y consonantes tiene una oración o palabra ya definida anteriormente. En este código tomamos todo lo que no sea una vocal como consonante.El único valor que dejamos sin contar es el espacio, por ejemplo: el arreglo de caracteres "hola mundo!" tiene 4 vocales y 6 consonantes. Debemos tomar en cuenta que este programa solo funciona con letras minúsculas. El programa completo final acepta mayúsculas e incluso separa a los caracteres que no son letras, sin embargo deseo explicar este algoritmo incompleto ya que me parece interesante la manera rápida en que es resuelto. Para iniciar veremos que se encuentra en el segmento de data: Como podemos ver en la imagen anterior en "separar" se encuentra el fragmento de texto que deseamos separar en cantidad de vocales y consonantes, en "...

Estructuras de Control

Imagen
Estructuras de Control Las estructuras de control tienen como función modificar el flujo de ejecución de las instrucciones en un programa. Estas estructuras solo tienen un punto de entrada y un punto de salida. Gracias a estas estructuras los programas son mas rápidos, fáciles de modificar y en general mas fáciles de probar. Todos los lenguajes de programación tienen estructuras de control similares, generalmente lo único que cambia es la sintaxis en la cual se escribe la estructura. Existen dos tipos diferentes de estructuras de control: las condicionales y las iterativas. Estructuras Condicionales Estas estructuras consisten en que dependiendo de que algunas condiciones se cumplan la secuencia de instrucciones en cierta tarea tomara caminos diferentes. if-else: La sentencia if viene seguida por una condición, si esta se cumple ejecuta un bloque de instrucciones. En caso de que la condición no se cumpla el programa toma el camino del else y ejecuta un bloque de in...

Raspberry Pi

Imagen
¿Que es un Raspberry Pi? Logo de Raspberry Pi Un Raspberry Pi es una computadora de placa reducida creada en el Reino Unido por la Fundación Raspberry Pi con el objetivo de proponer la educación de la computación. La idea se basaba en crear un computador compacto y barato para que los niños no tuvieran miedo de usarlo y hacer cosas creativas con él. Busca que aprender sea entretenido y el individuo aprenda a ampliar y mejorar su dispositivo. En 2006 la idea de el Raspberry Pi apareció basándose en un micro controlador y su esquema y diseño de circuito impreso estaba disponible para descargar de manera publica. En mayo del 2009  sin embargo fue hasta el 2012 que se fabrico el primer lote de 10000 placas. En enero del 2013 Google anuncio que junto con otros socios repartiría 15000 placas entre estudiantes del Reino Unido para fomentar las ciencias de la computación,  Las especificaciones del Raspberry Pi 3(extraídos de su pagina oficial) son: SoC: Broadcom...