miércoles, 18 de noviembre de 2015

CUARTA CLASE

INFOGRAFIA DISCO DURO





Infografia disco duro from Diego Edisson Medina Orjuela

Hicimos trabajo en grupo del disco duro, tenia que ser presentada en clase  para escoger las mejores diapositivas y las mejores iban a ser incluidas en una presentación general de todo el curso para ser subida a slideshare.
Esta vez la forma de escoger las diapositivas fue diferente, escogimos entre las diapositivas del otro curso lo cual me pareció una forma mejor de escoger, ya que no se votaba por una diapositiva conocida lo cual dio una votación mas transparente.

TERCERA CLASE

INFOGRAFIA PLACA BASE



Infografia placa base grupo asus final from Diego Edisson Medina Orjuela

Hicimos trabajo en grupo de la placa base, tenia que ser presentada en clase  para escoger las mejores diapositivas y las mejores iban a ser incluidas en una presentación general de todo el curso para ser subida a slideshare.

La forma de escoger  era postulando las diapositivas y elegir por votación, lo cual me parece una forma buena de escoger siempre y cuando los votos sean unánimes, pero  cada grupo votaba por las diapositivas del grupo al que pertenecía sin importar la calidad de la diapositiva y me parece que alguna diapositivas que se escogieron no eran las mejores.

martes, 17 de noviembre de 2015

SEGUNDA CLASE

INSTALANDO LA MAQUINA VIRTUAL Y EL PROGRAMA DEBUG


hicimos un ejercicio en clase, instalar la maquina virtual y el programa debug.
el profesor nos dejo en la plataforma de la ECCI virtual, los programas para descargar  y hacer el primer ejercicio del programa debug.
  • Primero entrando en el debug con las ordenes dadas por el profesor y luego proceder a mirar la memoria con (d) y escribir en la memoria con (e), escribir el nombre en minuscula y despues en mayuscula para observar que cosas cambian al hacerlo.

En el primer pantallaso se digita d para ver el estado de la memoria.

En el segundo pantallaso se digita e y el espacio de memoria en el que se va a guardar que en este caso es el e0100 y entre camilla sencilla de digita lo que se quiere escribir en este caso mi nombre.

Después de digita d y el espacio de memoria que se quiere mostrar en este caso el 0100 y aparece lo que se ingreso con el comando e.


Luego se hace el mismo paso pero esta vez escribiéndolo en mayúsculas.



por ultimo se puede ver como cambian los espacios en memoria.

TERCER CORTE

PROGRAMA DEBUG



DEBUG.EXE es un ejecutable que, hasta 2001, acompañó a todas las versiones de MS-DOS, a partir de la  2.0, y de Windows "debug" significa depurar (escrutar y eliminar fallos).El "Debug" es una utilidad de MS-DOS que permite visualizar memoria, introducir programas en ella y rastrear su ejecución. Una característica de debug es que despliega todo el código del programa en formato hexadecimal.


Debug es Útil para:
  • Ensamblar pocas líneas de código
  • Des-ensamblar código en RAM, ROM y executables
  • Correr paso-a-paso programas
  • Desplegar datos en memoria
  • Verificar estado de los registros del CPU

Estos son algunos de los comandos utilizados en el debug.
D: DUMP
D [intervalo]
Muestra el contenido de una zona de memoria en hexadecimal y en ASCII. Sin parámetros muestra los primeros 128 bytes a partir de la posición a la que se llegó en el último "d". Si se le da un rango, mostrará ese rango.
E DIRECCION: EDIT
E dirección [lista]
Permite editar, byte por byte, una zona de memoria. Muestra -en hexadecimal- el byte de esa posición y permite escribir otro valor para cambiarlo. Pulsando espacio pasa al byte siguiente, dejando como estaba el anterior si no se ha cambiado, o guardando los cambios si sí se ha hecho. Para terminar la edición se pulsa INTRO.
R: REGISTERS
R [registro]
Sin parámetros, muestra el contenido de los registros de la CPU, así como la próxima instrucción a ejecutar."R [REGISTRO]" muestra el contenido del registro especificado y cambia el prompt de "-" a ":" invitando a que se cambie su valor. Pulsando Enter sin más lo deja como estaba.
A: ASSEMBLE
A [dirección]
Sin parámetros ensambla las instrucciones que se introduzcan, guardándolas en la dirección siguiente a la que se llegó en el último "a". Cuando se utiliza este comando se le puede dar como parámetro la dirección donde se desea que se inicie el ensamblado, si se omite el parámetro el ensamblado se iniciará en la localización especificada por CS:IP, usualmente 0100H, que es la localización donde deben iniciar los programas con extensión .COM, y será la localización que utilizaremos debido a que debug solo puede crear este tipo específico de programas.
F: FILL
F [lista de intervalos]
Llena una zona de memoria con un valor determinado. Como al terminar un programa la zona de memoria en que se residía no se borra (poniéndola a cero, por ejemplo), a menudo es útil para distinguir entre lo que son datos del programa actual y lo que es basura del anterior.
Q: QUIT
Q
Salir de debug y volver al DOS.
P: STEP
P [=dirección] [número]
Trace puede ser incómodo si no se quiere depurar el código de las rutinas de interrupción o si ya se sabe el código que hay en las subrutinas y tan sólo interesa seguir avanzando sin entrar en ellas. En estos casos se usa p.
T: TRACE
T [=dirección] [valor]
Ejecuta la instrucción apuntada por cs:ip y vuelve a debug. Permite ejecutar paso a paso un programa y observar en cada instrucción el efecto producido. Si haciendo "trace" se llega a una subrutina (CALL) o a una interrupción (INT) la siguiente instrucción que se ejecutará será la primera de la subrutina o la primera de la rutina de atención de la interrupción correspondiente.

http://es.slideshare.net/Pau22/debug-paulinachacon-presentation


LENGUAJE ENSAMBLADOR


Es un lenguaje de programacion de bajo nivel, se le llama lenguaje ensamblador o Asembler.
• El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros y unos del sistema binario. 
• El lenguaje ensamblador expresa las instrucciones de una forma más natural al hombre a la vez que muy cercana al microcontrolador, ya que cada una de esas instrucciones se corresponde con otra en código máquina. 
• El lenguaje ensamblador trabaja con nemónicos, que son grupos de caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar. 
•La traducción de los nemónicos a código máquina entendible por el microcontrolador la lleva a cabo un programa ensamblador. 
• El programa escrito en lenguaje ensamblador se denomina código fuente (*.asm). El programa ensamblador proporciona a partir de este fichero el correspondiente código máquina, que suele tener la extensión *.hex.


https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Codigo_de_maquina.png/400px-Codigo_de_maquina.png

https://karenalduncin.files.wordpress.com/2012/03/ap3-2.gif


martes, 20 de octubre de 2015

ACTIVIDAD WEB

ACTIVIDAD WEB

Armar un computador por partes con un presupuesto de $4.500.000  

Hacer una presentación en:

  • Prezi
  • Power Point 
  • Director
  • Flash
Argumentando porque este equipo es el mejor. 


domingo, 18 de octubre de 2015

CLASE # 5

ALU

http://sanmartinfernando.files.wordpress.com/2014/05/alu.png?w=438&h=297



Unidad aritmético lógica, es un circuito digital que se encarga de realizar operaciones matemáticas y lógicas.

La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones.

Circuito operacional
Realiza las operaciones con los datos de los registros de entrada.

Registros de entradas
Contiene los operandos de la operación.

Registro acumulador
Almacena los resultados de las operaciones.

Registro de estado
Registra las condiciones de la operación anterior.

La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros del procesado. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria.
Una unidad de control controla a la ALU, al ajustar los circuitos que le señala a la ALU qué operaciones realizar.
DIAGRAMA LÓGICO DE LA ALU


http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/images/031205.gif

https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQUVGieGd2VYysCyKAJsQ7dq9hqs6Lzt-3a8tnvefaZRbTWl844B67SaQ

UC (UNIDAD DE CONTROL)

https://ieszacapoaxtla.files.wordpress.com/2011/07/uc_sea1.jpg


Su función es buscar las instrucciones en la memoria principal, decodificarlas y ejecutarlas, empleando para ello la unidad de proceso.
Existen dos tipos de unidades de control: las cableadas, usadas generalmente en máquinas sencillas, y las micro programadas, propias de máquinas más complejas.
Las salidas de la UC se encargan de controlar la actividad del resto del dispositivo. Se puede pensar en una UC como una máquina de estado finito.
La UC es la circuitería que controla el flujo de datos a través del procesador, y coordina procesador, que a su vez controla el resto de la computadora.
Algunos ejemplos de dispositivos que requieren una UC son las CPU y las GPU. La edad de la información moderna no sería posible sin diseños complejos de la UC.

Unidad de control cableada

Es construida de puertas lógicas, circuitos biestables, circuitos codificadores, circuitos decodificadores, contadores digitales y otros circuitos digitales. Su control está basado en una arquitectura fija, es decir, que requiere cambios en el cableado si el conjunto de instrucciones es modificado o cambiado. Esta arquitectura es preferida en las computadoras RISC, pues consiste en un conjunto de instrucciones más pequeño.

http://jhonetto.tripod.com/unidad7.jpg
g

Unidad de control microprogramada

Los microprogramas fueron organizados como una secuencia de microinstrucciones y almacenados en una memoria del control especial. El algoritmo para la unidad de control microprogramada es usualmente especificado por la descripción de un diagrama de flujo. La ventaja principal de la unidad de control microprogramada es la simplicidad de su estructura. Las salidas del controlador son organizadas en microinstrucciones y pueden ser reemplazadas fácilmente.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2p7y6Sdd2e_DadoJGaq05zdbddoO0RTEpIjubkLEE2P-JPxe_V4HpIGUp4-0gdMu4KIQRB7mOVj9UfOSbEQVw8SKPsl8zIhB1A8vc5hQhSb1Cbe4r4vvnpnUddgSY67cxM8Hzdwsp7U4/s320/Imagen1.png



JERARQUÍA DE LA MEMORIA




La jerarquía de memoria es la organización piramidal de la memoria en niveles que tienen las computadoras.


Los puntos básicos relacionados con la memoria pueden resumirse en:

  • Capacidad
  • Velocidad
  • Costo por bit

La cuestión de la capacidad es simple, cuanta más memoria haya disponible, más podrá utilizarse.
La velocidad óptima para la memoria es la velocidad a la que el microprocesador puede trabajar, de modo que no haya tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados.
En suma, el coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.

Los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio.
Las siguientes afirmaciones son válidas:

  •  A menor tiempo de acceso mayor coste.
  •  A mayor capacidad menor coste por bit.
  •  A mayor capacidad menor velocidad.

Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo.

Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria más rápida.




Basic Input/oputput System(Sistema Básico de Entrada y Salida)
BIOS


Es básicamente la encargada del manejo y configuración de la placa base y sus componentes.
El funcionamiento del BIOS es muy simple, este se ejecuta cada vez que se reinicia la computadora, el procesador encuentra la instrucción en el vector de reset y ejecuta la primera línea de código del BIOS que es de salto incondicional y remite a una dirección más baja en la BIOS.

El BIOS ejecuta procedimientos diferentes y esto dependerá de cada fabricante, pero en general lo que hace es cargar una copia del firmware hacia la memoria RAM ya que esta última es mucho más rápida y realiza la detección y configuración de dispositivos que puede contener un sistema operativo mientras realiza una búsqueda del mismo.

http://www.partesdeunacomputadora.net/wp-content/uploads/2013/07/Bios.jpg



ERRORES DEL POST


Cada diagnóstico de prueba automática de encendido (POST) es una prueba de bajo nivel diseñada para detectar fallos en un componente de hardware específico. 



Códigos de diagnóstico numéricos

Existen también dispositivos especiales que provistos de una pantalla LCD y conectado vía puerto serie (COM) o vía ranuras ISA o PCI conectadas en la placa base, permiten visualizar un número hexadecimal el cual luego de ser buscado en otra tabla especial realiza la misma función, de una manera mucho más cómoda.

Actualmente, las placas base suelen tener integrado un par de visualizadores de siete segmentos que muestran los estados del POST y en su manual de fábrica la correspondiente descripción detallada de los códigos que muestra.











La memoria es un área donde se almacenan y se pueden ejecutar los programas.
Un ordenador compatible con PC tiene tres tipos de memorias:

Ø  convencional
Ø  extendida
Ø  paginada

Se puede encontrar la cantidad de memoria presente (y disponible) en un sistema al ejecutar el siguiente comando: "mem" (o "mem /c\more" para obtener más información).

Memoria convencional
La memoria convencional es la parte de la memoria donde se pueden cargar los programas sin necesidad de instrucciones específicas. La cantidad de memoria convencional varía entre 256 KB y 640 KB (en todos los ordenadores recientes: 386, 486, Pentium, etc.).
La cantidad de memoria disponible es la memoria restante tras cargar DOS en la memoria (es decir, el sistema operativo, los controladores de dispositivos y todos los comandos cargados desde config.sys y autoexec.bat).

Memoria extendida
La memoria extendida permite que el sistema tenga acceso a más memoria. Este tipo de memoria está disponible en los ordenadores equipados con un procesador tipo 80286 o superior.
Los programas generalmente reconocen direcciones de memoria convencionales. Para acceder al área de almacenamiento superior a los 640 KB, los programas necesitan instrucciones específicas. Un programa que administra el acceso a la memoria extendida, evita, por ejemplo, que dos programas utilicen la misma área de la memoria al mismo tiempo. Este programa se llama "administrador de memoria extendida".
MS-DOS cuenta con el administrador de memoria extendida estándar llamado HIMEM.SYS (también se encuentra en Windows 98). Se carga en el config.sys agregando la sintaxis:

Memoria paginada
Otra forma de acceder a la memoria superior a los primeros 640 KB consiste en utilizar la memoria paginada. Algunos programas (pocos en la actualidad) han sido mejorados para utilizar este tipo de memoria.
Como ocurre con la memoria extendida, este tipo de memoria requiere un programa para administrarlo, se llama "administrador de memoria paginada". Los programas diseñados para utilizar este tipo de memoria no pueden acceder a él directamente: el administrador de memoria debe copiar las secciones de 16 KB de memoria (llamadas páginas) en un área (llamada segmento del marco) ubicada en el área de memoria alta. Este tipo de memoria se desarrolló antes que la memoria extendida, por lo tanto, es más lenta y sólo permite la utilización de una parte limitada de la memoria en cualquier momento determinado.

Memoria alta

Muchos sistemas tienen 384 KB de memoria alta (HMA, direcciones de memoria alta), ubicada directamente tras los 640 KB de la memoria convencional. El hardware puede utilizar esta área de la memoria. Las áreas no utilizadas por el hardware se llaman "bloques de memoria superior" (UMB) y permiten que los programas se puedan ejecutar en la memoria paginada.








TAREA


Hacer una presentación en power point sobre:

  • La jerarquía dela memoria 
  • Mapeado de la memoria
  • BIOS
  • MEMORIA D.O.S.




EVALUACIÓN PRESENTACIÓN GERARQUIA DE LA MEMORIA


Evaluación de tres compañeros bajo los criterios de:


  1. Completitud
  2. Presentación
  3. Creatividad
Autoevaluacion

Bajo los mismos criterios de evaluación.











sábado, 17 de octubre de 2015

CLASE # 2

TIPOS DE ARQUITECTURAS



RICS

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9WNFiIBwIg7Q8JU2GOGzvSleqeFJpzNOsKuAXh2rLNTD81hczkEpdsGv8usdU_ptOV3PB8st-tdIzrzMqDoiL3RWeX9U1PN_ohb0i1Au0AvSlQYUs3Hela8ytTurPeHD1WqJ4yhqHC104/s320/Risc2.gif
RISC: Computador con conjunto de instrucciones reducidas.
Regularmente son de gran velocidad y repetitivas para tareas específicas como los servidores.
Las instrucciones RISC, con tres direcciones, contienen los campos de los dos operandos y de su resultado. Por lo tanto, tanto los operandos origen como el destino, son mantenidos en los registros tras haber sido completada la operación. Esta arquitectura "no destructiva" permite a los compiladores organizar las instrucciones de modo que mantengan llenos los conductos (pipelines) del chip, y por tanto reutilizar los operandos optimizando la concurrencia.
El resultado directo de los conjuntos de instrucciones que ofrecen los procesadores RISC, es que cada instrucción puede ser ejecutada en un único ciclo de la CPU.
Las máquinas RISC protagonizan la tendencia actual de construcción de microprocesadores. 

DEC Alpha

 https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/DEC_Alpha_21-35023-13_J40793-28_top.jpg/220px-DEC_Alpha_21-35023-13_J40793-28_top.jpg


PowerPC

http://www.happytrees.org/main-images/chip-v2/ic-photo-IBM--PPCA601FF-066-1--(PowerPC-CPU).png

MIPS
http://upload.wikimedia.org/wikipedia/commons/8/8e/KL_IDT_R4700_MIPS_Microprocessor.jpg

ARM

http://www.bashihq.com/wp-content/uploads/2015/08/arm-processor-architecture-picture-2015-arm-processor-at-architecture.jpg


SPARC

https://upload.wikimedia.org/wikipedia/en/8/8b/Oracle_SPARC_T4_chip_028.jpg

DIAGRAMA RICS
http://linuxemb.wikidot.com/local--resized-images/tesis-c2/anatomy.png/medium.jpg


CARACTERISITICAS
  • Debido a que se tiene un conjunto de instrucciones simplificado, estas se pueden implantar por hardware directamente en la CPU, lo cual elimina el micro código y la necesidad de decodificar instrucciones complejas.
  • Estos microprocesadores toman como base el esquema moderno de VON NEUMANN.
  • Modos de direccionamiento simple con modos más complejos remplazados por secuencias de instrucciones aritméticas simples.
  • El objetivo de construir maquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a la memoria.
  • Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseño del tipo load-store), base importante para la reorganización de la ejecución de instrucciones por medio de un compilador.



CICS


CISC: Tiene un set de instrucciones mucho más amplia, para operaciones complejas, diseñado hacia las aplicaciones.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayoría de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente micro-instrucciones.
Los CISC pertenecen a la primera corriente de construcción de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86, AMD x86-64 usada en la mayoría de las computadoras personales actuales.
Todos los microprocesadores utilizados en la fabricación de ordenadores personales, son de tecnología CISC

CARACTERISITICAS
  • Reduce la dificultad de crear compiladores.
  • Permite reducir el costo total del sistema.
  • Mejora la compactación del código
  • Facilita la depuración de errores.
  • Muchos modos de direccionamiento.
  •  Varios formatos de instrucciones.
  •    Normalmente micro programados (no micro programables).
  •   La ejecución de las instrucciones lleva varios ciclos de maquina

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyXF4_SPWY9kbJ02rwf30lTgHYBFirJTArjZKoQAz3np_M-QliagYAUEjCw1znHH7VY6ZEXEBHFEdpOHLXecYGeXdeOkzUyY0z_1EbpB853P-shk2c8La6nxiTwNmHXZmcO_0FPJh9pBE/s320/diagramas+de+bloques+cisc.png


http://us.123rf.com/450wm/yuriy2design/yuriy2design1306/yuriy2design130600021/20141233-complex-instruction-set-computing-cisc.jpg



http://www.monografias.com/trabajos55/microprocesadores-cisc-risc/Image9299.gif



MOTOROLA 6800
https://upload.wikimedia.org/wikipedia/commons/5/5a/Motorola_MC6800_microprocessor.jpg


ZILOG Z80

https://upload.wikimedia.org/wikipedia/commons/4/40/Z84C0010FEC_LQFP.png



ARQUITECTURA HARVARD

La arquitectura Harvard es una arquitectura de computadora con pistas de almacenamiento y de señal físicamente separadas para las instrucciones y para los datos.
Tiene por separado el bus de datos para las instrucciones de entrada y salida.
Los micro controladores se caracterizan por tener pequeñas cantidades de programa (memoria flash) y memoria de datos (SRAM), sin cache, y aprovechan la arquitectura de Harvard para acelerar el procesamiento de la instrucción simultánea y el acceso a datos. El almacenamiento separado significa que el programa y memorias de datos pueden presentar diferentes anchos de bit, por ejemplo, utilizando instrucciones de 16 bits de ancho y los datos de ancho de 8 bits. 


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyXse8Tny5KV7Oq56H5gULqeFRIdyWGy0xLkftWpFGiBiiv7LBd-0wMSznUMdzlcthiA3r_0Ckn8M1djnyDhimpgzWjxqZImsdCwYDXassxgJqDGhL11VvS4QMCRLYStuGCjiHkzk58Ag/s1600/harvard.gif





ARQUITECTURA VON NEUMANN

Los canales de alimentación y los puertos son de doble vía  y son mas lentos.
Tanto los programas como los datos se almacenan en una memoria en común. Esto hace posible la ejecución de comandos de la misma forma que los datos.
Cada celda de memoria de la máquina se identifica con un número único, llamado dirección.
Las diferentes partes de la información (los comandos y los datos) tienen diferente modos de uso, pero la estructura no se representa en memoria de manera codificada.
Cada programa se ejecuta de forma secuencial que, en el caso de que no haya instrucciones especiales, comienza con la primera instrucción. Para cambiar esta secuencia se utiliza el comando de control de transferencia.
Elipse: Son capaces de realizar una operación y tomar una decisión en función de su resultado en teoría es un solo ciclo del generador y en la práctica en un máximo de dos

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkOZc3HcnAp-uEmUSbXpKGFHZiIqmCdFz2AUlfgLga_5z0LLQ55vtas9h781oogS_0PVMpJLlMcZQXPVCV2G_whEKlNQUUyt1mrRmbeivic0U3wn1vLl7apZdm7LJ4XgjcTzmnUcXnthg/s1600/vonneumann.gif
ARQUITECTURA DEL PROCESADOR
http://liliaevans.galeon.com/dibujo.png

RELOJ

DECODIFICADOR DE INSTRUCCIONES


LENGUAJE MAQUINA
El lenguaje máquina está construido a partir de los estados discretos o instrucciones. En la arquitectura de procesamiento, una instrucción dada puede especificar:
  • Registros particulares para operaciones aritméticas, de direccionamiento o de control.
  • Ubicaciones particulares de la memoria.
  • Modos de direccionamiento para interpretar a los operandos.

LENGUAJE ENSAMBLADOR
El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas informáticos de bajo nivel, y constituye la representación más directa de la máquina específica para cada arquitectura de computadoras legible por un programador.



SET DE REGISTROS

Es uno de los tres elementos que compone el núcleo del computador.

http://www.zator.com/Hardware/Images_esp/H3b-F1.gif