Entradas

Mostrando entradas de octubre, 2017

RISC VS CISC

Imagen
A la hora de diseñar un procesador se debe tomar en cuenta cual va ser su juego de instrucciones. Existen dos tipos distintos, el RISC(Reduced Instruction Set Computing) y el CISC(Complex instruction set computing). Su mayor diferencia es la complejidad y velocidad de ejecución de sus instrucciones. RISC: La estructura RISC esta basada en instrucciones simples y de rapida ejecución. Su set de instrucciones es pequeño, pero con instrucciones mucho mas optimizadas, esto quiere decir que cada instrucción cumple pequeñas tareas. Sus instrucciones también son de un tamaño fijo. Debido a su simpleza, los chips necesitan menos transistores, lo que los hace mas baratos de diseñar y producir. Algunas ventajas del RISC: La decodificación de instrucciones es simple. Sus instrucciones son uniformes Sus registros de propósito general son idénticos Tiene nodos de direccionamiento simple A la hora de escribir código, beneficia al programador permitiendole remover código inneces

Pipelining

Imagen
Pipeline de instrucciones Para mejorar el rendimiento de un CPU existen dos opciones: Mejorar el hardware, introduciendo circuitos mas rapidos Hacer que el CPU pueda hacer mas de una operación al mismo tiempo. Debido a que existe un limite en la velocidad  de un hardware, y conseguir componentes fisicos es mas costoso. La mejor opción es la segunda, para esto tenemos el pipeline. El pipeline básicamente es una técnica por medio de la cual se puede traslapar la ejecución de instrucciones. Se divide en segmentos o etapas que están conectadas unas con otras. Un ejemplo de pipeline en la vida real: En una lavandería tenemos a cuatro individuos (A,B,C,D). Cada uno tiene que lavar, secar, doblar y acomodar su ropa. Cada proceso toma 30 minutos. Si ocurre un proceso secuencial, es decir que el individuo A espera a que termine el individuo B y el C espera al D y así consecutivamente. El tiempo total para que los individuos terminen sus tareas sería de 8 horas.  ¿Que pasa

Llamadas al sistema

Imagen
Para entender como funcionan las llamadas al sistema primero debemos entender como funcionan los modos de operación de la unidad central de procesamiento. Tenemos dos modos, el modo usuario y el modo Kernel. En el modo kernel, la CPU puede realizar cualquier operación permitida por su arquitectura, es decir cualquier instrucción puede ser ejecutada, cualquier área de la memoria puede ser accedida, etc... Mientras que en el modo usuario, no se tiene ese acceso directo a los recursos. ¿Que pasa cuando un programa en modo usuario necesita acceder a la RAM o a otro recurso ? El programa le pide al kernel el acceso a ese recurso, y esto se hace con las llamadas al sistema. Cuando un programa hace una llamada al sistema, el modo es cambiado de usuario a kernel. El kernel provee los recursos pedidos por el programa y el modo vuelve a cambiar, pero esta vez de modo kernel a modo usuario. Generalmente, las llamadas al sistema son hechas por los programas en las siguientes situaci