Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentación:
Hoy en día nadie duda que las computadoras forman parte activa de nuestras vidas. Ya casi nada ocurre sin
que medie una computadora. Es por esta razón que resulta importante conocer cómo se componen, como están
organizados y la diferencias que existen entre los sistemas, las aplicaciones, el hardware y el ordenamiento
lógico entre cada uno de estos componentes.
Para un buen desenvolvimiento en el área de las aplicaciones es vital conocer desde adentro una computadora
de escritorio y describir de manera simple y objetiva los elementos que la componen. Entender la diferencia
entre lo que es el sistema operativo y las aplicaciones, entre el hardware y la conectividad y entre los diferentes
tipos de almacenamiento hará que cada uno de nosotros pueda optimizar el uso de este recurso y desde ya
sacarle el máximo de provecho.
Objetivos:
Generales
Analizar la estructura y el funcionamiento de los computadores.
Reconocer los principales componentes de diseño de un microprocesador.
Comprender la interrelación entre los fundamentos de la organización y la arquitectura de computadores.
Analizar los principios de funcionamiento de las arquitecturas relacionados con computadores avanzados.
Específicos
Reconocer los sistemas numéricos, métodos de conversión y operaciones básicas.
Reconocer la arquitectura básica del ordenador, Modelo de Von Neumann.
Identificar los componentes de la Mother Board, relaciones y comunicación entre ellos.
Reconocer los componentes, funcionamiento y técnicas de microprocesadores.
Reconocer los distintos medios de almacenamiento para elegir el más conveniente a la hora de utilizarlos.
Identificar los dispositivos externos y los procesos, de audio, video e impresión.
Competencias:
Genéricas:
- Manejo de Tecnología
Específicas:
Contenidos:
1 - INTRODUCCIÓN AL FUNCIONAMIENTO DE UN MICROORDENADOR -
MODULO 1
1
1.1 - Sistemas de numeración. - MODULO 1
2
1.21 - Criterios de clasificación de los sistemas de memoria: ubicación, capacidad,
unidad de transferencia, método de acceso, dispositivo físico, características físicas
(volátil / no volátil, borrable / no borrable). - MODULO 1
1.22 - Capacidad y organización de almacenamiento. - MODULO 1
2.9 - Interfaces paralela: Centronics, estándar IEEE 1284, Small Computer Systems
Interface (SCSI). - MODULO 2
2.12 - Control de errores: errores más comunes. Ejemplo de buses comerciales (bus
PCI, bus serie FireWire). - MODULO 2
3
2.13 - Interconexión entre procesador y periféricos. - MODULO 2
4
3.15 - Procesadores superescalares y segmentados - MODULO 3
4.2 - Medios magnéticos: discos rígidos, discos flexibles, organización de los discos
magnéticos. - MODULO 4
4.6 - Medios transportables (LS 120, Zip, Jazz, Sea Quest, etc.) : características
generales. - MODULO 4
5
5.1 - Teorema del muestreo. - MODULO 4
Bibliografía:
Básica:
- Quiroga, I. P. ; 2010; Arquitectura de Computadoras.; Buenos Aires; Alfaomega Grupo Editor Argentino.
- Stallings, William; 2005; Organización y arquitectura de computadores; 7°; Madrid, España; Pearson
Ampliatoria:
Recursos:
Contenidos y materiales multimediales en plataforma.
Bibliografía obligatoria.
Buscadores vinculados a la profesión.
6
Carga Horaria:
La carga horaria semestral dedicada al dictado de la asignatura es 64 horas reloj.
Metodología:
Las clases se organizarán tomando como base el material incluido en la bibliografía seleccionada. Las clases se
desarrollarán a partir de las explicaciones relativas a los temas del programa por parte del profesor y de las
intervenciones por parte de los alumnos. Así mismo los alumnos desarrollaran actividades como protagonistas
del aprendizaje activo.
La metodología que prevé esta materia es a través del recorrido de los materiales multimediales puestos a
disposición, plataforma que permite el intercambio continuo con el docente.
Forma de Evaluación:
En esta materia se evalúa el proceso de aprendizaje del alumno a través de las tareas realizadas por ellos en
las fechas estipuladas institucionalmente.
La aprobación, se determina en función al cumplimento de los criterios de evaluación especificados. Estos
criterios se basan en tres áreas claves/críticas: cumplimiento de tiempos de entrega (según cronograma),
cumplimento de las especificaciones de forma del entregable y nivel de logro de las competencias vinculadas a
esta materia.
La condición de regularidad de esta materia se define según lo establecido en el Reglamento Institucional, de
acuerdo con la condición del alumno (Regular, Libre, Promocionado).
7
Guía conceptual
Temario Bibliografía Básica Aula Abierta
MÓDULO 1
UNIDAD 1:
INTRODUCCIÓN AL
FUNCIONAMIENTO DE UN
MICROORDENADOR
1.1 Sistemas de Quiroga, I. P. (2010). AULA ABIERTA 1
numeración Arquitectura de
1.2 Sistemas posicionales y Computadoras. Buenos Para profundizar en los
no posicionales Aires: Alfaomega Grupo Conceptos Centrales, se
1.3 Expresión de un Editor Argentino. recomienda la siguiente
número en potencia de su [Capítulo 2] lectura:
base “Numeración,
1.4 Sistema decimal, Codificación”
binario, octal y
hexadecimal
1.5 Métodos de conversión
de números enteros y
fraccionarios
1.6 Complemento de un
número
1.7 Operaciones
fundamentales: suma y
resta
1.8 Binario, octal y
hexadecimal
Quiroga, I. P. (2010).
Arquitectura de
3.9 Código nemónico. Computadoras. Buenos
Lenguajes de máquina de Aires: Alfaomega Grupo
nivel convencional. Editor Argentino.
Lenguaje ensamblador [Capítulo 11 y 11.4]
Arquitectura del
Computador
1
Sistemas de numeración y
codificación
El sistema de En nuestra vida cotidiana, estamos acostumbrados a utilizar un sistema de
numeración decimal numeración para representar fechas, precios, edades, etcétera. Estamos tan
utiliza 10 símbolos, uno acostumbrados a usarlo, que podríamos pensar que es el único, pero no lo
para cada dedo de es. Las computadoras, de hecho, utilizan otros.
nuestras manos.
Como las computadoras no utilizan los dedos de la mano para contar, sino
compuertas electrónicas cuya salida puede ser “prendida” (1) o “apagada”
(0), la cantidad de símbolos diponibles es 2. Este sistema de numeración se
denomina binario.
El cero está representado por una sola columna con valor 0. El uno, con la
misma columna, pero ahora con valor 1. Al no existir mas símbolos, se agrega
una segunda columna para representar el dos, y se pone en 0 la primera: 10.
Para contar hasta 3, se debe incrementar en uno la primer columna: 11.
2
Este proceso continúa a medida que se van incrementando los valores.
Para conocer el valor decimal de un número binario, se debe sumar el valor
de cada bit por potencias de base 2.
10100
1 = 1 x 24 = 16;
0 = 0 x 23 = 0;
1 = 1 x 22 = 4;
0 = 0 x 22 = 0;
0 = 0 x 20 = 0.
3
Figura 1: Equivalencias entre sistemas de numeración
Para más información sobre los sistemas de numeración, sobre cómo realizar
operaciones de suma y resta, conversiones de números enteros y fraccionales,
consulta las páginas 25 a 47 del libro Arquitectura de Computadoras, de P. Quiroga
(2010).
Codificación
Las computadoras utilizan un lenguaje diferente al de las personas para
procesar la información. Para poder transformar nuestro lenguaje al
lenguaje de una computadora, se requiere una relación denominada
codificación.
4
Figura 2: Distintos tipos de representaciones de datos
Representaciones alfanuméricas
Representaciones decimales
BCD puro o natural (8421): los pesos de cada bloque coinciden con los
pesos en binario: 8 para el bit de mayor peso, 4 para el segundo, 2 para
el tercero, y 1 para el bit con menor peso. (Quiroga, 2010).
Ejemplos:
5
Tabla 1: Ejemplos de número decimal, binario y BCD 8421
BCD exceso tres: a partir del BCD puro, debe sumarse un 3 binario a cada
cifra.
6
Para más información sobre los sistemas de codificación, consulta las páginas 49 a
72 del libro Arquitectura de Computadoras, de P. Quiroga (2010).
7
Referencias
Quiroga, P. (2010). Sistemas numéricos. Representación de datos en la
computadora. En P. Quiroga, Arquitectura de Computadoras (pp. 25-72). Buenos
Aires: Alfaomega.
8
Circuitos
digitales
Arquitectura del
Computador
1
Circuitos digitales
Las computadoras tienen como objetivo principal procesar datos. Este
El procesador Intel 8086
procesamiento se lleva a cabo mediante la utilización de circuitos digitales
(año 1976) contenía,
aproximadamente, que realizan operaciones aritméticas y lógicas. Por ejemplo, un reloj digital
29.000 transistores. El deberá tener un circuito que cuente segundos, minutos y horas, y otro para
procesador Apple A10 que muestre esa información en un display.
(año 2016),
aproximadamente,
Los circuitos se representan como una caja negra que posee entradas y
3.300 millones.
salidas. En su interior, esta contiene compuertas lógicas que se construyen
con transistores. El número de estos determina lo que se denomina el nivel
de integración de un circuito integrado. Este número puede ir de 10 a 100
transistores, para un circuito integrado SSI (Small Scale Integration), hasta
más de un millón de transistores (ULSI o Ultra Large Scale Integration).
Las entradas y las salidas de los circuitos pueden tomar dos valores: 0 y 1.
Para n entradas, habrá 2n salidas posibles. (Quiroga, 2010).
Este circuito sirve para convertir a código BCD los códigos que resultan de
presionar las teclas 0 a 9 de un teclado.
2
¿Qué sucede cuando el usuario presiona una tecla?
3
Un ejemplo de circuito decodificador de BCD a 7 segmentos se observa en la
Figura 4. El circuito tiene 4 entradas (una por bit) y 7 salidas (una para cada
LED que ilumina el segmento).
4
Figura 4: Esquema de codificación decimal a BCD
Para más información sobre circuitos secuenciales, consulta las páginas 113 a 131
del libro Arquitectura de Computadoras, de P. Quiroga (2010).
Circuitos secuenciales
Un circuito secuencial es aquel que no solo depende de los valores de su
entrada, sino también del estado anterior del circuito.
5
Este tipo de circuitos se utilizan como almacenamiento temporal, de alta
velocidad y baja capacidad. (Quiroga, 2010).
6
Figura 8: Circuito biestable R-S
Para más información sobre flip-flops, consulta las páginas 131 a 136 del libro
Arquitectura de Computadoras, de P. Quiroga (2010).
Registros
Se denomina registro la función digital que permite retener información de
forma temporal. Los registros están compuestos por uno o mas biestables.
Los registros son los tipos de memoria más rápida, por lo que son usados por
el microprocesador para acceder a los datos más en sus operaciones
aritméticas y lógicas.
7
Referencias
Quiroga, P. (2010). Lógica digital. En P. Quiroga, Arquitectura de Computadoras
(pp. 113-143). Buenos Aires: Alfaomega.
8
Conceptos
básicos
Arquitectura del
Computador
1
Arquitectura básica
Organización y arquitectura de una computadora
Los diversos componentes son elementos físicos que permiten que las
computadoras realicen sus funciones.
2
Como se puede observar en la figura, estos componentes son: (Stallings
2005).
CPU o unidad de procesamiento central.
Memoria Principal.
Dispositivos de entrada.
Dispositivos de entrada/salida.
Dispositivos de salida.
3
Figura 1: Esquema lógico del sistema de tarjetas perforadas
Este modelo todavía está vigente y se basa en tres principios (Quiroga, 2010,
p. 7).
4
Todos los módulos (CPU, memoria, e/s) están interconectados entre sí por
buses. Estos buses son caminos por donde viajan los datos. Como son
compartidos, la CU se encarga de gestionarlos.
CPU
5
La unidad de decodificación se encarga de convertir las instrucciones a un
microcódigo, es decir, a un lenguaje de menor nivel.
Estos dispositivos son los encargados de transferir los datos para que sean
procesados por la CPU, o el proceso inverso: guardarlos o mostrarlos una vez
que han sido procesados. (Stallings, 2005).
6
monitor (salida);
pantalla táctil (entrada / salida);
impresora (salida);
parlantes (salida);
micrófono (entrada);
disco rígido (entrada / salida);
discos flash (entrada / salida);
placa de red (entrada / salida).
7
Referencias
Quiroga, P. (2010). Memorias. En P. Quiroga, Arquitectura de Computadoras (pp.
207-256). Buenos Aires: Alfaomega.
8
Computación de Altas Prestaciones Ecológica
Lucía González, Federico Uribe, Javier Balladini, Laura Sánchez
1
disipar la energía. Dado el tamaño actual de dad de los circuitos, mientras que el estático es el
las supercomputadoras, el consumo energético consumo de los circuitos en estado ocioso (tam-
de las mismas es tan elevado que producen un bién denominado en inglés como idle power o
tremendo impacto económico. En 2005, el gas- leakage ). Las técnicas para reducir el consumo
to anual de energía eléctrica del LLNL ya era energético de los sistemas de cómputo se ori-
de 14,6 millones de dolares [4]. En 2002, el Dr. entan a ambos tipos de consumos, e involucran
Eric Schmidt, CEO de Google, dijo lo que más tanto al hardware como al software. Es impor-
importa a los diseñadores de computadoras de tante mencionar que algunas técnicas pueden re-
Google no es la velocidad sino el consumo ener- ducir la potencia pero no necesariamente la ener-
gético, porque los centros de datos pueden con- gía, y a la inversa.
sumir tanta electricidad como una ciudad [7]. Existen varias técnicas para ahorrar energía
Muchos centros de cómputo arman que el gas- en sistemas de HPC, de las cuales las más im-
to anual en energía es equivalente al costo de portantes son:
adquisición de la supercomputadora.
El consumo energético no solo tiene un im-
Técnicas del nivel lógico y de circuito
pacto económico. La falta de explotación de las
energías renovables y limpias hacen que la pro-
Se puede reducir el tamaño de los transistores
ducción energética también afecte en lo ecológi-
para reducir el consumo de energía dinámico,
co y social. Cabe resaltar que la mayor cantidad
sin embargo, hay que tener en cuenta que se
(y más grandes) de las supercomputadoras del
incrementa el retardo de los mismos. También
mundo están en EEUU. La mitad de la energía
se trabaja con el reordenamiento de los tran-
eléctrica en éste país se produce con carbón [2],
sistores, compuertas lógicas y señales, se desa-
impactando fuertemente en el medio ambiente,
rrollan nuevos ip-ops que consumen menos
y la salud y riesgo de vida de las personas, por
energía, y se rediseña la lógica de control de
causa de la extracción del mineral y la contami-
los procesadores y el algoritmo que determina
nación por combustión del carbón, entre otros.
el voltaje necesario según la frecuencia de reloj
La computación ecológica trata de evitar los
utilizada [12].
daños resultantes del alto consumo energético
de las computadoras. En el 2007 el Green500
publicó su primera lista, que clasica a las su- Explotación del paralelismo
percomputadoras de mayor eciencia energéti-
La era multicore surge como solución a tres
ca del mundo. Así, comenzó la nueva era de la
computación ecológica, evitando el enfoque de
problemas: el memory wall, el ILP wall, y el
2
transmitidos para minimizar los cambios o tran- ociosos. Algunos componentes posiblemente hi-
siciones de la líneas de los buses (entre 0 y 1), re- bernables (según cada sistema) son los discos,
duciendo su voltaje, o reemplazándolos por redes núcleos, red, y memoria.
para soportar mayores anchos de banda y conex-
iones concurrentes (tal es el caso del QuickPath Gestión de energía al nivel del compilador
Interconnect de Intel o el Hyper Transport de
AMD). No solo es importante reducir el consumo Hay muchas formas en que un compilador
energético de la conectividad entre unidades fun- puede ayudar a disminuir el consumo energético.
cionales internas al nodo, sino también entre no- Algunas optimizaciones de rendimiento son tam-
dos. Por lo tanto, también se trabaja en el redi- bién beneciosas para ahorrar energía. Algunos
seño de las redes de interconexión de los sistemas ejemplos son la reducción de accesos a memoria,
Una posible estrategia es dividir la memoria código o el paralelismo, lo que podría incremen-
en componentes más pequeños, y activar solo los tar el uso de los recursos y los picos de potencia.
circuitos de memoria necesarios para cada acce- Por lo tanto, es necesario hacer optimizaciones
3
cas. Las GPU son microprocesadores many-core.
Una variedad de estudios [11, 6] han demostrado
la capacidad de las GPU para realizar cómputo
cientíco a una gran velocidad y a un bajo con-
sumo energético. Nuestro objetivo es encontrar
una metodología que permita disminuir el con-
sumo energético de aplicaciones que se ejecutan
en GPUs.
La otra línea de investigación está enfocada en
aplicaciones desarrolladas bajo el paradigma de
programación paralela SPMD ( Single Program
Multiple Data ), que ejecuta múltiples instancias
de un mismo programa con diferentes conjuntos
de datos. Como máquina paralela se considera
un cluster de nodos con múltiples procesadores Figura 1: Comparación entre GPU y CPU
multicore, y núcleos con escalado dinámico de
voltaje y frecuencia de CPU. El objetivo es
denir una metodología para disminuir el con- El siguiente paso es avanzar hacia la predic-
sumo energético producido por el sistema para- ción del consumo energético que produce la eje-
lelo al ejecutar aplicaciones SPMD, mientras se cución de diferentes tipos de aplicaciones.
maximiza el rendimiento.
4.1. Computación de altas presta- mente nos hemos planteado estudiar el compor-
tamiento energético y de rendimiento de dife-
ciones ecológica con GPUs
rentes tipos de programas a diferentes frecuen-
Inicialmente se comparó el consumo energéti- cias de reloj de CPUs. En uno de estos estu-
co y el rendimiento de una implementación en dios vericamos que el modelo de programación
GPU y otra en CPU de un algoritmo de mul- paralela seleccionado para desarrollar las apli-
tiplicación de matrices. La versión sobre GPU caciones tiene incidencia en el consumo ener-
utiliza el lenguaje OpenCL que implementa la gético de la plataforma [3]. A partir de estos
arquitectura CUDA. La alternativa sobre CPUs datos nos propusimos avanzar en la predicción
emplea la API de OpenMP, que implementa un del consumo energético de diversos tipos de apli-
paradigma de programación paralela de memo- caciones.
ria compartida. Para predecir el consumo energético nos
Los experimentos que reeren a GPU se reali- planteamos desarrollar microbenchmarks que
zan sobre un sistema con un procesador dual- nos permitan relacionar operaciones de cóm-
core Intel Pentium 4 E7400, 2GB de memo- puto y comunicaciones con consumos energéti-
ria principal y una GPU NVIDIA de 32 nú- cos. Hasta el momento creamos dos microbench-
cleos GeForce 9500GT. Los que respectan a marks basados en accesos a datos:
4
Computación de Altas Prestaciones Ecológica
en Cloud Computing.
6. Agradecimientos
Referencias
las CPUs en la ejecución de ambos microbench-
[1] Sitio web del top500:
marks. Por cada microbenchmark se observa el
http://www.top500.org/ (accedido en
aumento del tiempo de ejecución, el ahorro ener-
octubre de 2010).
gético, y la reducción de la potencia máxima. La
disminución de la frecuencia en el benchmark
[2] U.s. geological survey,
Mem produce un ahorro energético signicativo
http://energy.usgs.gov/coal.html (accedido
(11 %) con una pérdida mínima de rendimiento
en octubre de 2010).
(0,6 %). Además, la potencia máxima se reduce
pronunciadamente (11,5 %), lo cual permite ten- [3] Javier Balladini, Eduardo Grosclaude,
er una infraestructura eléctrica y sistema de re- Mauricio Hanzich, Remo Suppi, Dolores
frigeración de menores capacidades. En caso de Rexachs, and Emilio Luque. Incidencia de
que un aumento del tiempo de ejecución de 0,6 % los modelos de programación paralela y es-
no sea signicativo, una aplicación con las mis- calado de frecuencia de cpus en el con-
mas características del microbenchmark Mem sumo energético de los sistemas de hpc.
convendría ejecutarse a la mínima frecuencia de XVI Congreso Argentino de Ciencias de la
reloj de CPU. Computación (CACIC 2010), pages 172
En el caso del benchmark L1, la disminución 181, Octubre 2010.
de la frecuencia aumenta el tiempo de ejecución
[4] Wu-Chun Feng. The importance of be-
considerablemente (16 %). El ahorro energético
ing low power in high-performance comput-
es nulo, lo que implica que en ciertos caso no
conviene disminuir la frecuencia. La única venta-
ing.Cyberinfrastructure Technology Watch
ja es que se consigue una reducción signicativa
Quarterly (CTWatch Quarterly), 1(3), Au-
gust 2005.
(14,30 %) de la potencia máxima.
5
[8] San Murugesan. Harnessing green it: Prin-
ciples and practices. IT Professional, 10:24
33, January 2008.
6
Memorias
Arquitectura del
Computador
1
Memorias
2
Jerarquía de memorias
La memorias se caracterizan por su velocidad, tamaño y precio. La memoria
ideal debería ser las más rápida, de mayor tamaño y menor precio, pero
lamentablemente es imposible cumplir con todos esos requisitos.
Las memorias más rápidas tienen un costo más alto de fabricación, por lo
que su tamaño no podrá ser muy grande. En cambio, es posible fabricar
memorias de mayor tamaño con menor costo, aunque su velocidad no será
las más rápida.
Los registros son el nivel más alto de la jerarquía y, por su ubicación, las
memorias de mayor velocidad. Se utilizan para almacenar las operaciones
más frecuentes del procesador. (Stallings, 2005).
Debajo de los registros, se encuentran la caché y la DRAM. Ambas cumplen
la función de almacenar instrucciones y datos intercambiables accedidos por
el procesador. La memoria caché es más rápida que la DRAM y, por lo tanto,
más costosa y de menor tamaño.
Memorias RAM
Las memorias RAM (Random Access Memory) son de acceso aleatorio, ya
que un componente de selección habilita una posición e inhabilita al resto.
(Stallings, 2005).
Existen dos tipos de memoria RAM: las estáticas, denominadas SRAM, y las
dinámicas o DRAM. En una memoria estática, la información almacenada
solo puede ser modificada mediante un proceso de escritura. En cambio, en
una memoria dinámica, la información se degrada con el tiempo. Para evitar
que se pierda, debe refrescarse.
Debido a estas características, las DRAM son más lentas, pero de mayor
capacidad.
3
La información dentro de la memoria está organizada en lo que se denomina
palabra. Como las memorias están formadas por filas y columnas, cada
palabra ocupa una fila.
Cada fila está identificada por un número que representa a cada palabra
contenida por esa memoria. Para escribir o leer, se deberá hacer referencia
a este número.
Para leer desde esta memoria, se debe habilitar el chip (EN = 1) y enviar la
dirección desde donde se desea leer. Con WE = 0 se da orden de lectura, y
finalmente la palabra viajará a destino a través de las líneas de datos D0 a
D7.
Para escribir en la memoria, se habilita el chip (EN = 1) y se envía la dirección
donde se almacenarán los datos. Se transfiere la información desde el
dispositivo externo a través de las líneas de datos D0 a D7 y finalmente se
activa la opción de escritura mediate WE = 1.
4
Memoria ROM
En este tipo de memorias puede escribirse solo una vez, de ahí su nombre:
“memoria de solo lectura” (Read Only Memory). No requiere alimentación
para conservar la información, sino que esta permanece inalterable, esté la
computadora prendida o apagada.
Existen memorias ROM que pueden ser programadas por el usuario, las
cuales se denominan PROM (ROM programable), y también memorias ROM
que pueden ser programables y borrables, denominadas EPROM. Si bien
estas últimas pueden borrarse, el proceso es tan lento y complejo que no
pueden cumplir las funciones de la RAM. Por último, las EEPROM pueden
borrarse eléctricamente, por lo que se diferencian de las EPROM por ser más
faciles de eliminar su contenido. (Stallings, 2005).
Errores
Las memorias se ven afectadas por dos tipos de errores: de hard, o
permanentes, y de soft, o transitorios.
Los errores de hard se producen cuando la memoria está físicamente
afectada por el desgaste o defectos de fabricación. En esta situación los bits
quedan siempre en 0, en 1 o conmutan erróneamente.
Los errores de soft se producen por problemas de alimentación o particulas
alfa.
Las memorias pueden detectar y corregir ambos tipos de errores mediante
el uso de códigos. Estos códigos pueden detectar o corregir una cierta
cantidad de bits, y esta medida los caracteriza. (Stallings, 2005).
5
Figura 2: Correción de errores en memoria
Así, una memoria que trabaja a 200 MHz será identificada con las siglas
PC1600, que hacen referencia a su capacidad.
Las memorias con tecnología DDR (Double Data Rate) pueden operar al
doble de la frecuencia del bus. Si el bus trabaja con una frecuencia de 100
MHz, la memoria DDR podrá trabajar a 200 MHz. Este tipo de memorias
generalmente informan su frecuencia efectiva (el doble de la real).
6
Referencias
Quiroga, P. (2010). Arquitectura de Computadoras. Buenos Aires:
Alfaomega.
7
Intel® Optane™: La revolución de la
memoria supersónica despega en 2016
La tecnología de memoria 3D XPoint™ de Intel revolucionará el mundo de la medicina
personalizada y el análisis del Big Data.
Al colaborar con Micron, Intel ha creado una nueva clase de memoria para solucionar
este problema. Apodada 3D XPoint, la tecnología utiliza una arquitectura de
intersección sin transistor formada en un tablero en 3D. Las celdas de memoria se
sitúan en la intersección de líneas de palabras y líneas de bits, permitiéndoles dirigirse
a ellas individualmente. Como resultado, los datos se pueden escribir y leer en
tamaños pequeños, consiguiendo procesos de lectura/escritura más rápidos y
eficientes.
La tecnología 3D XPoint combina las mejores características de la tecnología existente:
tiene una capacidad 10 veces mayor que la DRAM, es 1.000 veces más rápida que la
tecnología NAND y también mantiene la no volatilidad, todo esto a un bajo coste.
Para dar una idea de su velocidad, un SSD podría llevarle a la luna en 4 días (386.000
km), mientras que la tecnología 3D XPoint le llevaría de ida y vuelta a Marte en el
mismo tiempo (450 millones de km). La resistencia también es otro aspecto positivo de
la arquitectura 3D XPoint. Como es 1.000 veces más resistente que la NAND, las
empresas y los usuarios exigentes ya no tendrán que preocuparse de los ciclos de vida
de lectura/escritura. Si la tecnología 3D XPoint fuera un aceite de motor para coches,
podría conducir 5.000.000 kilómetros sin que hiciera falta cambiarlo.
Brian Krzanich, Presidente de Intel, mostró públicamente en el IDF 2015 los primeros
SSD que utilizan la tecnología 3D XPoint, con un rendimiento de 5 a 7 veces mejor que
los SSD con NAND más rápidos. Krzanich explicó: “Cada vez que entregas a los
desarrolladores algo de 5 a 7 veces mejor, se obtienen inventos e innovaciones
asombrosas”.
Intel ha confirmado que la tecnología 3D XPoint se comercializará a principios de 2016.
Se espera que los SSD presentados bajo la gama de productos Intel Optane estén
presentes en todo, desde sistemas Ultrabook de bajo consumo hasta sistemas de
informática de alto rendimiento. También se diseñará especialmente una nueva línea
de Intel DIMM para plataformas de centros de datos.
Esta tecnología tiene el potencial de revolucionar una gran cantidad de industrias. Los
dispositivos de almacenamiento Optane serán ideales para almacenar y procesar
grandes volúmenes de multimedia potente, junto con videojuegos absorbentes,
virtualización a gran escala en la nube, bases de datos en memoria e informática de
alto rendimiento. Intel espera ver innovaciones en el área del análisis de datos médicos
personalizados y del big data. La memoria también permitirá que las empresas y las
ciudades procesen y analicen grandes volúmenes de datos mientras intentan ser más
inteligentes.
Fuente
Intel. (S.F). IDF2015: Tecnología de memoria 3D XPoint™. Intel® Optane™: La revolución de la
memoria supersónica despega en 2016. Recuperado de:
http://www.intel.es/content/www/es/es/it-managers/non-volatile-memory-idf.html
Placa madre
Arquitectura del
Computador
1
Motherboard o placa madre
La placa madre o motherboard es un hardware fundamental de la
computadora, ya que se encarga, entre otras importantes funciones, de la
interconexión de los demás componentes: procesador, memoria RAM e
interfaces de E/S.
La placa madre es una placa tipo PCB (printed circuit board o placa de circuito
impreso) que posee, generalmente, más de una capa. Cada capa dispone de
interconexiones o buses; para evitar cortocircuitos, se aislan las diferentes
capas entre sí mediante materiales aislantes.
2
Figura 2: Componentes de una placa madre de PC
Componentes principales
Chipset
3
Actualmente, algunos diseños de procesadores incluyen las funciones del
northbridge, por lo que este puede no estar presente.
Clock o reloj
BIOS
4
Zócalos
Este diseño permite, por un lado, que el usuario elija entre una gama de
procesadores soportados por la motherboard según las prestaciones
requeridas o el presupuesto asignado. Además, permite expandir las
funcionalidad de la computadora al agregar dispositivos de expansión, como
por ejemplo, placas de red o editores de video y audio. En cuanto a los
zócalos para memoria, es posible comenzar con un solo módulo y luego
expandir la capacidad de memoria RAM a medida que la demanda se
incrementa.
Dispositivos on-board
Si bien las motherboards traen zócalos para expansión en los que podría, por
ejemplo, instalarse una placa de red, una placa de sonido o una de video, es
común en la actualidad encontrar motherboards con estos dispositivos
integrados, lo que se denomina on-board.
Diseños
Existen diversos modelos de motherboards dependiendo de la función que
tendrá la computadora.
5
Figura 3: Motherboard para servidor de alto rendimiento
Fuente: [Imagen sin título sobre placa madre]. (s. f.). Recuperado de https://goo.gl/mVRG5A
6
Figura 4: Motherboard de un smartphone
Fuente: [Imagen sin título sobre placa de teléfono]. (s. f.). Recuperado de https://goo.gl/emceBg
7
Referencias
Englander, I. (2009). Modern Computer Systems. En I. Englander, The Architecture
of Computer Hardware, System Software and Networking (pp. 342-360). Estados
Unidos: John Wiley and Sons
[Imagen sin título sobre placa de teléfono]. (s. f.). Recuperado de http://cdn.head-
fi.org/9/95/95e95d3d_galaxy-s5-boardshot-front-web.png
8
Interfaces
Arquitectura del
Computador
1
Interfaces
Para interconectar los dispositivos externos a un bus, se necesita una
interfaz. Estas interfaces tienen diversas funciones, entre ellas, utilizar algún
tipo de protocolo que permita la comunicación.
Interfaz paralela
Una interfaz paralela realiza el control entre un dispositivo de E/S y el bus de
forma paralela, es decir, con varias líneas de transmisión.
IDE-ATA;
SCSI;
Centronics;
IEEE 1284.
Interfaz IDE
Interfaz SCSI
2
Figura 1: Evolución de versions SCSI
Interfaz Centronics
Interfaces serie
Una interfaz serie posee solo un canal para la transmisión de datos. Algunas
interfaces serie son:
RS-232;
Serial ATA;
USB.
3
Interfaz RS-232 (EIA-232)
4
Figura 2: Asignación de pines para conectores de 25 y 9
Interfaz SATA
La interfaz Serial ATA surgió para mejorar las prestaciones de ATA paralelo.
La versión 1.0 de SATA trabaja con una frecuencia de 1500 MHz y logra
transferencias de hasta 1,5 Gbps; este valor supera a los 133 MBps de ATA
UltraDMA-133.
Otra ventaja de SATA es la simplificación de los cables y conectores; al ser
una interfaz serie, se reemplazaron los cables de 80 hilos de ATA paralelo
por un cable serie.
Debido al aumento de las necesidades de velocidad, la interfaz SATA II
mejoró las prestaciones duplicando el ancho de banda a 3000 MHz y las
transferencias hasta 3 Gbps. El diseño permite la compatibilidad con SATA I
y agrega la posibilidad de conectarse con dispositivos ópticos.
SATA III vuelve a duplicar el ancho de banda a 6000 MHz, logra transferencias
de hasta 6 Gbps y mantiene la compatibilidad con las dos versiones
anteriores.
5
Interfaz SAS
Interfaz USB
USB (universal serial bus) es un bus serie de alta velocidad que utiliza
topología estrella extendida, como se observa en la Figura 3. La raíz de la
topología es el host en el que se encuentra el controlador USB. A partir de
allí, los dispositivos o HUB se conectan al HUB raíz extendiendo la estrella. El
límite de HUB externos es de 5, y el de dispositivos, 127. Como es un bus
compartido, es posible utilizar más de una controladora USB en la
computadora para evitar la congestión. (Axelson, 2009).
6
El USB tiene la particularidad de ser capaz de alimentar a los dispositivos que
se conectan al bus. La versión 2.0 entrega 500 mA, mientras que la 3.0, 900
mA.
7
Referencias
Axelson, J. (2009). USB Basics. En J. Axelson, USB Complete (pp. 1-19). Estados
Unidos: Lakeview Research.
Tropens, U., Müller-Friedt, R., Erkens, R., y Haustein, N. (2009). I/O Techniques. En
U. Tropens, R. Müller-Friedt, R. Erkens, y N. Haustein, Storage Networks Explained
(pp. 62-65). Alemania: Dpunk.verlag.
8
Científicos desarrollan un dispositivo USB
que puede realizar test de HIV
La unidad “lee” las muestras de sangre y crea una señal que puede ser leída utilizando
una computadora o un equipo portátil
Las unidades de prueba desechables podrían utilizarse para ayudar a los pacientes con
HIV a controlar su tratamiento, como así también para mejorar la manera en que los
médicos tratan el virus en lugares remotos.
Impulsado por un chip de teléfono móvil, el gadget sólo necesita una pequeña cantidad
de sangre para realizar su análisis. Cuando se detecta el virus VIH en la muestra de
sangre, la memoria USB genera un cambio en la acidez que el chip transforma en una
señal eléctrica. Dicha señal puede leerse en una computadora u otro dispositivo
electrónico. Durante la última ronda de ensayos, se probaron casi 1.000 muestras con
95 por ciento de precisión.
Fuente
RedUSERS. (10 de noviembre de 2016). Científicos desarrollan un dispositivo USB que puede
realizar tests de HIV. Recuperado de: http://www.redusers.com/noticias/cientificos-
desarrollan-dispositivo-usb-puede-realizar-tests-hiv/
Buses
Arquitectura del
Computador
1
Buses
El procesador, la memoria y los dispositivos de entrada o salida de una
Un bus es un camino computadora deben comunicarse entre sí para cumplir sus funciones.
compartido por varios
dispositivos y utilizado
El procesador se comunica con la memoria para obtener datos e
para el intercambio de instrucciones; luego de procesarlos, los vuelve a colocar en memoria. El
información entre ellos. procesador también puede obtener datos de un dispositivo de E/S,
procesarlos y devolverlos. El acceso directo a memoria (DMA) se da cuando
un dispositivo de E/S interactúa directamente con la memoria.
bus de datos;
bus de control;
bus de dirección.
Para todos los tipos de buses, se define su ancho. El ancho de un bus es la cantidad
de líneas paralelas que lo componen. Por ejemplo, un bus de 32 bits tiene 32 líneas
paralelas capaces de intercambiar información. Cada línea puede transmitir un bit
a la vez, por lo que, mientras más ancho sea el bus, más bits se podrán intercambiar
de forma paralela. (Stallings, 2005).
2
El bus de dirección sirve para identificar en qué región de cada dispositivo se ubican
los datos. Antes de utilizar el bus de datos, se debe usar el bus de dirección para
indicarle al dispositivo dónde debe buscar los datos.
El bus de control se utiliza para arbitrar el uso de los buses de datos y de dirección.
Jerarquía de buses
3
Otro diseño utiliza un bus adicional, denominado bus de alta velocidad, para
suplir las necesidades actuales de ciertos dispositivos, como placas de video
o de red de alta velocidad.
Arbitraje de bus
El arbitraje de un bus consiste en determinar qué dispositivo puede utilizarlo
en un determinado momento para evitar el solapamiento de datos.
Una vez que se designa un dispositivo para que utilice el bus con cualquiera
de los dos métodos, este puede hacer uso del bus para escribir o leer datos.
El dispositivo que origina la petición se denomina maestro, y el que la recibe,
esclavo.
Buses comerciales
Los buses para conectar dispositivos externos han ido evolucionando a lo
largo del tiempo. El bus ISA (industry standard architecture) fue muy popular
en la década de 1980. El ancho de este bus era de 8 o 16 bits y soportaba
una velocidad de transferencia de aproximadamente 6 Mbps.
4
Figura 3: Comparación entre buses de expansión
PCI Express
PCI-E, a diferencia del bus anterior PCI, utiliza enlaces serie. Las x de la Figura
3 hacen referencia a la cantidad de carriles serie disponibles.
5
Figura 4: Topología PCI-E
Para conocer más sobre el bus PCI-E, lee las páginas 98 a 108 de Computer
Organization and Architecture, de W. Stallings (2013).
Infiniband
6
Figura 5: Topología Infiniband
7
Referencias
Stallings, W. (2013). A Top-Level View of Computer Function and Interconnections.
En W. Stallings, Computer Organization and Architecture (pp. 98-108). New Jersey:
Pearson Education.
8
Entrada/salida
Arquitectura del
Computador
1
Entrada/salida
Los módulos de entrada/salida son tan importantes como la memoria o el
procesador de una computadora. Sin ellos, las personas no podrían
interactuar y la información no podría almacenarse o copiarse de un lugar a
otro.
Estos dispositivos no usan el bus del sistema, ya que sus velocidades son
menores y diversas. Se utiliza entonces un módulo de E/S para conectar
estos dispositivos, los cuales reciben el nombre de periféricos.
Dispositivos externos
Estos dispositivos permiten el intercambio de datos entre la computadora y
el exterior y se clasifican en:
2
Figura 1: Dispositivo externo
Módulos de E/S
Un módulo de E/S debe realizar las siguientes funciones: (Stallings 2005).
control y temporización;
comunicarse con el procesador;
comunicarse con los dispositivos;
almacenar datos temporalmente;
detectar errores.
3
Estructura del módulo
Un módulo de E/S se conecta a través del bus del sistema a las líneas de
control, datos y dirección. Como puede controlar uno o más dispositivos
externos, para cada uno de ellos tendrá una lógica con una interfaz en la cual
se realice el control, se obtenga el estado y se transfieran los datos.
(Stallings, 2005).
Operaciones de entrada/salida
La forma de intercambiar datos entre el procesador, la memoria y el módulo
de E/S puede ocurrir de tres maneras:
E/S programada;
E/S con interrupciones;
DMA (acceso directo a memoria).
4
Se denomina E/S programada cuando el procesador y el módulo de E/S
intercambian datos. Es el procesador el encargado de controlar al módulo y
de solicitar lectura o escritura. Esto significa que, cuando envía una orden al
módulo, debe controlar su estado sin realizar otra tarea paralelamente.
Estas órdenes pueden ser de control, para realizar pruebas sobre el
periférico y para conocer su estado, realizar solicitudes de lectura o de
escritura.
5
Este método utiliza un módulo, que se observa en la Figura 3. Este toma el
control como si fuera el procesador o lo fuerza para que suspenda su
funcionamiento.
6
Figura 4: Puntos de ruptura para DMA e interrupción
7
Referencias
Stallings, W. (2005). Entrada/Salida. En W. Stallings, Organización y Arquitectura de
computadores (pp. 208-247). Madrid, España: Pearson Educación.
8
CPU
Arquitectura del
Computador
1
Componentes funcionales de
un microprocesador
¿Cuál es la función de un procesador? Procesar datos que recibe para luego
entregarlos. ¿Cómo lo hace? Primero, capta la instrucción de alguna de las
memorias (registro, caché o RAM), luego, interpreta esa instrucción. El
tercer paso consiste en recibir los datos que deben ser procesados. Cuando
posee los datos, realiza las operaciones aritméticas o lógicas y finalmente
escribe los datos procesados en la memoria o en las unidades de
entrada/salida. Todas las transferencias se realizan a través de buses.
2
Registros
Los registros utilizados en el procesador pueden ser visibles por el usuario o
destinados a control y a estado. Los visibles pueden ser referenciados utilizando un
lenguaje de máquina o assembler, es decir, el programador puede mejorar la
eficiencia de su programa al utilizar de forma inteligente los registros. A su vez, los
registros visibles por el usuario se clasifican como sigue: (Stallings, 2005).
Ciclo de instrucción
3
Un cuarto subciclo denominado indirecto se activa cuando, luego de captada
la instrucción, se determina que requiere direccionamiento indirecto y
accesos a memoria adicionales.
4
Figura 3: Subciclo de captación
5
Figura 4: Subciclo de interrupción
ALU
La unidad aritmético-lógica es donde realmente se realizan las operaciones
de la computadora. Estas son sumas, restas, multiplicaciones y divisiones de
números binarios. Los números pueden representarse mediante números
enteros o con coma flotante, dependiendo el diseño.
La ALU utiliza registros para leer datos y almacenar sus resultados. Puede
utilizar flags para indicar ciertos resultados de operaciones. La unidad de
control, como su nombre lo indica, se encarga de gestionar todo lo que
sucede en ela ALU.
Representación de enteros
6
Siguiendo el ejemplo anterior, -5 será 011.
510 = 00000101,
complemento a 1: -510 = 11111010,
complemento a 2: 11111010 + 1 = 11111011.
7
Referencias
Stallings, W. (2005a). Aritmética del Computador. En W. Stallings, Organización y
Arquitectura de Computadores (pp. 301-309). Madrid: Pearson Educación.
8
Unidad de
control
Arquitectura del
Computador
1
Unidad de control
Microoperaciones
Las microoperaciones son los pasos que se realizan en lo subciclos
pertenecientes a los ciclos de captación, de ejecución, de interrupción e
indirecto. Se las denomina anteponiendo el prefijo micro-, porque son
operaciones sencillas y pequeñas.
2
Figura 2: Microoperaciones en ciclo de captación
Unidad de control
Una unidad de control debe cumplir con tres requisitos funcionales que se
describen a continuación.
Definir los elementos básicos del ordenador. Estos son la ALU, los
registros, los buses y la unidad de control.
Describir las microoperaciones que se ejecutan. Estas pueden agruparse
en cuatro categorías: (Stallings, 2005).
o transferencia de datos entre registros;
3
transferencia de datos desde un registro hacia una interfaz externa;
o
transferencia de datos desde una interfaz externa hacia un registro;
o
Realización de operaciones aritmético-lógicas con registros.
o
Determinar qué funciones debe realizar la unidad de control para que se
puedan ejecutar las microoperaciones.
La unidad de control utiliza señales para cumplir con sus dos funciones.
(Stallings, 2005)
Para este modelo, el reloj define los ciclos de trabajo. Un reloj o clock trabaja
a una frecuencia constante, por lo que cada microoperación será realizada
exáctamente en un ciclo. El registro de instrucción tiene almacenado el
código de la operación en curso. Los indicadores sirven para conocer el
resultado de las operaciones que realiza la ALU y el estado actual del
procesador.
Las señales de control internas del procesador permiten transferir datos
entre registros y realizar operaciones en la ALU.
Las señales de control hacia el bus de control permiten controlar la memoria
y las unidades de entrada/salida.
4
Las señales de control se conectan a compuertas lógicas que, dependiendo
de que algunas de sus entradas sean activadas o no, realizarán o no las
operaciones.
registro de instrucción;
reloj;
indicadores;
señales de control de bus.
5
del procesador. De otro modo, las ecuaciones de un procesador serían
demasiado complejas, por lo que el inconveniente se resuelve con la
microprogramación.
6
En la Figura 4 se observa un ejemplo de microinstrucción denominada
horizontal. La secuencia de bits se divide en campos: señales de control
internas del procesador, del bus del sistemas, de condición de salto y la
dirección de microinstrucción.
Para obtener más información sobre unidad de control microprogramada,
consulta las páginas 623 a 663 de Organización y Arquitectura de
Computadores, de W. Stallings (2005).
7
Referencias
Stallings, W. (2005a). Funcionamiento de la unidad de control. En W. Stallings,
Organización y Arquitectura de computadores (pp. 599-663). Madrid: Pearson
Educación.
8
Memoria
caché
Arquitectura del
Computador
1
Memoria caché
Objetivo
Teniendo en cuenta el concepto de jerarquía de memoria al que nos
referimos con anterioridad, la memoria caché se ubica en un punto
intermedio entre los registros localizados en el procesador (rápidos, de
tamaño reducido y costosos) y la memoria principal RAM (no tan rápida, de
tamaño considerable y menos costosa).
2
Figura 1: Memoria caché
tamaño;
función de correspondencia;
algoritmo de sustitución;
política de escritura;
tamaño de línea;
numero de cachés.
Tamaño
3
Además, por la forma de fabricación, mientras más grande es la memoria
caché, más lenta es. Con lo cual, por más que el presupuesto lo permite, una
gran memoria caché no resulta muy ventajosa.
Función de correspondencia
4
Figura 3: Correspondencia directa
Algoritmos de sustitución
Política de escritura
5
memoria principal son consistentes. La gran desventaja es el tráfico
adicional que genera cada operación de escritura.
Tamaño de línea
Número de cachés
Para mejorar aún más las prestaciones, es posible prescindir del bus del
sistema y utilizar un bus dedicado entre la L2 y el procesador o, inclusive,
fabricar la L2 en el mismo chip que la L1.
6
Referencias
Stallings, W. (2005). Memoria caché. En W. Stallings, Organización y Arquitectura
de Computadores (pp. 104-147). Madrid: Pearson Educación.
7
RISC
Arquitectura del
Computador
1
Arquitectura RISC
Fundamentos
Los lenguajes de programación de alto nivel permiten los diseños orientados
a objetos y la programación estructurada, pero ocacionan un problema:
hacen que los programas en de lenguaje máquina sean muy grandes e
ineficientes.
Una primera solución fue mejorar los lenguajes de bajo nivel (máquina)
ampliando sus repertorios de instrucciones para optimizar la eficiencia.
2
Figura 1: Ventana de registros
3
El buffer del ejemplo contiene 6 ventanas solapadas (A, B, C, D, E, F). Cada
ventana llama a la siguiente (A a B, B a C, etc.).
El procedimiento activo se indica mediante un puntero denominado CWP o
puntero de ventana actual.
Cuando se graban datos en la memoria, un puntero denominado SWP
(puntero de ventana salvada) servirá como indicativo del dato más
recientemente guardado. (Stallings, 2005).
Optimización de registros
Utilizar una gran cantidad de registros para ser una solución exitosa. Sin
embargo, los lenguajes de programación de alto nivel no conocen la
cantidad de registros físicos disponibles.
4
La técnica de coloreado de grafos se utiliza para optimizar la asignación de
registros reales. Su objetivo es minimizar la cantidad a colorear basándose
en que cada nodo (registro virtual) adyacente tendrá un color diferente.
(Stallings, 2005).
Una instrucción por ciclo significa que las instrucciones para RISC se parecen
a las microinstrucciones de CISC. Un ciclo se define como la operación de
utilizar dos operandos almacenados en registros, realizar alguna operación
en la ALU y, finalmente, guardar el resultado en el registro. Como las
instrucciones deben ser simples, para cumplir con este objetivo, pueden
estar cableadas.
5
Operar entre registros hace que el repertorio de instrucciones deba ser más
sencillo y simplifica además el diseño de la unidad de control. Esta
característica tiene otra ventaja: al fomentar el uso de registros, la velocidad
de las operaciones es mayor al evitar el uso de la memoria principal.
RISC y CISC
6
Referencias
Stallings, W. (2005). Computadores de repertorio reducido de instrucciones. En W.
Stallings, Organización y Arquitectura de computadores (pp. 485-526). Madrid:
Pearson Educación.
7
Introducción a las Máquinas de Estado
Finito
Escrito por Raúl Alvarez.
Sistemas Reactivos
Sistemas Transformacionales
Eventos: Los eventos para el sistema en este ejemplo son los siguientes:
seleccion_piso: Es un evento externo que se genera toda vez que un usuario
selecciona un piso o llama al ascensor desde otro piso.
arribo_nuevo_piso: Es un evento interno que se genera cada vez que los
sensores detectan que se ha arribado al nuevo piso seleccionado por el usuario.
Una pseudo transición inicial del punto rojo al estado DETENIDO identifica a este
último como el estado inicial de la MEF.
Codificación en Lenguaje C
El sistema de control del ascensor se puede codificar en Lenguaje C de la siguiente
manera:
view source
print?
01./* Ejemplo de Máquina de Estado Finito para un ascensor
simplificado */
02.enum eEstados { // Los estados se la MEF se definen en una
enumeracion
03. DETENIDO,
04. YENDO_ARRIBA,
05. YENDO_ABAJO
06. } estado;
07.
08.int piso_nuevo, piso_actual;
09.main() {
10. estado = DETENIDO; // La MEF se inicializa en estado DETENIDO
11. while (TRUE) {
12. switch (estado) {
13. case DETENIDO:{ //
14. // Verificar si se ha seleccionado un nuevo piso:
15. piso_nuevo = seleccion_piso();
16. if (piso_nuevo > piso_actual)
17. estado = YENDO_ARRIBA;
18. else if (piso_nuevo < piso_actual)
19. estado = YENDO_ABAJO;
20. } break;
21. case YENDO_ARRIBA:{
22. piso_actual = comprobacion_piso();
23. if (piso_nuevo == piso_actual)
24. estado = DETENIDO;
25. } break;
26. case YENDO_ABAJO:{
27. piso_actual = comprobacion_piso();
28. if (piso_nuevo == piso_actual)
29. estado = DETENIDO;
30. } break;
31. }
32. }
33.}
En este ejemplo el único patrón que la MEF aceptará y reconocerá es: 57936. (En
realidad cualquier patrón más largo que contenga la secuencia anterior, como:
1257936 o 5793688 será también reconocido por la MEF, sin embargo la verificación de
estos casos se ha omitido en el ejemplo por simplicidad).
En el estado "4 Buenos", un "6" causará una transición a "Abierto". A dicha transición
está asociada una acción (salida) del sistema, la cual consiste en "desasegurar" (por
ejemplo: abrir una cerradura). Cualquier otro valor diferente de "6" obliga a reiniciar el
proceso desde "Ninguno".
Finalmente
Casi todos los que trabajamos, estudiamos o experimentamos con sistemas embebidos
hemos dado nuestros primeros pasos en la programación de sistemas embebidos
escribiendo el llamado "código espagueti". Algunos hemos llegado a usar con relativa
seguridad el patrón de programación conocido como "Plano Principal / Plano
Secundario" (Backgroud / Foreground) el cual implica el uso de interrupciones; aunque
la realidad prueba que muchos estudiantes universitarios o egresados de electrónica o
otras carreras afines que tienen que ver con diseño embebido no han llegado a
dominar adecuadamente el uso de interrupciones (hago énfasis en la palabra
"adecuadamente").
Si aún no lo has hecho, es hora de darle a las Máquinas de Estado Finito un uso más
frecuente. Con toda seguridad encontrarás que tus proyectos se simplifican en gran
manera, aunque por supuesto, dominar el uso de las Máquinas de Estado Finito
requiere que uno pase un buen tiempo estudiándolas y usándolas.
Fuente
Alvarez Torrico R. (S.F). Introducción a las máquinas de estado finito. Tecbolivia.com Tecnología
en Bolivia. Recuperado de: http://tecbolivia.com/index.php/articulos-y-tutoriales-
microcontroladores/13-introduccion-a-las-maquinas-de-estado-finito
Medios
magnéticos
Arquitectura del
Computador
1
HDD
La información procesada o por procesar en una computadora debe ser
almacenada en el tiempo. La memoria principal es volátil, por lo que se
necesitan otros medios que posibiliten almacenarla, aun cuando no esté
disponible la energía. Este tipo de memoria se denomina externa y es un tipo
de dispositivo entrada/salida, como lo son un monitor o un teclado.
Los discos magnéticos (hard disk drives o HDD) son actulamente el medio
más usado para este fin en computadoras personales, laptops, servidores y
arreglos de discos.
Componentes y funcionamiento
Un HDD se compone de la siguiente manera. (Stallings, 2005).
El motor hace girar los platos a una velocidad constante, por ejemplo, a 5400
vueltas por minuto (RPM). Los brazos se mueven para ubicar los cabezales
en el sector del plato que debe ser escrito o leído. Los cabezales nunca llegan
a tocar al plato, sino que están separados por una pequeña superficie de
aire.
Organización de datos
2
tiene forma circular, estos sectores se organizan en pistas (tracks). Cada
pista es un conjunto de sectores y su ancho en el plato es del tamaño del
cabezal. (Stallings, 2005).
Cuando los discos tienen más de un plato, la agrupación de pistas que tienen
la ubicación en todos los platos de denomina cilindro.
3
Figura 2: Disco con varios platos
Performance en discos
latencia rotacional;
tiempo de búsqueda.
4
Estos tiempos pueden parecer pequeños, pero cuando se comparan con la
velocidad de transferencia entre la CPU y la memoria principal o una red
Ethernet, son sumamente superiores.
RAID
Los discos magnéticos posee componentes mecánicos que no están libres de
fallas. Esto ocaciona pérdida de datos, aplicaciones fuera de servicios y
grandes pérdidas de dinero. Además, el rendimiento de un disco aislado no
es óptimo para ciertas aplicaciones.
RAID 0
5
RAID 1
RAID 5
Este nivel utiliza el concepto de paridad para darle redundancia a los datos.
La paridad se construye mediante una XOR de todos los slices de datos. Si
algún disco falla, es posible reconstruir ese slice realizando una XOR con los
restantes. La máxima cantidad de discos que pueden fallar sin pérdida de
información es uno. (Stallings, 2005).
6
Figura 4: RAID5 4+1 (5 discos)
RAID 6
RAID 6 es similar a RAID 5, pero utiliza una doble paridad, por lo que tolera
fallas de dos discos. (Stallings, 2005).
7
Referencias
Stallings, W. (2005). Memoria externa. En W. Stallings, Organización y
Arquitectura de computadores (pp. 175-196). Madrid, España: Pearson Educación.
8
Medios
ópticos
Arquitectura del
Computador
1
Medios ópticos
Los medios de almacenamiento óptico tuvieron su auge en las décadas del
90 y 2000. Si bien posee grandes ventajas en comparación con los discos
magnéticos o cintas, actualmente los dispositivos de estado sólido o el
almacenamiento en la nube están generando una gran caída en su nivel de
utilización, por lo que son relegados a la difusión de audio y video.
Existen diversos medios ópticos, cada uno con ciertas características y uso.
CD-ROM
2
Figura 1: Funcionamiento de un CD-ROM
3
Los CD-ROM aventajan a los discos magnéticos, principalmente por su
portabilidad. Para distribuir música o software a múltiples clientes, fue el
medio por excelencia hasta la masificación de Internet y los servicios en la
nube.
Su principal ventaja es que no puede ser escrito por el usurio. En
comparación con los discos magnéticos, son más lentos.
CD-R y CD-RW
Los CD-R (disco compacto grabable) permite que el usuario sea el encargado
de grabar la información. Esto se logra utilizando un láser de baja intensidad
que puede ser manipulado en ambientes hogareños o empresariales.
Un CD-RW presenta más ventajas que un CD-R, ya que puede ser escrito más
de una vez. Esto hace posible su uso para almacenamiento secundario. Sin
embargo, la velocidad de acceso es mucho menor que la de un disco
magnético.
DVD
Los DVD de doble capa utilizan, como su nombre lo indica, tienen dos capas
reflectantes, en las que es posible almacenar información. Esto permite
aumentar la capacidad de un DVD simple capa a casi el doble.
4
Finalmente, un DVD puede tener dos superficies, lo cual hace que su
capacidad se duplique.
Al igual que sucede con los CD y DVD, existen tres vesiones para Blu-Ray:
solo lectura (BD-ROM), una escritura (BD-R) y regrabable (BD-RE).
5
Referencias
Stallings, W. (2005). Memoria externa. En W. Stallings, Organización y
Arquitectura de computadores (pp. 196-201). Madrid: Pearson Educación.
6
Sony y Panasonic anuncian Archival Disc,
un nuevo estándar de disco óptico para
el almacenamiento
Por: Jose Mendiola
Las copias de seguridad son siempre un punto crítico para el usuario doméstico, pero
qué decir para las empresas. Que un respaldo se encuentre defectuoso o inservible
con el paso del tiempo, puede resultar fatal y un par de gigantes se han dispuesto a
abordar este problema de frente. Sony y Panasonic acaban de anunciar Archival Disc,
un nuevo formato de disco óptico que permite el almacenamiento de entre 300 GB y 1
TB por cada disco, y lo que es más interesante, con una composición material que lo
hace mucho más resistente al paso del tiempo que los estándares anteriores.
Ambos gigantes han unido fuerzas para desarrollar este nuevo formato más resistente
a los cambios de temperatura o humedad que los discos duros, y que además promete
una "compatibilidad intergeneracional", una frase de mucho calado que habrá que ver
cómo se materializa en el producto final.
Y lo cierto es que el trabajo en conjunto ha ido bastante rápido si tenemos en cuenta
que el acuerdo para el desarrollo de este estándar se rubricó a finales de julio del año
pasado, y si se cumplen los planes previstos, veremos los primeros discos de 300 GB a
mediados de 2015. A partir de esa fecha, irán llegando nuevos modelos de más
capacidad de forma progresiva, hasta alcanzar el tera que antes hemos indicado.
Fuente
Engadget. (S.F). Sony y Panasonic anuncian archival disc, un nuevo estándar de disco óptico
para el almacenamiento. Recuperado de: http://es.engadget.com/2014/03/10/sony-
panasonic-archival-disc/
SSD
Arquitectura del
Computador
1
Discos de estado sólido
Un disco de estado sólido es una memoria que se construye con
componentes de estado sólido, es decir, semiconductores, como por
ejemplo, compuertas NAND.
Entre 2012 y mediados de 2016, los valores son reales. El resto de 2016 es
un estimado, y hasta 2018 es proyectado. La tendencia es claramente
decreciente para los costos de los SDD.
Memoria flash
2
En la parte (a) se representa la estructura de un transistor, el cual permite
controlar el flujo de una gran cantidad de corriente entre la fuente y el
drenaje con un pequeño nivel de tensión.
Las memorias flash NOR trabajan con bits como unidades de acceso y
proveen acceso aleatorio de alta velocidad. Son usadas para almacenar la
BIOS de una PC o el sistema operativo de un teléfono celular.
3
que mejora notablemente el funcionamiento de aplicaciones que requieren
alto rendimiento.
Fuente: [Imagen sin título sobre discos duros]. (s. f.). Recuperado de https://goo.gl/uXU4lx
Aun cuando el costo justifique la adopción de discos SSD por sobre los discos
magnéticos, hay una serie de desventajas que no están presentes en los
discos magnéticos y deben ser tenidas en cuenta.
4
El bloque entero se lee desde la memoria flash y se coloca en memoria
RAM. Solo la página adecuada es modificada en la memoria RAM.
Antes de guardar el bloque (con la página modificada) en la memoria
flash, se debe borrar la información del bloque completo en la memoria
flash, ya que no es posible sobrescribir en este tipo de memorias.
Cuando el bloque fue borrado de la memoria flash, el bloque completo
con la información modificada es copiado desde la RAM hacia la memoria
flash.
Los fabricantes disminuyen los efectos con diversas técnicas, como por
ejemplo, reservar un área de memoria flash solo para escritura.
5
Referencias
[Imagen sin título sobre discos duros]. (s. f.). Recuperado de
http://www.microtech.com/wp-content/uploads/2011/12/HDDvsSSD.jpg
6
Audio y
video
Arquitectura del
Computador
1
Audio
En sus inicios, las computadoras cumplían tareas de cálculo. Actualmente,
son utilizadas para diversas tareas, como reproductores de música o video o
como consolas de videojuegos.
Por ejemplo, si una señal ocupa un ancho de banda que va desde 0 Hz hasta
400 Hz, deberá ser muestreada a 800 Hz para que pueda ser correctamente
digitalizada.
2
Figura 1: Muestreo a diferentes velocidades
PCM
La técnica de modulación por codificación de pulsos (pulse code modulation)
es la más utilizada para convertir señales analógicas en digitales.
3
Muestreo
Figura 3: Muestreos
Cuantificación
4
En la etapa de muestreo, se toman 10 muestras. Se indican los valores de
tensión de cada una en el gráfico (-6,1 V, 7,5 V, 16,2 V, etc.).
A modo de ejemplo, la muestra -6,1 V está más cerca del nivel 2. La muestra
16,2 V está más cerca del nivel 6.
5
Codificación
6
Referencias
Forouzan, B. (2013). Digital Transmission. En B. Forouzan, Data Communication and
Networking (pp. 115-124). Estados Unidos: McGraw Hill.
7
La impresora
Impresoras
La impresora es un periférico que le permite realizar una impresión (en papel) de datos
electrónicos.
Impresora margarita
Las impresoras margarita se basan en el principio de las máquinas de escribir. Una
matriz en forma de margarita contiene "pétalos" y cada uno de éstos posee un carácter
en relieve. Para imprimir el texto, se ubica una cinta impregnado de tinta entre la
margarita y la hoja de papel. Cuando la matriz golpea la cinta, ésta deposita tinta sobre
el papel con la forma del carácter en el pétalo.
Las impresoras matriz de punto más recientes está equipadas con cabezales de 24
agujas, que permiten imprimir con una resolución de 216 dpi (puntos por pulgada).
Impresora a chorro de tinta y Bubble Jet
Cada inyector produce una pequeña burbuja que sale eyectada como una gota muy
fina. El vacío causado por la disminución de la presión crea a su vez una nueva burbuja.
Impresora láser
La impresora láser permite obtener impresiones de calidad a bajo costo y a una
velocidad de impresión relativamente alta. Sin embargo, estas impresoras suelen
utilizarse mayormente en ambientes profesionales y semiprofesionales ya que su costo
resulta elevado.
Las impresoras láser utilizan una tecnología similar a la de las fotocopiadoras. Una
impresora láser está compuesta principalmente por un tambor fotosensible con carga
electrostática mediante la cual atrae la tinta para hacer una forma que se depositará
luego en la hoja de papel.
Cómo funciona: un rodillo de carga principal carga positivamente las hojas. El láser
carga positivamente ciertos puntos del tambor gracias a un espejo giratorio. Luego se
deposita la tinta con carga negativa en forma de polvo (tóner) en las distintas partes
del tambor que el láser cargó previamente.
Dado que la impresora láser no tiene cabezales mecánicos, resulta rápida y silenciosa.
Existen dos tipos diferentes de tecnología de impresora láser: "carrusel" (cuatro
pasadas) o "tándem" (una pasada).
Impresora LED
Otra tecnología de impresión compite con las impresoras láser: la tecnología LED
(diodo emisor de luz). Con esta tecnología, un cabezal de impresión con diodos
electroluminiscentes polariza el tambor con un rayo de luz muy fino, permitiendo la
obtención de puntos muy diminutos. Esta tecnología es particularmente útil para
obtener una alta resolución (600, 1.200 ó 2.400 dpi).
Servidores de impresora
Existen cajas de control llamadas servidores de impresora que permiten que una
impresora con conexión USB o paralela se encuentre disponible para una red completa.
Fuente
CCM (S.F). Impresoras. Recuperado de: Link: http://es.ccm.net/contents/382-la-impresora