Bachiller:
Ricardo López
c.i 20763218
INDICE
INTRODUCION
DEFICION DE PROCESADOR
MICROPROCESADORES
CPU
PROCESOS
HILOS
HYPERTHREADING
BUSES
MULTITHREADING
REGISTROS
ESTADO DE UN PROCESO
DIFERENCIA ENTRE PROCESADORE CISC, RISC, ARM
DIFERENCIA ENTRE PROCESADOR DE ESCRITORIO, LAPTOP Y SMARTPHONES
QUE HACE UNA COMPUTADORA MAS RAPIDA
INTRODUCCION
El procesador es el componente más complejo y frecuentemente más caro, pero él no puede hacer
nada solo. Como todo cerebro, necesita de un cuerpo, que es formado por los otros componentes de
la computadora, incluyendo la memoria, el disco duro, la placa de vídeo y de red, monitor, teclado y
mouse.
-MICROPROCESADORES
Es un circuito electrónico que actúa como Unidad Central de Proceso (CPU) de una
computadora. Llamados por muchos como el “cerebro”. Es un circuito microscópico
constituido por millones de transistores integrados en una única pieza plana de poco
espesor. El microprocesador (micro) se encarga de realizar todas las operaciones de
cálculo y de controlar lo que pasa en la computadora recibiendo información y dando
órdenes para que los demás elementos trabajen.
CPU son las siglas en ingles de Central Processing Unit (Unidad de Proceso Central),
El CPU es el cerebro del ordenador, referimos a la parte de la computadora en la que se
controlan y originan comandos directos que generan las diferentes funciones de la CPU. En
el CPU se hacen todos los cálculos del código binario de la computadora. En general, es la
parte más importante del sistema.
-PROCESOS
Los procesos son gestionados por el sistema operativo y están formados por:
Un proceso se rige en pequeñas porciones, conocidas como páginas, y cada proceso tiene
su propia tabla de paginación, fungiendo como una optimización del sistema operativo ante
los fallos de página.
Los procesos pueden contener uno o más hilos, haciendo más eficiente las tareas,
asimismo la complejidad de los algoritmos de sincronización, ya que podría ocurrir
la condición de carrera muy a menudo, inclusive los indeseados interbloqueos.
-HILOS
Un hilo en un sistema operativo es la característica que permite a una aplicación realizar
varias tareas a la vez concurrentemente, los distintos hilos de ejecución comparten una
serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de
autentificación. Esta acción permite simplificar el diseño de una aplicación que debe llevar
a cabo distintas funciones simultáneamente.
Los hilos son básicamente una tarea que puede ser ejecutada en paralelo con otra tarea;
teniendo en cuenta lo que es propio de cada hilo es el contador de programa, la pila de
ejecución y el estado de la CPU (incluyendo el valor de los registros).
En muchos de los sistemas operativos que dan facilidades a los hilos, es más rápido
cambiar de un hilo a otro dentro del mismo proceso, que cambiar de un proceso a otro. Este
fenómeno se debe a que los hilos comparten datos y espacios de direcciones, mientras que
los procesos, al ser independientes, no lo hacen.
Los hilos presentan estados, los principales de ellos son: Ejecución, Listo y Bloqueado. No
tiene sentido asociar estados de suspensión de hilos ya que es un concepto de proceso.
En todo caso, si un proceso está expulsado de la memoria principal (RAM), todos sus hilos
deberán estarlo ya que todos comparten el espacio de direcciones del proceso.
Al igual que los procesos, los hilos poseen un estado de ejecución y pueden sincronizarse
entre ellos para evitar problemas de compartimiento de recursos. Generalmente, cada hilo
tiene una tarea específica y determinada, como forma de aumentar la eficiencia del uso del
procesador.
Algunos lenguajes de programación tienen características de diseño expresamente creadas
para permitir a los programadores lidiar con hilos de ejecución (como Java o Delphi). Otros
(la mayoría) desconocen la existencia de hilos de ejecución y éstos deben ser creados
mediante llamadas de biblioteca especiales que dependen del sistema operativo en el que
estos lenguajes están siendo utilizados (como es el caso del C y del C++).
Sincronización de hilos
Todos los hilos comparten el mismo espacio de direcciones y otros recursos como pueden
ser archivos abiertos. Cualquier modificación de un recurso desde un hilo afecta al entorno
del resto de los hilos del mismo proceso. Por lo tanto, es necesario sincronizar la actividad
de los distintos hilos para que no interfieran unos con otros o corrompan estructuras de
datos.
Una ventaja de la programación multihilo es que los programas operan con mayor velocidad
en sistemas de computadores con múltiples CPU (sistemas Multiprocesador o a través de
grupo de máquinas) ya que los hilos del programa se prestan verdaderamente para la
ejecución concurrente. En tal caso el programador necesita ser cuidadoso para evitar
condiciones de carrera (problema que sucede cuando diferentes hilos o procesos alteran
datos que otros también están usando), y otros comportamientos no intuitivos. Los hilos
generalmente requieren reunirse para procesar los datos en el orden correcto. Es posible
que los hilos requieran de operaciones atómicas para impedir que los datos comunes sean
cambiados o leídos mientras estén siendo modificados, para lo que usualmente se utilizan
los semáforos. El descuido de esto puede generar
-HYPERTHREADING
HyperThreading (también conocido como H Technology) es una marca registrada de la
empresa Intel para promover la implementación de la tecnología ''Multithreading
Simultáneo'', también conocido como SMT. Permite a los programas preparados para
ejecutar múltiples hilos(multi-threaded), procesarlos en paralelo dentro de un
único procesador, incrementando el uso de las unidades de ejecución del procesador.1
Ésta tecnología consiste en simular dos procesadores lógicos dentro de un único
procesador físico. El resultado es una mejoría en el rendimiento del procesador, puesto que
al simular dos procesadores se pueden aprovechar mejor las unidades de cálculo
manteniéndolas ocupadas durante un porcentaje mayor de tiempo. Esto conlleva una
mejora en la velocidad de las aplicaciones que según Intel es aproximadamente de un 60%.
Rendimiento
La tecnología HyperThreading tiene grandes capacidades de procesamiento y rapidez.
Algunas de sus ventajas son: mejora el apoyo de código “multi-hilos”, que permite ejecutar
múltiples hilos simultáneamente, mejora de la reacción y el tiempo de respuesta.3
De acuerdo con el primer informe de Intel, los procesadores del modelo Pentium 4 que
incorporan esta tecnología tienen un rendimiento entre un 15% y un 30% superior al de los
procesadores sin HyperThreading, y utilizan sólo un 5% más de recursos.
-BUSES
Para la informática, el bus es una serie de cables que funcionan cargando datos en la
memoria para transportarlos a la Unidad Central de Procesamiento o CPU. En otras
palabras, un bus de datos es una autopista o canal de transmisión de información dentro
de la computadora que comunica a los componentes de dicho sistema con el
microprocesador. El bus funciona ordenando la información que es transmitida desde
distintas unidades y periféricos a la unidad central, haciendo las veces de semáforo o
regulador de prioridades y operaciones a ejecutar.
Existen distintos tipos de buses. El bus de direcciones, por ejemplo, vincula el bloque de
control de la CPU para colocar datos durante procesos de cómputo. El bus de control, por
otro lado, transporta datos respecto de las operaciones que se encuentra realizando el
CPU. El bus de datos propiamente dicho, transporta información entre dispositivos de
hardware como teclado, mouse, impresora, monitor y también de almacenamiento como el
disco duro o memorias móviles.
En diferentes tipos de ordenadores se emplean diversos tipos de buses. Para PC, por
ejemplo, son comunes el PCI, ISA, VESA, MCA, PATA, SATA y otros como USB o Firewire.
En Mac, en cambio, se utilizan los mismos u otros como el NuBus.
-MULTITHREADING
Una aplicación single thread, tal y como es Nodejs, solo tiene un thread; solo existe un
punto de ejecución en un momento dado.
Una aplicación multi thread, por su parte, tiene más de un punto de ejecución en un
momento dado. Sigue teniendo un único conjunto de variables globales, pero tiene más de
una función en ejecución simultaneamente, y cada punto de ejecución tiene su propia
información de las funciones llamantes, su propio conjunto de argumentos, y su propio
grupo de variables locales.
Si ejecutamos una aplicación multi thread en una máquina con más de 1 CPU, el
rendimiento de dicha aplicación será superior a una aplicación de un solo thread; cada hilo
puede ser ejecutado en una CPU, por lo que podrá ejecutar más de una tarea a la vez.
Si solo tenemos 1 CPU, esta reparte su tiempo entre todos los hilos de todos los programas
en ejecución, por lo que no obtendremos ventaja del uso de varios hilos.
El principal inconveniente de las aplicaciones con múltiples hilos, es mantener el orden en
el acceso a los recursos compartidos (tales como las variables globales). Centrándonos en
estas, pueden ser accedidas desde todos los hilos (a diferencia de las locales). ¿Qué pasa
si un hilo cambia una variable global, mientras otro hilo la está leyendo o escribiendo a su
vez? Puedes consultar el clásico Problema de la cena de los filósofos.
-REGISTROS
{
int dato;
struct TipoNodo *sig;
struct TipoNodo *ant;
} TNodo;
En este ejemplo se define el tipo de dato TNodo (o struct Tipo Nodo, sería equivalente) como
una estructura (registro) que contiene un dato de tipo entero y
dos punteros sig y ant (siguiente y anterior) que sirven para referenciar a otros registros del
tipo TNodo. Ésta es la estructura de datos que se suele utilizar como nodo en
las listas doblemente enlazadas.
-ESTADO DE UN PROCESO
Los estados de un proceso obedecen a su participación y disponibilidad dentro del sistema
operativo y surgen de la necesidad de controlar la ejecución de cada proceso. Los
procesadores sólo pueden ejecutar un solo proceso a la vez, turnándolos para el uso de
éste. Existen procesos no apropiativos o cooperativos que básicamente ocupan todo el
tiempo del procesador hasta que ellos deciden dejarlo. Los procesos apropiativos son
aquellos que ocupan por un período de tiempo el procesador hasta que una interrupción o
señal llega al procesador para hacer el cambio de proceso, a esto se le conoce
como cambio de contexto.
Los posibles estados que puede tener un proceso son ejecución, bloqueado y listo:
Ejecución, es un proceso que está haciendo uso del procesador.
Bloqueado, No puede ejecutarse hasta que un evento externo sea llevado a cabo.
Listo, ha dejado disponible al procesador para que otro proceso pueda ocuparlo.
CISC
CISC ofrece un conjunto de instrucciones bastante completas y lentas de ejecutar, pero que
agrupaban varias operaciones de bajo nivel en la misma instrucción. Esto da lugar
a programas pequeños y sencillos de desarrollar que además realizaban pocos accesos
a memoria: esto que ahora podría parecer insignificante era vital en aquella época, cuando
los ordenadores trabajaban con muchos menos recursos que los equipos actuales.
RISC
Tanto CISC como RISC han evolucionado de forma muy notable desde su nacimiento,
adoptando mejoras provenientes del contrario en ambos casos y nuevos conjuntos de
instrucciones para adaptarse a los usos de los ordenadores. Si bien es cierto que en la
época de su creación la diferencia era muy amplia - principalmente debido a las limitaciones
técnicas de la época tanto en tamaño de memoria como en velocidad de proceso -, en la
actual informática moderna los requisitos son muy diferentes. Los límites en capacidad de
almacenamiento son casi inexistentes y los procesadores son capaces de ejecutar millones
de instrucciones en un solo segundo.
ARM
El punto fuerte de ARM está en la eficiencia energética. Un chip ARM consume mucha
menos energía que un procesador x86 que tiene en su alto rendimiento su gran virtud,
a costa de consumir bastante más energía.
Es decir, un procesador de 32 bits puede tener abiertas una cantidad de aplicaciones, por
ejemplo, unas 3. Si deseamos abrir unas 5 más, el sistema comenzará a tornarse lento y
posiblemente cree algunos errores que pueden incluso cerrar lasos programas, ya que la
potencia de estos procesadores es más limitada. Mientras, el procesador de 64 bits no
tendrá ningún problema en ejecutar todas estas acciones a la misma velocidad y con la
misma eficiencia sin mermar su rendimiento.
Otra de las diferencias apreciables es la cantidad de memoria que pueden soportar estos
procesadores. Los procesadores de 32 bits tienen un límite de 4GB de memoria RAM,
mientras que los de 64 bits pueden llegar a trabajar con un número enorme de memoria,
que puede superar con creces los 16GB y llegar a TB.
Las computadoras de escritorio pierden la batalla contra los teléfonos móviles en cuanto a
visitas a redes sociales. Estos sitios gozan de gran éxito, ya que datos de la Asociación
Mexicana de Internet (AMIPCI) revelan que las redes sociales están en primer lugar en
cuanto a entretenimiento.
Por lo tanto, acceder a ellas es una actividad que cobra relevancia dentro de dispositivos
fijos y móviles, donde las computadoras fijas y las tabletas electrónicas pierden la batalla
en contra de los teléfonos inteligentes y y las computadoras de escritorio.
Las tabletas electrónicas quedan atrás en la lista, ya que tan sólo el 10.3 por ciento de ellas
y el 10.7 por ciento de ellas las utiliza para acceder a sus redes sociales. De forma, el
acceso en cualquier momento es vital para el consumidor, lo cual no es posible llevar a
cabo en computadoras de escritorio.
- Un procesador veloz
- Mayor cantidad de memoria RAM
- Mayor velocidad de disco duro
- La combinación correcta de todos los anteriores
- Ninguno de todos los anteriores
La combinación correcta de todos los anteriores, ya que cada uno por sí solo no tendría
ningún sentido q sea de una capacidad alta o baja. El procesador como la memoria RAM
tienen que tener un plan específico de trabajo para mantenerse en conexión con cada una
de las partes que componen el CPU.
CONCLUSION
El procesador es el cerebro y corazón de las computadoras, por eso sus características son
esenciales, ya que consideran la velocidad, capacidad de memoria, seguridad y
compatibilidad con los demás componentes.
Es responsable de la velocidad, multitarea y una experiencia más fluida y ágil. Con los
procesadores Intel® Core™ de sexta generación más recientes, la computadora podrá hacer
cosas incluso de forma más rápida, realizar más tareas al mismo tiempo y lograr que todo
se vea mejor con la tecnología Gráficos HD Intel®, además de tener una mayor duración
de la batería.
https://www.informatica-hoy.com.ar/aprender-informatica/El-Procesador-de-la-
computadora.php (citado el día 27/01/2018)
https://es.wikipedia.org/wiki/Registro_(estructura_de_datos)
(citado el día 27/01/2018)
https://www.ecured.cu/Microprocesador
(citado el día 27/01/2018)
https://es.wikipedia.org/wiki/HyperThreading
(citado el día 27/01/2018)
https://sistemaoperativo.wikispaces.com/Hilos
(citado el día 27/01/2018)
https://www.definicionabc.com/tecnologia/bus-de-datos.php
(citado el día 27/01/2018)
http://conceptodefinicion.de/cpu/
(citado el día 27/01/2018)
https://www.xataka.com/componentes/cisc-frente-a-risc-una-batalla-en-blanco-y-negro
(citado el día 27/01/2018)
ANEXOS
PROCESADOR MICROPROCESADOR