Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe de Arquitectura Del Computador. Leoger Servelión
Informe de Arquitectura Del Computador. Leoger Servelión
Informe de Arquitectura
del computador
(Actividad del portafolio)
Profesor: Bachiller:
Es definido como un equipo electrónico que puede ser programada para realizar operaciones
lógicas o aritméticas de forma automática. Su objetivo es obtener, guardar y procesar
información de un modo factible al usuario.
Maneja las características del funcionamiento del equipo electrónico. Desde que el sistema es
alimentado por una corriente, este no deja de procesar información hasta que se corta dicha
alimentación. La CPU es la parte más importante del procesador, debido a que es utilizado
para realizar todas las operaciones y cálculos del computador. La CPU tiene a su vez otra
estructura interna que se muestra en la siguiente imagen.
Unidad Aritmética Lógica o ALU (por su acrónimo en ingles Arithmetic Logic Unit)
Es la parte de la CPU encargada de realizar las transformaciones de los datos. Gobernada por la
UC, la ALU consta de una serie de módulos que realizan operaciones aritméticas y lógicas. La
UC se encarga de seleccionar la operación a realizar habilitando los caminos de datos entre los
diversos operadores de la ALU y entre los registros internos.
• La salida del registro acumulador, puede transferirse al multiplexor X, al bus de datos o al bus
de direcciones, según indiquen las señales de contro
Complejidad actual
La complejidad del diseño de los CPU se incrementó a medida que varias tecnologías
facilitaron la construcción de dispositivos electrónicos más pequeños y confiables. La primera
de esas mejoras vino con el advenimiento del transistor . Con esta mejora, fueron construidos
CPU más complejos y más confiables sobre una o varias tarjetas de circuito impreso que
contenían componentes discretos (individuales).
Complejidad actual
La complejidad del diseño de los CPU se incrementó a medida que varias tecnologías
facilitaron la construcción de dispositivos electrónicos más pequeños y confiables. La primera
de esas mejoras vino con el advenimiento del transistor . Con esta mejora, fueron construidos
CPU más complejos y más confiables sobre una o varias tarjetas de circuito impreso que
contenían componentes discretos (individuales).
Microcontroladores
PERIFÉRICOS.
Los periféricos son los circuitos digitales que nos permiten una interacción con el mundo
«exterior» al microcontrolador. Su función es la de poder habilitar o deshabilitar las salidas
digitales, leer sensores analógicos, comunicación con terminales digitales o sacar señales
analógicas de una conversión digital.
Periféricos analógicos. Como los que convierten señales analógicas a digitales (ADC) o señales
digitales a analógicas (DAC) o comparadores analógicos.
Microprocesadores
Este componente es el más importante podríamos decir, y generalmente el más caro, pero sin
el resto de los componentes no podría servir ni actuar.
Funcionamiento de un procesador
El funcionamiento del procesador está determinado por un reloj que sincroniza todos los
bloques funcionales y se encarga de que todo marche como debe ser o está programado para
ser. El funcionamiento tiene etapas: Leer la instrucción de la memoria buscar los datos Realizar
la operación y pasar a la siguiente instrucción
La Velocidad
La mayoría de los CPU, de hecho, la mayoría de los dispositivos de lógica secuencial, son de
naturaleza síncrona. Es decir, están diseñados y operan en función de una señal de
sincronización. Esta señal, conocida como señal de reloj, usualmente toma la forma de una
onda cuadrada periódica. Calculando el tiempo máximo en que las señales eléctricas pueden
moverse en las varias bifurcaciones de los muchos circuitos de un CPU, los diseñadores pueden
seleccionar un período apropiado para la señal del reloj.
Este período debe ser más largo que la cantidad de tiempo que toma a una señal moverse, o
propagarse en el peor de los casos. Al fijar el período del reloj a un valor bastante mayor sobre
el retardo de la propagación del peor caso, es posible diseñar todo el CPU y la manera que
mueve los datos alrededor de los "bordes" de la subida y bajada de la señal del reloj. Esto tiene
la ventaja de simplificar el CPU significativamente, tanto en una perspectiva de diseño, como
en una perspectiva de cantidad de componentes. Sin embargo, esto también tiene la
desventaja que todo el CPU debe esperar por sus elementos más lentos, aun cuando algunas
unidades de la misma son mucho más rápidas. Esta limitación ha sido compensada en gran
parte por varios métodos de aumentar el paralelismo del CPU (ver abajo).
Memoria interna
Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria
de la computadora donde se almacenan temporalmente tanto los datos como los programas
que la unidad central de procesamiento (CPU) está procesando o va a procesar en un
determinado momento. Por su función, la MP debe ser inseparable del microprocesador o
CPU, con quien se comunica a través del bus de datos y el bus de direcciones. El ancho del bus
determina la capacidad que posea el microprocesador para el direccionamiento de direcciones
en memoria.
Microprocesadores
La medición del rendimiento de un microprocesador es una tarea compleja, dado que existen
diferentes tipos de "cargas" que pueden ser procesadas con diferente efectividad por
procesadores de la misma gama. Una métrica del rendimiento es la frecuencia de reloj que
permite comparar procesadores con núcleos de la misma familia, siendo este un indicador
muy limitado dada la gran variedad de diseños con los cuales se comercializan los
procesadores de una misma marca y referencia. Un sistema informático de alto rendimiento
puede estar equipado con varios microprocesadores trabajando en paralelo, y un
microprocesador puede, a su vez, estar constituido por varios núcleos físicos o lógicos. Un
núcleo físico se refiere a una porción interna del microprocesador casi-independiente que
realiza todas las actividades de una CPU solitaria, un núcleo lógico es la simulación de un
núcleo físico a fin de repartir de manera más eficiente el procesamiento. Existe una tendencia
de integrar el mayor número de elementos dentro del propio procesador, aumentando así la
eficiencia energética y la miniaturización. Entre los elementos integrados están las unidades de
punto flotante, controladores de la memoria RAM, controladores de buses y procesadores
dedicados de vídeo.
Encapsulado:
Los primeros circuitos integrados tenían encapsulados planos de cerámica. Fueron utilizados
por los militares durante muchos años por su fiabilidad y pequeño tamaño. Los circuitos
integrados comerciales adoptaron la forma (DIP), al comienzo en cerámica y más tarde en
plástico. En la década de 1980 en los circuitos integrados VLSI el número de patillas excedió el
límite práctico para el encapsulado DIP, llegando nuevos formatos como pin grid array (PGA),
(LCC) (QFP). Los componentes de montaje superficial, aparecieron en la década de 1980 y se
hicieron populares. Estos nuevos formatos de encapsulado de montaje superficia reducir aún
más el tamaño de los equipos electrónicos de los que forman parte.
Unidad de coma flotante. Es la parte del micro especializada en esa clase de cálculos
matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte está
considerada como una parte «lógica» junto con los registros, la unidad de control, memoria y
bus de datos.
Una Unidad de Punto Flotante (Floating Point Unit en inglés) o, más comúnmente conocido
como coprocesador matemático, es un componente de la CPU especializado en las
operaciones de punto flotante. Las operaciones básicas que toda FPU puede realizar son las
aritméticas (suma y multiplicación), si bien algunos sistemas más complejos son capaces
también de realizar cálculos trigonométricos o exponenciales. No todas las CPUs tienen una
FPU dedicada. En ausencia de FPU, la CPU puede utilizar programas en micro código para
emular una función en punto flotante a través de la unidad aritmético-lógica (ALU), la cual
reduce el costo del hardware a cambio de una sensible pérdida de velocidad. El objetivo de
este artículo, es mostrar cómo puede ser implementado un coprocesador matemático
utilizando VHDL, para su implementación en cualquier FPGA.
Memoria Caché
Es una memoria ultrarrápida que emplea el procesador para tener alcance directo a ciertos
datos que «predeciblemente» serán utilizados en las siguientes operaciones, sin tener que
acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos. Todos
los micros compatibles con PC poseen la llamada caché interna de primer nivel o L1; es decir,
la que está dentro del micro, encapsulada junto a él. Los micros más modernos (Core i3, Core
i5, Core i7, etc.) incluyen también en su interior otro nivel de caché, más grande, aunque algo
menos rápida, es la caché de segundo nivel o L2 e incluso los hay con memoria caché de nivel
3, o L3.
Esta memoria cache es extremadamente rápida pero relativamente pequeña y hoy día se
encuentra integrada en el CPU (años atrás podía o no estar integrada en el CPU). Todas las
instrucciones se buscan primero aquí, si no están presentes entonces se procede al siguiente
nivel.
Esta memoria cache es considerablemente más grande que L1 y también está dentro del CPU
(años atrás no lo estaba). Si las instrucciones no fueron encontradas en el Nivel L1 entonces se
buscan en este Nivel L2, este tipo de memoria no es tan rápida como la usada en L1 por tanto
es de esperar un poco de latencia (demora).
Este es un nivel de memoria especializada que ayuda a mejorar el rendimiento de los Niveles
de Cache L1 y L2. Es mucho más lenta que la memoria L1 o L2, pero mucho más rápida que la
memoria RAM del Sistema. En el caso de los Procesadores con muchos Cores, cada uno de
ellos tiene su propio Cache L1 y Cache L2, pero, todos comparten el mismo Cache L3. Cuando
una instrucción es buscada en L3 se eleva a un cache de un nivel más alto.
Registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro
tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada
procesador. Un grupo de registros está diseñado para control del programador y hay otros que
no son diseñados para ser controlados por el procesador pero que la CPU los utiliza en algunas
operaciones, en total son treinta y dos registros.
Serie: El bus solamente es capaz de transferir los datos bit a bit. Es decir, el bus tiene un único
cable que transmite la información.
Paralelo: El bus permite transferir varios bits simultáneamente, por ejemplo 8 bits.
Memoria: es el lugar donde el procesador encuentra las instrucciones de los programas y sus
datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador
las accede desde allí. La memoria es una parte interna de la computadora y su función esencial
es proporcionar un espacio de almacenamiento para el trabajo en curso.
Señales de control: Las señales de control son señales electrónicas que controlan los
componentes del procesador que se utilizan para realizar una operación o ejecutar una
instrucción. Un elemento llamado "secuenciador" envía señales de control para indicar a la
unidad específica lo que necesita hacer a continuación. Por ejemplo, una señal de lectura o
escritura puede ser enviada a la memoria caché haciéndole saber que el procesador está
preparando para leer o escribir datos en la memoria del procesador.
Las unidades lógicas aritméticas (ALU) en los microprocesadores permiten a las computadoras
sumar, restar, multiplicar, dividir y realizar otras operaciones lógicas a altas velocidades.
Gracias los ALU avanzados, los modernos microprocesadores y las GPU (Unidades de Proceso
Gráfico) son capaces de realizar operaciones muy complicadas de números grandes de coma
flotante.
La frecuencia interna del procesador está usualmente basada en la frecuencia del FSB. Para
calcular la frecuencia interna de la CPU se multiplica la frecuencia del bus por un número
llamado multiplicador de reloj. Es importante destacar que para el cálculo, la CPU usa la
frecuencia real del bus y no la frecuencia efectiva. Para determinar la frecuencia real del bus
para procesadores que usan buses de tasa de datos dual (DDR, dual-data rate) (AMD Athlon y
Duron) y tasa de datos cuádruple (todos los procesadores Intel a partir del Pentium 4) la
velocidad efectiva del bus debe dividirse por 2 para AMD y por 4 para Intel.
Las placas madres alternan entre voltajes altos y bajos, creando un pulso constante. La
frecuencia externa es el número de veces por segundo que este pulso completa un ciclo. Por
ejemplo, una placa madre con un pulso que realiza ciclos 100 millones de veces por segundo
posee una frecuencia de reloj externa de 100 megahertz. Aunque este valor técnicamente
describe a la placa madre, los usuarios y fabricantes suelen referirse a él como la frecuencia
externa de la CPU.
La CPU es el componente más rápido que está presente en la mayoría de las computadoras,
operando a una tasa mucho mayor a la de la frecuencia externa. Según DSL Reports, las CPU
logran esto usando un multiplicador de núcleo interno. Este componente multiplica la
frecuencia externa para que la CPU opere a una tasa más rápida, lo que se conoce como
frecuencia interna, mientras permanece sincronizada con la placa madre. Por ejemplo, una
CPU con una frecuencia de 100 MHz y un multiplicador de 24x tiene una frecuencia interna de
2400 MHz, o 2,4 gigahertz.
Un sistema multiprocesador contiene más de una CPU, lo que les permite trabajar en paralelo.
Esto se llama SMP, o Simultánea de Multiprocesamiento.
Un multi*core* CPU tiene varios ejecución de los núcleos de una CPU. Ahora, esto puede
significar cosas diferentes dependiendo de la arquitectura, pero básicamente significa que un
cierto subconjunto de la CPU componentes se duplica, por lo que varios "núcleos" pueden
trabajar en paralelo en operaciones separadas. Esto se llama CMP, nivel de Chip
Multiprocesamiento.
Por ejemplo, un procesador multinúcleo puede tener un caché L1 y de la unidad de ejecución
de cada núcleo, mientras que tiene una caché L2 compartida por todo el procesador. Eso
significa que mientras que el procesador tiene una gran piscina de la desaceleración de la
caché, se ha separado de memoria rápida y artithmetic/unidades lógicas para cada uno de
varios núcleos. Esto permitiría que cada núcleo de realizar las operaciones, al mismo tiempo,
como los demás.
Hay incluso una nueva división, denominada SMT, Simultaneous Multithreading. Esto es donde
un subconjunto más pequeño aún de un procesador o núcleo del componentes se duplica. Por
ejemplo, un SMT núcleo podría haber duplicado el hilo de la programación de los recursos, de
modo que el núcleo se ve como dos separados "procesadores" para el sistema operativo, a
pesar de que solo tiene un conjunto de unidades de ejecución. Una aplicación común de este
es de Intel Hyperthreading.
Por lo tanto, usted podría tener varios procesadores multinúcleo, multiproceso sistema. Algo
así como dos quad-core, hyperthreaded procesadores de darle 2x4x2 = 16 procesadores
lógicos desde el punto de vista del sistema operativo.
Encapsulado (Sockets)
Existen variantes desde 40 conexiones para integrados pequeños, hasta más de 1300 para
microprocesadores, los mecanismos de retención del integrado y de conexión dependen de
cada tipo de zócalo, aunque en la actualidad predomina el uso de zócalo con pines (Zero
Insertion Force, ZIF) o LGA con contactos.
PGA (Pin Grid Array): Consiste en un cuadrado de conectores donde se insertan los pines del
microprocesador y éste se fija mediante un tornillo existente en el lateral del zócalo y por
presión con el disipador. Actualmente obsoleto.
Frecuencia de reloj
Los equipos están diseñados y operan en función de una señal de sincronización. Esta señal,
conocida como señal de reloj, usualmente toma la forma de una onda cuadrada periódica.
Calculando el tiempo máximo en que las señales eléctricas pueden moverse en las varias
bifurcaciones de los muchos circuitos de un CPU, los diseñadores pueden seleccionar
un período apropiado para la señal del reloj.
Este período debe ser más largo que la cantidad de tiempo que toma a una señal moverse, o
propagarse en el peor de los casos. Al fijar el período del reloj a un valor bastante mayor sobre
el retardo de la propagación del peor caso, es posible diseñar todo el CPU y la manera que
mueve los datos alrededor de los "bordes" de la subida y bajada de la señal del reloj. Esto tiene
la ventaja de simplificar el CPU significativamente, tanto en una perspectiva de diseño, como
en una perspectiva de cantidad de componentes. Sin embargo, esto también tiene la
desventaja que todo el CPU debe esperar por sus elementos más lentos, aun cuando algunas
unidades de la misma son mucho más rápidas. Esta limitación ha sido compensada en gran
parte por varios métodos de aumentar el paralelismo del CPU (ver abajo).
Sin embargo, las mejoras arquitectónicas por sí solas, no solucionan todas las desventajas de
CPUs globalmente síncronas. Por ejemplo, una señal de reloj está sujeta a los retardos de
cualquier otra señal eléctrica. Velocidades de reloj más altas en CPUs cada vez más complejas
hacen más difícil de mantener la señal del reloj en fase (sincronizada) a través de toda la
unidad. Esto ha conducido que muchos CPU modernos requieran que se les proporcione
múltiples señales de reloj idénticas, para evitar retardar una sola señal lo suficiente como para
hacer al CPU funcionar incorrectamente. Otro importante problema cuando la velocidad del
reloj aumenta dramáticamente, es la cantidad de calor que es disipado por el CPU. La señal del
reloj cambia constantemente, provocando la conmutación de muchos componentes (cambio
de estado) sin importar si están siendo usados en ese momento. En general, un componente
que está cambiando de estado, usa más energía que un elemento en un estado estático. Por lo
tanto, a medida que la velocidad del reloj aumenta, así lo hace también la disipación de calor,
causando que el CPU requiera soluciones de enfriamiento más efectivas.
2. Codificación Binaria
El código binario
En un código binario de ancho fijo, cada letra, dígito, u otros símbolos, están representados
por una cadena de bits de la misma longitud, como un número binario que, por lo general,
aparece en las tablas en notación octal, decimal o hexadecimal. Según Anton Glaser, en su
History of Binary and other Nondecimal Numeration, comenta que los primeros códigos
binarios se utilizaron en el año 1932: C.E. Wynn-Williams ("Scale of Two"), posteriormente en
1938: Atanasoff-Berry Computer, y en 1939: Stibitz ("excess three") el código en Complex
Computer.
Es frecuente también ver la palabra bit referida bien a la ausencia de señal, expresada con el
dígito "0", o bien referida a la existencia de la misma, expresada con el dígito "1". El byte es un
grupo de 8 bits, es decir en él tenemos 256 posibles estados binarios.
Sistema octal
El sistema de numeración posicional cuya base es 8, se llama octal y utiliza los dígitos indio
arábigos: 0,1,2,3,4,5,6,7. En informática a veces se utiliza la numeración octal en vez de la
hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los
dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es
una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así
definido es completamente representable por dos dígitos hexadecimales.
1834 + 0,40625d
El sub índice "q" indica número octal, se usa la letra q para evitar confusión entre la letra 'o' y
el número 0. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal.
Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Es posible
que la numeración octal se usara en el pasado en lugar de la decimal, por ejemplo, para contar
los espacios interdigitales o los dedos distintos de los pulgares.
Es utilizado como una forma abreviada de representar números binarios que emplean
caracteres de seis bits. Cada tres bits (medio carácter) es convertido en un único dígito octal
(del griego oktō 'ocho') Esto es muy importante por eso.
Sistema hexadecimal
Sistema de numeración posicional que tiene como base el 16. El sistema hexadecimal
(abreviado como 'Hex', no confundir con sistema sexagesimal) es el sistema de numeración
posicional que tiene como base el 16. Su uso actual está muy vinculado a la informática y
ciencias de la computación donde las operaciones de la CPU suelen usar el byte u octeto como
unidad básica de memoria, debido a que un byte representa 28 valores posibles, y esto puede
representarse como
S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,F}
Se debe notar que las letras corresponden a los siguientes valores numéricos decimales:
F = 15.
3E0A16 = 3×163 + E×162 + 0×161 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882.
El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez
por IBM en 1963. Una representación anterior, con 0-9 y u-z, fue usada en 1956 por la
computadora Bendix G-15.
Tipo de Operaciones:
Aritmética binaria
Suma binaria
La adición binaria utiliza el mismo algoritmo que utilizan los números decimales; pero debe
tener en cuenta la anotación hecha en la sección acerca del acarreo.
Efectué:
Sustracción binaria
La adición binaria se realiza de igual manera que con los números decimales; pero debe tener
en cuenta la anotación hecha en la sección acerca del préstamo binario. Para restar números
binarios se pueden tener dos casos:
En los sistemas digitales se usan frecuentemente los Flip-Flops que son elementos de memoria
de 1 bit (binary digit) conformados por componentes lógicos combinatorios conectados en una
conguración con retroalimentación. Los Flip- Flops son circuitos electrónicos que alternan
entre dos estados; pueden mantener un estado de salida después de desaparecer la condición
de entrada que produjo ese estado. Los sistemas digitales, en particular las computadoras,
almacenan los números binarios en Flip-Flops para almacenar el signo de estos números; en
efecto, se introduce a la izquierda del binario un bit adicional, así:
Complemento a 1. Permite cambiar los bits o cifras binarias, así: 0 por 1 y 1 por 0. Ejemplo 2.4:
el complemento a 1 de 10111001012 es 01000110102
Complemento a 2. Consiste en sumar 1 a la cifra más signicativa del número binario obtenido
en complemento a 1.
El complemento a 2 de 10111001012 es
El complemento a 2 es la técnica más utilizada para representar números binarios con signo,
permitiendo convertir la sustracción en una adición. Lo anterior, hace que el sistema digital
utilice solamente un circuito para realizar ambas operaciones.
Ejemplo 2.6: exprese con 6 bits más el signo a los siguientes números
a) +25
b) –25
Solución:
Nota: el intervalo de valores que debe tener el número binario del resultado de una operación
con signo va desde –2n hasta +(2n -1) con n= número de bits. Es de tal manera que quienes
crean los compiladores tienen que tener en cuenta tal intervalo.
¿Cuál es la cantidad de bits que tienen los números enteros de un lenguaje de programación,
dado que su intervalo es –32768 hasta 32767?
Por lo tanto, en algunos lenguajes de programación los números enteros con signo se escriben
con máximo 16 bits.
Solución:
El máximo número entero que se puede formar con estos números es 74 que se encuentra
entre 64=26 y 128=67. Luego, se necesitan 7 bits para expresar a dichos enteros.
Si se quiere obtener –49, en efecto se tendría que hallar complemento a 2 al resultado (1):
Para multiplicar binarios se realiza el mismo procedimiento que con números enteros. Para tal
fin, a continuación se presenta la tabla de la multiplicación que servirá de base para efectuar
dicha operación.
División binaria
Para dividir binarios se realiza el mismo procedimiento que con números enteros. Para tal fin,
realice la división utilizando el método de resta, en la que a la parte del dividendo se sustrae el
producto de las veces que cabe divisor en la parte del residuo por el divisor.
Solución:
La parte que va en paréntesis (1001)2 indica que se repite; es decir, corresponde a un decimal
periódico.
Operaciones Lógica
La lógica binaria es la que trabaja con variables binarias y operaciones lógicas del Álgebra de
Boole. Así, las variables sólo toman dos valores discretos, V (verdadero) y F (falso), aunque
estos dos valores lógicos también se pueden denotar como sí y no, o como 1 y 0
respectivamente.
Es la base de los Sistemas Digitales y ello implica también, la base de la estructura de los
computadores.
Perspectiva general
digital.
Principio de dualidad
Todas las expresiones booleanas permanecen válidas si se intercambian los operadores '+' y '·',
y los elementos '0' y '1'. Así, para obtener una expresión algebraica dual se intercambian los
operadores "Y" y "O", y se reemplazan unos por ceros y viceversa.
Es una función unaria que invierte el valor lógico de su argumento, por lo que también se llama
función NOT, del inglés "no". Puede interpretarse, además, como restar el valor del argumento
a 1, por lo que a veces se conoce como resta lógica.
Notación
Suele simbolizarse por una barra horizontal sobre su argumento ( á ) o añadiendo un apóstrofo
a continuación de él (a ´ ).
0́=1
1́=0
Es una función de varios argumentos que vale 0 sólo si todos sus argumentos valen 0. En el
resto de casos vale 1. Equivale a la suma porque sólo hay dos valores posibles, 0 y 1, por lo que
1+1 por lo que sigue resultando 1.
Notación
Suele representarse como un operador binario entre sus argumentos,
simbolizado por +. O bien por OR (de la conjunción inglesa "o").
Evaluación
0+ 0=0
0+1=1
1+0=1
1+1=1
Ejemplo: A · (B + C)
A B C A·(B+C)
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 0
0 1 0 0
0 0 1 0
0 0 0 0
Un ejemplo de esta limitación puede ser la incapacidad de algunas máquinas antiguas para
transmitir datos de más de 7 bits. Tratando de enviar datos de 8 bits (es decir, compuestas de
bytes de 8 bits) sin una codificación especial puede causar efectos indeseados cuando llegan a
un ordenador antiguo (por el que pasan los datos) que puede tomar ciertos octetos como
caracteres de control y realizar una acción en lugar de transferirlos tal como están.
Ejemplos de Sistemas:
Base64
Base 64 es un sistema de numeración posicional que usa 64 como base. Es la mayor potencia
que puede ser representada usando únicamente los caracteres imprimibles de ASCII. Esto ha
propiciado su uso para codificación de correos electrónicos, PGP y otras aplicaciones. Todas las
variantes famosas que se conocen con el nombre de Base64 usan el rango de caracteres A-Z, a-
z y 0-9 en este orden para los primeros 62 dígitos, pero los símbolos escogidos para los últimos
dos dígitos varían considerablemente de unas a otras. Otros métodos de codificación como
UUEncode y las últimas versiones de binhex usan un conjunto diferente de 64 caracteres para
representar 6 dígitos binarios, pero estos nunca son llamados Base64.
UUEncode
BinHex
BinHex es el nombre de un alfabeto de caracteres que proviene del nombre dado al algoritmo
de conversión de «binario a hexadecimal», (en inglés Binary to Hexadecimal conversion) y que
usa caracteres ASCII de 7 bits.
El BinHex es un algoritmo de archivo codificado con este método puede ser mucho más grande
que el original, de modo que la codificación BinHex es en general, sometida a una compresión
adicional mediante una utilidad externa como Stuffit que es equipamiento de serie en los del
ordenadores Macintosh.
3. Microprocesadores
Sus partes:
La medición del rendimiento de un microprocesador es una tarea compleja, dado que existen
diferentes tipos de "cargas" que pueden ser procesadas con diferente efectividad por
procesadores de la misma gama. Una métrica del rendimiento es la frecuencia de reloj que
permite comparar procesadores con núcleos de la misma familia, siendo este un indicador
muy limitado dada la gran variedad de diseños con los cuales se comercializan los
procesadores de una misma marca y referencia. Un sistema informático de alto rendimiento
puede estar equipado con varios microprocesadores trabajando en paralelo, y un
microprocesador puede, a su vez, estar constituido por varios núcleos físicos o lógicos. Un
núcleo físico se refiere a una porción interna del microprocesador casi-independiente que
realiza todas las actividades de una CPU solitaria, un núcleo lógico es la simulación de un
núcleo físico a fin de repartir de manera más eficiente el procesamiento. Existe una tendencia
de integrar el mayor número de elementos dentro del propio procesador, aumentando así la
eficiencia energética y la miniaturización. Entre los elementos integrados están las unidades de
punto flotante, controladores de la memoria RAM, controladores de buses y procesadores
dedicados de vídeo.
Encapsulado:
Los primeros circuitos integrados tenían encapsulados planos de cerámica. Fueron utilizados
por los militares durante muchos años por su fiabilidad y pequeño tamaño. Los circuitos
integrados comerciales adoptaron la forma (DIP), al comienzo en cerámica y más tarde en
plástico. En la década de 1980 en los circuitos integrados VLSI el número de patillas excedió el
límite práctico para el encapsulado DIP, llegando nuevos formatos como pin grid array (PGA),
(LCC) (QFP). Los componentes de montaje superficial, aparecieron en la década de 1980 y se
hicieron populares. Estos nuevos formatos de encapsulado de montaje superficia reducir aún
más el tamaño de los equipos electrónicos de los que forman parte.
Unidad de coma flotante. Es la parte del micro especializada en esa clase de cálculos
matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte está
considerada como una parte «lógica» junto con los registros, la unidad de control, memoria y
bus de datos.
Una Unidad de Punto Flotante (Floating Point Unit en inglés) o, más comúnmente conocido
como coprocesador matemático, es un componente de la CPU especializado en las
operaciones de punto flotante. Las operaciones básicas que toda FPU puede realizar son las
aritméticas (suma y multiplicación), si bien algunos sistemas más complejos son capaces
también de realizar cálculos trigonométricos o exponenciales. No todas las CPUs tienen una
FPU dedicada. En ausencia de FPU, la CPU puede utilizar programas en micro código para
emular una función en punto flotante a través de la unidad aritmético-lógica (ALU), la cual
reduce el costo del hardware a cambio de una sensible pérdida de velocidad. El objetivo de
este artículo, es mostrar cómo puede ser implementado un coprocesador matemático
utilizando VHDL, para su implementación en cualquier FPGA.
Memoria Caché
Es una memoria ultrarrápida que emplea el procesador para tener alcance directo a ciertos
datos que «predeciblemente» serán utilizados en las siguientes operaciones, sin tener que
acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos. Todos
los micros compatibles con PC poseen la llamada caché interna de primer nivel o L1; es decir,
la que está dentro del micro, encapsulada junto a él. Los micros más modernos (Core i3, Core
i5, Core i7, etc.) incluyen también en su interior otro nivel de caché, más grande, aunque algo
menos rápida, es la caché de segundo nivel o L2 e incluso los hay con memoria caché de nivel
3, o L3.
Esta memoria cache es extremadamente rápida pero relativamente pequeña y hoy día se
encuentra integrada en el CPU (años atrás podía o no estar integrada en el CPU). Todas las
instrucciones se buscan primero aquí, si no están presentes entonces se procede al siguiente
nivel.
Esta memoria cache es considerablemente más grande que L1 y también está dentro del CPU
(años atrás no lo estaba). Si las instrucciones no fueron encontradas en el Nivel L1 entonces se
buscan en este Nivel L2, este tipo de memoria no es tan rápida como la usada en L1 por tanto
es de esperar un poco de latencia (demora).
Este es un nivel de memoria especializada que ayuda a mejorar el rendimiento de los Niveles
de Cache L1 y L2. Es mucho más lenta que la memoria L1 o L2, pero mucho más rápida que la
memoria RAM del Sistema. En el caso de los Procesadores con muchos Cores, cada uno de
ellos tiene su propio Cache L1 y Cache L2, pero, todos comparten el mismo Cache L3. Cuando
una instrucción es buscada en L3 se eleva a un cache de un nivel más alto.
Registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro
tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada
procesador. Un grupo de registros está diseñado para control del programador y hay otros que
no son diseñados para ser controlados por el procesador pero que la CPU los utiliza en algunas
operaciones, en total son treinta y dos registros.
Serie: El bus solamente es capaz de transferir los datos bit a bit. Es decir, el bus tiene un único
cable que transmite la información.
Paralelo: El bus permite transferir varios bits simultáneamente, por ejemplo 8 bits.
Memoria: es el lugar donde el procesador encuentra las instrucciones de los programas y sus
datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador
las accede desde allí. La memoria es una parte interna de la computadora y su función esencial
es proporcionar un espacio de almacenamiento para el trabajo en curso.
Señales de control: Las señales de control son señales electrónicas que controlan los
componentes del procesador que se utilizan para realizar una operación o ejecutar una
instrucción. Un elemento llamado "secuenciador" envía señales de control para indicar a la
unidad específica lo que necesita hacer a continuación. Por ejemplo, una señal de lectura o
escritura puede ser enviada a la memoria caché haciéndole saber que el procesador está
preparando para leer o escribir datos en la memoria del procesador.
Las unidades lógicas aritméticas (ALU) en los microprocesadores permiten a las computadoras
sumar, restar, multiplicar, dividir y realizar otras operaciones lógicas a altas velocidades.
Gracias los ALU avanzados, los modernos microprocesadores y las GPU (Unidades de Proceso
Gráfico) son capaces de realizar operaciones muy complicadas de números grandes de coma
flotante.
La frecuencia interna del procesador está usualmente basada en la frecuencia del FSB. Para
calcular la frecuencia interna de la CPU se multiplica la frecuencia del bus por un número
llamado multiplicador de reloj. Es importante destacar que para el cálculo, la CPU usa la
frecuencia real del bus y no la frecuencia efectiva. Para determinar la frecuencia real del bus
para procesadores que usan buses de tasa de datos dual (DDR, dual-data rate) (AMD Athlon y
Duron) y tasa de datos cuádruple (todos los procesadores Intel a partir del Pentium 4) la
velocidad efectiva del bus debe dividirse por 2 para AMD y por 4 para Intel.
Las placas madres alternan entre voltajes altos y bajos, creando un pulso constante. La
frecuencia externa es el número de veces por segundo que este pulso completa un ciclo. Por
ejemplo, una placa madre con un pulso que realiza ciclos 100 millones de veces por segundo
posee una frecuencia de reloj externa de 100 megahertz. Aunque este valor técnicamente
describe a la placa madre, los usuarios y fabricantes suelen referirse a él como la frecuencia
externa de la CPU.
La CPU es el componente más rápido que está presente en la mayoría de las computadoras,
operando a una tasa mucho mayor a la de la frecuencia externa. Según DSL Reports, las CPU
logran esto usando un multiplicador de núcleo interno. Este componente multiplica la
frecuencia externa para que la CPU opere a una tasa más rápida, lo que se conoce como
frecuencia interna, mientras permanece sincronizada con la placa madre. Por ejemplo, una
CPU con una frecuencia de 100 MHz y un multiplicador de 24x tiene una frecuencia interna de
2400 MHz, o 2,4 gigahertz.
Un multi*core* CPU tiene varios ejecución de los núcleos de una CPU. Ahora, esto puede
significar cosas diferentes dependiendo de la arquitectura, pero básicamente significa que un
cierto subconjunto de la CPU componentes se duplica, por lo que varios "núcleos" pueden
trabajar en paralelo en operaciones separadas. Esto se llama CMP, nivel de Chip
Multiprocesamiento.
Hay incluso una nueva división, denominada SMT, Simultaneous Multithreading. Esto es donde
un subconjunto más pequeño aún de un procesador o núcleo del componentes se duplica. Por
ejemplo, un SMT núcleo podría haber duplicado el hilo de la programación de los recursos, de
modo que el núcleo se ve como dos separados "procesadores" para el sistema operativo, a
pesar de que solo tiene un conjunto de unidades de ejecución. Una aplicación común de este
es de Intel Hyperthreading.
Por lo tanto, usted podría tener varios procesadores multinúcleo, multiproceso sistema. Algo
así como dos quad-core, hyperthreaded procesadores de darle 2x4x2 = 16 procesadores
lógicos desde el punto de vista del sistema operativo.
Encapsulado (Sockets)
Existen variantes desde 40 conexiones para integrados pequeños, hasta más de 1300 para
microprocesadores, los mecanismos de retención del integrado y de conexión dependen de
cada tipo de zócalo, aunque en la actualidad predomina el uso de zócalo con pines (Zero
Insertion Force, ZIF) o LGA con contactos.
Tipos de zócalos
PGA (Pin Grid Array): Consiste en un cuadrado de conectores donde se insertan los pines del
microprocesador y éste se fija mediante un tornillo existente en el lateral del zócalo y por
presión con el disipador. Actualmente obsoleto.
ZIF (Zero Insertion Force): Se trata de una evolución del PGA, donde los pines los lleva el
microprocesador y se insertan en los conectores del zócalo, pero con una gran variación, la
palanca que hay al lado del zócalo permite introducirlo sin hacer fuerza, evitando que se
puedan doblar las patillas, y bloquearlo para que no se salga incluso si no tuviera el disipador
colocado.
BGA (Ball Grid Array): En este caso tenemos en lugar de pines existen unas bolitas cobre que se
sueldan directamente a la placa base. Elimina cualquier posibilidad de ampliación o sustitución
del microprocesador.
LGA (Land Grid Array). Este zócalo sigue la filosofía del ZIF, pero en esta ocasión los pines se
encuentran en la placa base en lugar de estar en el microprocesador, mientras que el
microprocesador contiene huecos en su parte inferior donde éstos se insertarán. De esta
manera se evita que se dañen los pines del microprocesador. Es el más actual de todos los
zócalos.
Slot: Totalmente diferente a los anteriores. Se trata de de un rectángulo similar a las ranuras
de expansión. Utiliza contactos (y no pines como los anteriores) para la transmisión de datos y
electricidad. Se ayuda de unas pestañas de sujeción laterales para que no se mueva. Está
obsoleto, sólo lo utilizó Intel en los microprocesadores Celeron, Pentium II y Pentium III.
Refrigeración: Aire (Disipadores y Ventiladores) y Liquida
Disipador: El disipador de calor de la unidad, actúa como un conductor térmico. Esto significa
que recoge todo el calor que el procesador emite transportándolo hasta zonas con un
gradiente de temperaturas menor para intentar alcanzar un equilibrio térmico. Los disipadores
de calor emplean aluminio o cobre.
Los de aluminio, a pesar de ser capaces de llevar a cabo una buena cantidad de calor, tienen
una baja conductividad térmica en comparación con los de cobre, concretamente estamos
hablando de 237 W/(K·m)
Por otro lado, el cobre es más pesado que el aluminio, lo que pone un peso extra que debe
soportar la placa base, eso sí, la conductividad es bastante mayor, llegando hasta los 385
W/(K·m)
Refrigeración liquida: La refrigeración líquida o Water Cooling entre las mejores opciones
disponibles para la refrigeración de los componentes de tu equipo, pero estos son los sistemas
de gama alta que vienen con un precio algo más elevado, aunque actualmente existen
modelos bastante asequibles.
Actualmente las refrigeraciones líquidas ofrecen muchos beneficios que debemos tener en
cuenta. Peso liviano y mayor superficie de intercambio.
Los líquidos cuentan con una conductividad mucho menos que los metales, pero tiene mayor
capacidad de almacenar este. Y es por este motivo por el que creamos un circuito cerrado en
donde un líquido recoge el calor de la CPU. Éste es llevado hacia un intercambiador o radiador
mediante el cual circula este líquido repartiendo el calor por las aletas metálicas, que a su vez
expulsan el calor hacia el aire en contacto con ellas.
Muchas personas caen en el error que cuanto más potente es el ordenador, más ventiladores
necesitan para refrigerarlo. Realmente lo único que necesitamos es un buen flujo y los
ventiladores adecuados para facilitar la regeneración de aire.
Una de las ventajas de la refrigeración líquida es que no ocupa mucho espacio debido a su
menor volumen y un sistema distinto al de aire. Esto permite la construcción de un equipo con
un perfil más delgado que el tradicional y que cada vez se está estandarizando más las cajas
ITX de alto rendimiento.
Por defecto todas las tarjetas gráficas y procesadores vienen de fábrica al mismo nivel de GHz,
voltaje y otros parámetros, aunque esto no se hace así porque este sea el límite que puede
alcanzar. Por ejemplo, un procesador que de fábrica cuenta con varios núcleos a 3,2 GHz
puede aumentar su velocidad a través de la configuración de la BIOS o de software especial,
aunque hasta dónde podrá llegar depende únicamente de cada unidad en cuestión.
Aunque compremos dos procesadores o tarjetas gráficas iguales, lo más probable es que no
podamos overclockear ambas al mismo nivel ya que también influye la calidad de cada placa y
chip de procesamiento. Además, para alcanzar altos niveles de overclocking necesitaremos
disponer de un buen sistema de refrigeración, como la refrigeración líquida.
Hacer esto conlleva forzar más estos componentes, generando más consumo energético, y por
tanto provocando que produzcan más calor, lo que puede reducir su vida útil. Además, los
fabricantes no tramitarán la garantía de un productos que hayan sido overclockeados a menos
que indiquen lo contrario, aunque las tarjetas gráficas que ya cuentan con un overclock de
fábrica lógicamente seguirán contando con garantía mientras no hagamos cambios
adicionales.
IA-32 (Intel Architecture, 32-bit), conocida de manera genérica como x86, x86-32 o i386, es la
arquitectura del conjunto de instrucciones del procesador de Intel comercialmente más
exitoso. Es una extensión de 32-bit, primero implementada en el Intel 80386, proveniente de
los antiguos procesadores Intel 8086,80186 y 80286 de 16-bit y el denominador común de
todos los diseños x86 subsecuentes. Esta arquitectura define el conjunto de instrucciones para
la familia de microprocesadores instalados en la gran mayoría de computadoras personales en
el mundo.
La longevidad se debe en parte a la completa compatibilidad hacia atrás y que la arquitectura
también se ha extendido a 64-bits, sin romper la compatibilidad. Esta extensión es conocida
como Intel 64 por Intel o AMD64 por AMD (y referida genéricamente como x86-64 o x64) y no
está relacionada de manera alguna a la arquitectura IA-64 de 64-bits implementada por la
serie Itanium de Intel.
4. Arquitectura Hardware
Intel 8086: Utilizado por primera vez en las computadoras Compaq Deskpro IBM compatibles
con PC en el 8 de junio de 1978. Fue la primera CPU x86. Tiempo después se renombró iAPX
86. Y luego fue utilizado en la informática portátil, y en el IBM PS/2 Modelo 25 y Modelo 30.
También utilizado en el AT&T PC6300 / Olivetti M24, un popular IBM PC compatible (anterior a
la línea IBM PS/2)
Pentium II Pentium Pro con MMX y rendimiento mejorado de 16 bits, publicado el 7 de mayo
de 1997 con 7,5 millones de transistores y 512 KB 1⁄2 ancho de banda caché L2 externa. El único
Pentium II que no tenía el caché L2 a 1⁄2 ancho de banda del núcleo fue el Pentium II 450 PE.
Pentium III[ Katmai: Tecnología de proceso de 0.25 μm PII mejorada, es decir, núcleo basado
en P6, que ahora incluye extensiones SIMD de transmisión (SSE) Introducido el 26 de febrero
de 1999 Paquete de procesador de 242 pines Ranura 1 SECC2 (cartucho de contacto de borde
único 2) Pentium 4 Introducido el 20 de noviembre de 2000 con Tecnología de proceso de 0.18
μm (1.40 y 1.50 GHz) Su uso fue en escritorios y estaciones de trabajo de nivel básico. Y
posteriormente con tecnología de proceso de 0.13 μm Northwood C (2.4, 2.6, 2.8, 3.0, 3.2, 3.4
GHz)
También están:
Centrino: la marca Centrino o Centrino Duo (también conocida como Centrino Mobile
Technology en inglés/Tecnología Móvil Centrino en español) era una tecnología desarrollada
por Intel para promocionar en el diseño de un ordenador personal portátil una combinación
determinada de:
CPU Intel Pentium M o, posteriormente, Intel Core Duo o Intel Core 2 Duo. Placa madre con
chipsets Intel 855 o Intel 915 o Intel 945. Interface de red inalámbrica del tipo Intel
PRO/Wireless 2100 (IEEE 802.11a/b) o PRO/Wireless 2200 (IEEE 802.11b/g) o posterior.
Simboliza desde el 7 de enero de 2010 a los adaptadores Wi-Fi y WiMAX de Intel como Intel
Centrino Wireless.1
Pentium D Microprocesador de doble núcleo. Con dos variaciones que son: Smithfield
(Pentium D): tecnología de proceso de 90 nm (2,66–3,2 GHz) (sacado el el 26 de mayo de 2005)
y Presler (Pentium D): tecnología de proceso de 65 nm (2.8–3.6 GHz) (en el 16 de enero de
2006)
Intel Core Duo es un microprocesador de sexta generación lanzado en enero del 2006 por
Intel Dispone de dos núcleos de ejecución lo cual hace de este procesador especial para las
aplicaciones de subprocesos múltiples y para multitarea. Puede ejecutar varias aplicaciones
exigentes simultáneamente, como juegos con gráficos potentes o programas que requieran
muchos cálculos, al mismo tiempo que permite descargar música o analizar el PC con un
antivirus en segundo plano, por ejemplo.
La marca Core 2 fue introducida el 27 de julio de 2006, abarcando las líneas Solo (un núcleo),
Duo (doble núcleo), Quad (cuádruple núcleos), y Extreme (CPU de dos o cuatro núcleos para
entusiastas), durante el 2007.4 Los procesadores Intel Core 2 con tecnología vPro (diseñados
para negocios) incluyen las ramas de doble núcleo y cuatro núcleos.
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.
AMD:
El microprocesador Am386 fue lanzado al mercado por AMD en 1991. Era un procesador con
características semejantes al Intel 80386 y compatible 100% con este último, se vendieron
millones de unidades de este, y esto posicionó a AMD como un legítimo competidor de Intel,
siendo más que solo la segunda fuente de microprocesadores x86 (en ese tiempo llamada la
familia 8086).
AMD 486:
En el mercado, Intel venció a AMD por casi cuatro años, pero AMD ofreció sus 486 de 40 MHz
al mismo precio o por debajo del chip Intel de 33 MHz, ofreciendo, por el mismo precio, cerca
de un 20% de mejora en el desempeño
AMD K5:
AMD K7-Athlon:
Núcleo Classic
El procesador Athlon se lanzó al mercado el 21 de agosto de 1999. El primer núcleo del Athlon,
conocido en clave como "K7" (en homenaje a su antecesor, el K6), estuvo disponible
inicialmente en versiones de 500 a 650 MHz, pero después alcanzó velocidades de hasta
1 GHz, siendo el primer procesador en romper la barrera del GHz. El procesador es compatible
con la arquitectura x86 y debe ser conectado en placas base con Slot A, que son compatibles
mecánicamente, pero no eléctricamente, con el Slot 1 de Intel.
IBM:
Cyrix:
AMD64 Opteron:
POWER PC:
Microprocesadores Actuales:
l Intel Core i9 es un procesador para computadoras diseñado y fabricado por Intel1, que se
presentó en mayo de 2017, se considera de muy alta calidad en el campo de los
microprocesadores de múltiples núcleos.
AMD:
Historia:
Intel se fundó en el año 1968 pero no fue hasta 1971 que sacó su primer procesador, el Intel
4004. Fue el primer microprocesador del mundo y también el primero disponible
comercialmente. Se creó en un simple chip, era un CPU de 4 bits con una velocidad de 740 KHz
y lo desarrolló totalmente la empresa Intel. Gracias a este primer microprocesador se pudo
desarrollar la calculadora Busicom, el primer objeto inteligente de la historia.
Al año siguiente la marca lanzó el Intel 8008, de 8 bits, que en un principio tenía que ser parte
del ordenador Datapoint 2200 pero, finalmente, no fue así. Este procesador fue un poco más
allá y era hasta de tres a cuatro veces más potente que el 4004.
En 1974 salió el Intel 8080, considerado el primer microprocesador realmente usable y que se
comercializó para el público en general. Tenía 8 bits y funcionaba a una velocidad de 2 MHz.
Dos años más tarde, Intel inauguró la era de chips con dos y cuatro núcleos con los Intel Core 2
Duo. Gracias a estos procesadores, el rendimiento de los anteriores Pentium 4 aumentó
considerablemente.
La evolución pedía mucho más. En el 2008 había muchos aparatos que pedían a gritos ser más
inteligentes. Intel lanzó entonces los primeros procesadores ATOM, especialmente diseñados
para ultra-portátiles y smartphones. Y ya como última gran innovación de Intel, en el 2010,
lanzó los primeros chips con gráfica integrada.