21
ISC. Javier Méndez Morales Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88 2.- ARQUTECTURA DE COMPUTADORAS 2.1 Arquitecturas y formas de procesamiento 2.1.1 Historia y evolución 2.1.1.1 Tercera generación: multiprogramación, multiprocesamiento, tiempo compartido, CPU y terminales, lenguajes algorítmico de programación evolucionamos(Algol, Pascal, PL/I) Tercera Generación (1964-1971) Circuitos Integrados, Compatibilidad con Equipo Mayor, Multiprogramación, Minicomputadora Las computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados (pastillas de silicio) en las cuales se colocan miles de componentes electrónicos, en una integración en miniatura. Las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energéticamente más eficientes. Antes del advenimiento de los circuitos integrados, las computadoras estaban diseñadas para aplicaciones matemáticas o de negocios, pero no para las dos cosas. Los circuitos integrados permitieron a los fabricantes de computadoras incrementar la flexibilidad de los programas, y estandarizar sus modelos. La IBM 360 una de las primeras computadoras comerciales que usó circuitos integrados, podía realizar tanto análisis numéricos como administración ó CARACTERIST ICAS Primera Segunda Tercera Cuarta Quinta DURACIÓN 1950-1960 1960-1970 1970-1980 1980-1990 1990-2000 TECNOLOGÍA Válvulas electrónicas Transistores C.I. (SSI-MMI) C.I. (LSI) C.I. (VLSI) FABRICANTE IBM-UNIVAC BURROUG HS NCR, CDC DIGITAL APPLE DEC-INTEL MAQUINA IBM 701 CDC 6600 PDP-8 PDP-11 Fujitsu M382 Cray X-MP Alpha 21164 P6 SIST. OPERATIVO Muy rudimentario Monitor de encadenami ento Muy primarios Estructurados bajo multiprograma ción y multiproceso SO de tiempo compartido Multiprocesami ento TIPO DE MEMORIA Tubos de Williams. Tambores y cintas magnéticas. Núcleos de ferrita Memorias en C.I. y memorias caché Memorias virtuales Caché a varios niveles LENGUAJE Maquina FORTRAM, COBOL, ALGOL, PL1 BASIC PASCAL Alto nivel. FORTRAM extendido Lenguaje natural “C” APORTACIONE S HARDWARE Registros indexados Canales Conexión delos CI en placas de circuito impreso Microprocesa dor, memoria integrada CI de alta escala de integración APORTACIONE S SOFTWARE Mejoras en Ensambladore s y Macroensambl ador Fuerte impulso del FORTRAN Gran avance en los sistemas operativos Extensión de lenguajes de alto nivel Intento de sustituir por hardware PRODUCTO Computador Computador comercial Minicomputad or Microcomput ador Multiprocesad or

5. Arquitectura de Computadoras

Embed Size (px)

Citation preview

Page 1: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

2.- ARQUTECTURA DE COMPUTADORAS

2.1 Arquitecturas y formas de procesamiento

2.1.1 Historia y evolución

2.1.1.1 Tercera generación: multiprogramación, multiprocesamiento, tiempo compartido, CPU y terminales, lenguajes algorítmico de programación evolucionamos(Algol, Pascal, PL/I)

Tercera Generación (1964-1971) Circuitos Integrados, Compatibilidad con Equipo May or, Multiprogramación, Minicomputadora Las computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados (pastillas de silicio) en las cuales se colocan miles de componentes electrónicos, en una integración en miniatura. Las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energéticamente más eficientes. Antes del advenimiento de los circuitos integrados, las computadoras estaban diseñadas para aplicaciones matemáticas o de negocios, pero no para las dos cosas. Los circuitos integrados permitieron a los fabricantes de computadoras incrementar la flexibilidad de los programas, y estandarizar sus modelos. La IBM 360 una de las primeras computadoras comerciales que usó circuitos integrados, podía realizar tanto análisis numéricos como administración ó

CARACTERISTICAS Primera Segunda Tercera Cuarta Quinta

DURACIÓN 1950-1960 1960-1970 1970-1980 1980-1990 1990-2000

TECNOLOGÍA Válvulas electrónicas

Transistores C.I. (SSI-MMI) C.I. (LSI) C.I. (VLSI)

FABRICANTE IBM-UNIVAC BURROUGHS NCR,

CDC DIGITAL APPLE DEC-INTEL

MAQUINA IBM 701 CDC 6600 PDP-8 PDP-11

Fujitsu M382 Cray X-MP

Alpha 21164 P6

SIST. OPERATIVO

Muy rudimentario

Monitor de encadenami

ento Muy

primarios

Estructurados bajo

multiprogramación y

multiproceso

SO de tiempo

compartido

Multiprocesamiento

TIPO DE MEMORIA

Tubos de Williams.

Tambores y cintas

magnéticas.

Núcleos de ferrita

Memorias en C.I. y

memorias caché

Memorias virtuales

Caché a varios niveles

LENGUAJE Maquina FORTRAM,

COBOL, ALGOL, PL1

BASIC PASCAL

Alto nivel. FORTRAM extendido

Lenguaje natural “C”

APORTACIONES HARDWARE

Registros indexados

Canales

Conexión delos CI en placas de circuito impreso

Microprocesador, memoria

integrada

CI de alta escala de

integración

APORTACIONES SOFTWARE

Mejoras en Ensambladore

s y Macroensambl

ador

Fuerte impulso del FORTRAN

Gran avance en los

sistemas operativos

Extensión de lenguajes de

alto nivel

Intento de sustituir por hardware

PRODUCTO Computador Computador

comercial Minicomputad

or Microcomput

ador Multiprocesad

or

Page 2: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

procesamiento de archivos. Los clientes podían escalar sus sistemas 360 a modelos IBM de mayor tamaño y podían todavía correr sus programas actuales. Las computadoras trabajaban a tal velocidad que proporcionaban la capacidad de correr más de un programa de manera simultánea (multiprogramación). Por ejemplo la computadora podía estar calculando la nomina y aceptando pedidos al mismo tiempo. Minicomputadoras, Con la introducción del modelo 360 IBM acaparó el 70% del mercado, para evitar competir directamente con IBM la empresa Digital Equipment Corporation DEC redirigió sus esfuerzos hacia computadoras pequeñas. Mucho menos costosas de comprar y de operar que las computadoras grandes, las minicomputadoras se desarrollaron durante la segunda generación pero alcanzaron su mayor auge entre 1960 y 70.

� 1958 del primer Circuito Integrado (Chip) por el ingeniero Jack S. Kilby. � Dr. Robert Noyce de Fairchild Semicon ductors dio origen a la tercera generación

de las computadoras. � 7 de abril de 1964 La IBM 360 una de las primeras computadoras comerciales que

usó circuitos integrados, podía realizar tanto análisis numéricos como administración ó procesamiento de archivos.

� 1964 Control Data Corporation presenta la supercomputadora CDC 6600, que se consideró como la más poderosa de las computadoras de la época, ya que tenía la capacidad de ejecutar unos 3 000 000 de instrucciones por segundo (mips).

• Tecnología:

» Circuitos integrados SSI (hasta 100) y MSI (100-3000) • Modelos:

» IBM sistema 360 y PDP-8 (DIGITAL) • Modo de funcionamiento:

» Lenguajes de alto nivel BASIC y PASCAL » S.O con multiprogramación:

• División de la memoria. • Procedimientos de spooling (operación simultánea de

periféricos conectados en línea). • Tiempo compartido.

2.1.1.2 Cuarta generación: compactación de los comp onentes

Cuarta Generación (1971 – 1981) Microprocesador , Chips de memoria, Microminiaturiz ación Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio y la colocación de Muchos más componentes en un Chip: producto de la microminiaturización de los circuitos electrónicos. El tamaño reducido del microprocesador y de chips hizo posible la creación de las computadoras personales (PC). Hoy en día las tecnologías LSI (Integración a gran escala) y VLSI (integración a muy gran escala) permiten que cientos de miles de componentes electrónicos se almacenen en un chip. Usando VLSI, un fabricante puede hacer que una computadora pequeña rivalice con una computadora de la primera generación que ocupara un cuarto completo. En 1971, intel Corporation presenta el primer microprocesador o Chip de 4 bits, que en un espacio de aproximadamente 4 x 5 mm contenía 2 250 transistores. En 1977 aparecen las primeras microcomputadoras. Las principales tecnologías que dominan este mercado son: IBM y sus compatibles llamadas clones, fabricadas por infinidad de compañías con base en los procesadores 8088, 8086, 80286, 80386, 80486, 80586 o Pentium, Pentium II, Pentium III y Celeron de Intel y en segundo término Apple Computer, con sus Macintosh y las Power Macintosh.

• Tecnología:

» Se integra la UCP en un sólo chip: el microprocesador.

Page 3: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

» Circuitos integrados LSI (3000-30000) y VLSI (más de 30000)

• Modelos:

» IBM PC (1981), IBM PC XT (1982), IBM PC AT (1984), IBM PS/2

(1987), VAX (DIGITAL,1980), CRAY X-MP (1983)

• Modo de funcionamiento:

» Software fácil de usar.

» Sistemas operativos MS-DOS, UNIX..

» Sistemas operativos de red y sistemas operativos distribuidos.

2.1.1.3 Quinta generación QUINTA GENERACIÓN Y LA INTELIGENCIA ARTIFICIAL (198 2-1989) Hay que mencionar dos grandes avances tecnológicos, que sirvan como parámetro para el inicio de dicha generación: la creación en 1982 de la primera supercomputadora con capacidad de proceso paralelo, diseñada por Seymouy Cray, quien ya experimentaba desde 1968 con supercomputadoras, y que funda en 1976 la Cray Research Inc.; y el anuncio por parte del gobierno japonés del proyecto "quinta generación", que según se estableció en el acuerdo con seis de las más grandes empresas japonesas de computación, debería terminar en 1992. El proceso paralelo es aquél que se lleva a cabo en computadoras que tienen la capacidad de trabajar simultáneamente con varios microprocesadores. Aunque en teoría el trabajo con varios microprocesadores debería ser mucho más rápido, es necesario llevar a cabo una programación especial que permita asignar diferentes tareas de un mismo proceso a los diversos microprocesadores que intervienen. También se debe adecuar la memoria para que pueda atender los requerimientos de los procesadores al mismo tiempo. Para solucionar este problema se tuvieron que diseñar módulos de memoria compartida capaces de asignar áreas de caché para cada procesador. La característica principal sería la aplicación de la inteligencia artificial (Al, Artificial Intelligence). Las computadoras de esta generación contienen una gran cantidad de microprocesadores trabajando en paralelo y pueden reconocer voz e imágenes. También tienen la capacidad de comunicarse con un lenguaje natural e irán adquiriendo la habilidad para tomar decisiones con base en procesos de aprendizaje fundamentados en sistemas expertos e inteligencia artificial. El almacenamiento de información se realiza en dispositivos magneto ópticos con capacidades de decenas de Gigabytes; se establece el DVD (Digital Video Disk o Digital Versatile Disk) como estándar para el almacenamiento de video y sonido; Los componentes de los microprocesadores actuales utilizan tecnologías de alta y ultra integración, denominadas VLSI (Very Large Sca/e Integration) y ULSI (Ultra Lar- ge Scale Integration).

• Tecnología: » Circuitos con más de un millón de componentes. » Nuevas arquitecturas: paralelismo. » Tecnología óptica.

• Modelos: » CONNECTION MACHINE, máquina masivamente paralela. »

• Modo de funcionamiento:

Page 4: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

» Inteligencia artificial y sistemas expertos.

2.1.1.4 Microprogramación

La microprogramación consiste en un conjunto de microinstrucciones, para poder ejecutar líneas de código y operaciones. La microprogramación es un lenguaje de programación a un nivel muy bajo sin llegar al nivel mas bajo (que es donde las operaciones se realizan con números binarios) Para poder realizar la microprogramación, se deben conocer muy bien los registros del procesador en el que se va a trabajar, ya que en este lenguaje se interactúa muy de cerca con ellos. También es importante conocer las instrucciones del mismo para poder usar algunas de ellas que simplifiquen las instrucciones, todo esto con las microinstrucciones que se usen por default para la programación. Se muestran a continuación una tabla con instrucciones de microprogramación

F1 Microoperacion Símbolo

000 Ninguno NOP

001 AC ß AC + DR ADD

010 AC ß 0 CLRAC

011 AC ßAC+1 INCAC

100 AC ß DR DRTAC

101 AR ß DR(0-10) DRTAR

110 AR ß PC PCTAR

111 M[AR] ß DR WRITE

F2 Microoperacion Símbolo

000 Ninguno NOP

001 AC ß AC -DR SUB

010 AC ß AC < DR OR

011 AC ß AC > DR AND

100 DR ß M[AR] READ

101 DR ß AC ACTDR

110 DR ß DR + 1 INCDR

111 DR(0-10) ß PC PCTDR

F3 Microoperacion Símbolo

000 Ninguno NOP

001 AC ß AC Å DR XOR

010 AC ß AC COM

011 AC ß shl AC SHL

100 AC ß shr AC SHR

101 PC ß PC +1 INCPC

110 PC ß AR ARTPC

111 Reservado

Page 5: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

CD Condición Símbolo Comentario

00 Siempre = 1 U Transferencia incondicional

01 DR(15) I Bit de dirección indirecta

10 AC(15) S Bit se digno de AC

11 AC = 0 Z Valor cero en AC

BR Símbolo Función

00 JMP CAR ß AD si la condición =0

01 CALL CAR ß AD, SBR ß CAR +1 si la condición = 1

10 RET CAR ß SBR (Retorno de subrutina)

11 MAP CAR(2-5) ß DR (11-14), CAR(0,1,6)ß 0

Las principales características del microprograma son:

� Se trata de software que generalmente se localiza en la memoria de solo lectura. � Busca las instrucciones de lenguaje de máquina para ejecutarlas como una serie

de pequeños pasos. � El conjunto de instrucciones que interpreta define al lenguaje de máquina. � En ciertas máquinas se implanta en el hardware y no es en realidad una capa

distinta.

2.1.1.5 Minicomputadoras Computadoras de tamaño mediano, que no son tan costosas como las grandes maquinas, pero que ya disponen de una gran capacidad de proceso. Surgen a mediados de la década de 1970.

2.1.1.6. Microprocesadores El microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo de componente electrónico en cuyo interior existen miles (o millones) de elementos llamados transistores, cuya combinación permite realizar el trabajo que tenga encomendado el chip. En un microprocesador podemos diferenciar diversas partes: El encapsulado: es lo que rodea a la oblea de silicio en si, para darle consistencia, impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo a su placa base. La memoria cache: es una memoria ultrarrápida que emplea el micro para tener a mano ciertos datos que previsiblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de espera. Los registros: Un grupo de registros esta diseñado para control del programador en total son treinta y dos registros. La memoria: es el lugar donde el procesador encuentra sus instrucciones de programa y sus datos. Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es parecido a una línea de teléfono. Los microprocesadores deben cumplir con ciertas capacidades, la primera leer y escribir información en la memoria de la computadora. La otra capacidad es reconocer y ejecutar una serie de comandos o instrucciones proporcionados por los programas. La tercera capacidad es

Page 6: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

decirle a otras partes de la computadora lo que deben de hacer, para que el micro pueda dirigir la operación a la computadora. En pocas palabras los circuitos de control de la MPU o microprocesador tienen la función de decodificar y ejecutar el programa (un conjunto de instrucciones para el procesamiento de los datos). El primer microprocesador fue el Intel 4004, producido en 1971. Se desarrolló originalmente para una calculadora, y resultaba revolucionario para su época. Contenía 2.300 transistores en un microprocesador de 4 bits que sólo podía realizar 60.000 operaciones por segundo. El primer microprocesador de 8 bits fue el Intel 8008, desarrollado en 1979 para su empleo en terminales informáticos. El Intel 8008 contenía 3.300 transistores. El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4.500 transistores y podía ejecutar 200.000 instrucciones por segundo. Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores. Entre ellos figuran el Intel Pentium Pro, con 5,5 millones de transistores; el UltraSparc-II, de Sun Microsystems, que contiene 5,4 millones de transistores; el PowerPC 620, desarrollado conjuntamente por Apple, IBM y Motorola, con 7 millones de transistores, y el Alpha 21164A, de Digital Equipment Corporation, con 9,3 millones de transistores.

2.1.3. Arquitecturas alternativas

2.1.3.1 Máquinas de pila, arreglo, vectorial y mult iprocesador La maquina vectorial La trayectoria de datos en lugar de tener una sola variable apara cada entrada de la ALU, se tiene un vector con n entradas. La ALU en si es una unidad vectorial capaz de realizar operaciones como la suma de vectores a partir de dos vectores de entrada y obteniendo como resultado un vector de salida. Un procesador vectorial incluye operaciones de lector en su conjunto de instrucciones sumado al conjunto convencional de instrucción es que normalmente se encuentra en un CPU. Las instrucciones vectoriales típicas incluyen operaciones aritméticas con datos de punto flotante, operaciones lógicas, comparar probar, operaciones en matriz tales como el producto de punto, e instrucciones de búsqueda para valores máximos o mínimos, Los procesadores vectoriales son especialmente diseñados para ejecutar instrucciones complejas rápida y eficientemente. Esto se hace por la organización interna que combina unidades funcionales múltiples operando en paralelo junto con procesamiento de oleoducto dentro de las unidades funcionales. El procesador arreglo Un procesador adecuado para procesamiento vectorial algunas veces se denomina procesador arreglo. Esto es debido a que el procesador es capaz de realizar cálculos paralelos en arreglos grandes de datos. El nombre arreglo se utiliza también para significar un tipo especial de organización paralela. Aquí el arreglo designa conexión de hardware de un numero de unidades procesadoras idénticas conectadas junto con rutas directas entre cada unidad y sus vecinos. Multiprocesador Diferentes CPU manejan distintos programas compartiendo a veces, una memoria común, a la cual tiene acceso a cada procesador a través de un bus. Para reducir la competencia por el acceso y mejorar el desempeño, los diseñadores de multiprocesadores elaboraron varios esquemas, en los cuales cada uno de los procesadores tiene cierta memoria local propia que no es accesible al resto. Esta puede ser usada para almacenar el código del programa así como para aquellos datos que no necesitan compartirse. El acceso a esta memoria privada no utiliza e bus principal, con lo que el trafico se reduce en gran medida. Otros multiprocesadores utilizan mas de un bus para reducir la carga, mientras que otros, usan la llamada memoria caché, una técnica para mantener en cada procesador las palabras de memoria usadas con mayor frecuencia.

Page 7: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

2.1.3.2 Conceptos CISC y RISC

MAQUINAS CISC CISC es un acrónimo de las siglas en inglés para Computadora con Conjunto de Instrucciones Complejo. Las máquinas CISC tiene de doscientas a trescientas instrucciones, que están grabadas en micro código. MAQUINAS RISC RISC es un acrónimo de las siglas eInstrucciones. La arquitectura de la computadora RISC es un intento por obtener mas potencia del CPU simplificando su conjunto de instrucciones. El diseño del hardware RISC trata de ejecutar instrucciones reales sencillas en una fracción del tiempo que suele requerirse para decodificar y realizar instrucciones más complejas. Las computadoras RISC poseen un pequeño número de instrucciones montadas en los circuitos de nivel inferior, que trabajan a máxima velocidad. Aunque las máquinas RISC con sólo de un 15% a un 50% más veloces que sus contrapartidas CISC, los chips RISC son más baratos de producir.

2.1.4 Microprocesadores

2.1.4.2 Instrucciones, interrupciones, controladore s

Fig 16. Organización de un microprocesador sencillo Comencemos por definir y explicar cada una de las partes de este microprocesador. MAR: Este es el registro de direcciones de memoria (memory adress register). Debido a que la memoria RAM requiere cierto tiempo para encontrar y posicionarse en una dirección, dicha dirección debe estar siempre en las entradas. Este registro funciona como bu PC: Este es un contador (program counter) que sirve para tener la dirección de memoria de la siguiente instrucción o dato que se debe de leer.

ISC. Javier Méndez Morales

2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

1.3.2 Conceptos CISC y RISC

CISC es un acrónimo de las siglas en inglés para Computadora con Conjunto de Instrucciones Complejo. Las máquinas CISC tiene de doscientas a trescientas instrucciones, que están

RISC es un acrónimo de las siglas en inglés para Computadora con Reducido Conjunto de Instrucciones. La arquitectura de la computadora RISC es un intento por obtener mas potencia del CPU simplificando su conjunto de instrucciones. El diseño del hardware RISC trata de

reales sencillas en una fracción del tiempo que suele requerirse para decodificar y realizar instrucciones más complejas. Las computadoras RISC poseen un pequeño número de instrucciones montadas en los circuitos de nivel inferior, que trabajan a

ocidad. Aunque las máquinas RISC con sólo de un 15% a un 50% más veloces que sus contrapartidas CISC, los chips RISC son más baratos de producir.

2.1.4 Microprocesadores

2.1.4.2 Instrucciones, interrupciones, controladore s

Organización de un microprocesador sencillo

Comencemos por definir y explicar cada una de las partes de este microprocesador.

Este es el registro de direcciones de memoria (memory adress register). Debido a que la requiere cierto tiempo para encontrar y posicionarse en una dirección, dicha

dirección debe estar siempre en las entradas. Este registro funciona como buffer del PC.

Este es un contador (program counter) que sirve para tener la dirección de memoria de la siguiente instrucción o dato que se debe de leer.

2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

CISC es un acrónimo de las siglas en inglés para Computadora con Conjunto de Instrucciones Complejo. Las máquinas CISC tiene de doscientas a trescientas instrucciones, que están

n inglés para Computadora con Reducido Conjunto de Instrucciones. La arquitectura de la computadora RISC es un intento por obtener mas potencia del CPU simplificando su conjunto de instrucciones. El diseño del hardware RISC trata de

reales sencillas en una fracción del tiempo que suele requerirse para decodificar y realizar instrucciones más complejas. Las computadoras RISC poseen un pequeño número de instrucciones montadas en los circuitos de nivel inferior, que trabajan a

ocidad. Aunque las máquinas RISC con sólo de un 15% a un 50% más veloces que

Comencemos por definir y explicar cada una de las partes de este microprocesador.

Este es el registro de direcciones de memoria (memory adress register). Debido a que la requiere cierto tiempo para encontrar y posicionarse en una dirección, dicha

ffer del PC.

Este es un contador (program counter) que sirve para tener la dirección de memoria de la

Page 8: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

Esto es, si en la memoria comenzamos con la localidad 0000, el contador, después de apuntar hacia esa dirección y después de haber tomado el dato contenido en la memoria, debe ser incrementado en uno para que contenga un 0001, o sea, apunte a la siguiente dirección de la memoria. En nuestro caso, este contador debe ser capaz de cargar datos en paralelo para poder realizar instrucciones de salto. Por ejemplo, el contador puede tener el numero 0100, y en esa dirección, la memoria contiene una instrucción de salto a la dirección 1000. El PC debe ser capaz de cargar este nuevo número y seguir su cuenta a partir de él. MBR: Este registro es el buffer de datos de la memoria (memory buffer register). Cuando la memoria se posiciona en una dirección, muestra el contenido en su bus de datos, pero estos datos o contenido cambiaran si se cambia la dirección que se pone en las entradas del bus de direcciones de la memoria. Es por esto que es necesario un buffer de salida en la memoria. También nos servirá como buffer para instrucciones de escritura a la memoria. IR: Este registro el es registro de instrucciones (instruction register). Cuando el dato contenido en una dirección de memoria es una instrucción (suma, resta, salto, etc.) se manda a este registro para decodificarlo y mandar las señales correctas para realizar dicha instrucción. ALU: La unidad aritmético lógica es un integrado que puede realizar operaciones aritméticas y operaciones lógicas ya sea con un solo operando o hasta con dos operandos. Acc: Este es el registro acumulador y es de propósito general. En nuestro caso será utilizado para guardar uno de los operandos del la ALU para llevar a cabo operaciones con dos operandos. El segundo se proporcionará directamente a la ALU desde el MBR. ROP: Este registro contiene el código de operación de la ALU. Esto es, se requiere de un código binario en las entradas de la ALU para seleccionar qué tipo de operación se quiere llevar a cabo (suma, resta, complemento,etc.). R: Este registro sirve únicamente para observar el resultado de las operaciones realizadas en la ALU pues está conectado directamente a las salidas. Generador de tiempos: Es la parte de nuestro microprocesador que se encarga de generar señales de tiempos de acuerdo a la frecuencia de reloj que estemos manejando. Unidad de control: Es la encargada de generar las señales correctas para realizar las operaciones deseadas por el usuario. Como una analogía tenemos al director de una orquesta. Que son las instrucciones: El set de instrucciones de un microprocesador es el set de entradas binarias que producen acciones definidas durante un ciclo de instrucción. Un set de instrucciones es para el microprocesador lo mismo que una tabla de verdad es para una compuerta lógica, un registro de desplazamiento o un circuito sumador. Por supuesto, las acciones que realiza un microprocesador con cada instrucción, son más complejas que las que realizan los dispositivos y compuertas antes mencionados. Una INTERRUPCION se puede definir como una señal proveniente de un dispositivo dispositivo externo, que llega a una entrada del microprocesador dedicada a este propósito y que indica al microprocesador que el dispositivo que la originó está solicitando servicio. Cuando ocurre una interrupción, el microprocesador suspende temporalmente la ejecución del programa principal y transfiere el control a una subrutina especialmente diseñada para atender al dispositivo que provocó la interrupción, a esta subrutina se le denomina SUBRUTINA DE SERVICIO DE LA INTERRUPCIÓN (Interrupt Service Routine) o MANEJADOR DE INTERRUPCIÓN (Interrupt Handler). Al terminar el servicio, el microprocesador regresa al programa principal, continuando con sus actividades normales. Desde este punto de vista una interrupción es esencialmente una llamada a SUBRUTINA iniciada por un circuito externo (hardware) y con un retorno contolado por programa (software). Además, las interrupciones tienen la características de que son eventos asíncronos, es decir, pueden ocurrir en cualquier momento durante la ejecución del programa principal sin

Page 9: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

posibilidad de hacer una predicción exacta. Por ello hay que hacer consideraciones especiales y tener cuidados adicionales al manejarlas. INT número

Salva los flags en la pila, hace TF=IF=0 y ejecuta la interrupción con el número indicado.

INTO

Interrupción condicional. Si OF = 1, hace INT 4.

IRET Retorno de interrupción. Restaura los indicadores del stack

Las instrucciones están divididas en un número de campos, como se muestra debajo. ETIQUETAS OPERACIÓN OPERANDO COMENTARIOS caso movf 5,w ;lee puerto A retlw 4 ; retorna de subrutina trio sleep ;bajo consumo INSTRUCCIONES DE TRANSFERENCIA DE DATOS (No afectan flags) MOV dest,src Copia el contenido del operando fuente (src) en el destino (dest). Operación: dest <- src Las posibilidades son:

1. MOV reg,{reg|mem|inmed} 2. MOV mem,{reg|inmed} 3. MOV {reg16|mem16},{CS|DS|ES|SS} 4. MOV {DS|ES|SS},{reg16|mem16}

PUSH src

Pone el valor en el tope del stack. Operación: SP <- SP - 2, [SP+1:SP] <- src donde src =

{reg16|mem16|CS|DS|ES|SS}. POP dest

Retira el valor del tope del stack poniéndolo en el lugar indicado. Operación: dest <- [SP+1:SP], SP <- SP + 2 donde dest = {reg16|mem16|DS|ES|SS}.

XCHG reg,{reg|mem} Intercambia ambos valores.

IN {AL|AX},{DX|inmed (1 byte)} Pone en el acumulador el valor hallado en el port indicado.

OUT {DX|inmed (1 byte)},{AL|AX} Pone en el port indicado el valor del acumulador.

XLAT Realiza una operación de traducción de un código de un byte a otro código de un byte mediante una tabla. Operación: AL <- [BX+AL]

LEA reg,mem Almacena la dirección efectiva del operando de memoria en un registro. Operación: reg <- dirección mem

LDS reg,mem32 Operación: reg <- [mem], DS <- [mem+2]

LES reg,mem32 Operación: reg <- [mem], ES <- [mem+2]

LAHF

Page 10: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

Copia en el registro AH la imagen de los ocho bits menos significativos del registro de indicadores. Operación: AH <- SF:ZF:X:AF:X:PF:X:CF

SAHF Almacena en los ocho bits menos significativos del registro de indicadores el valor del registro AH. Operación: SF:ZF:X:AF:X:PF:X:CF <- AH

PUSHF Almacena los flags en la pila. Operación: SP <- SP - 2, [SP+1:SP] <- Flags.

POPF Pone en los flags el valor que hay en la pila. Operación: Flags <- [SP+1:SP], SP <- SP + 2

INSTRUCCIONES ARITMETICAS (Afectan los flags AF, CF , OF, PF, SF, ZF) ADD dest,src

Operación: dest <- dest + src. ADC dest,src

Operación: dest <- dest + src + CF. SUB dest,src

Operación: dest <- dest - src. SBB dest,src

Operación: dest <- dest - src - CF. CMP dest,src

Operación: dest - src (sólo afecta flags). INC dest

Operación: dest <- dest + 1 (no afecta CF). DEC dest

Operación: dest <- dest - 1 (no afecta CF). NEG dest

Operación: dest <- - dest. donde dest = {reg|mem} y src = {reg|mem|inmed} no pudiendo ambos operandos estar en memoria.

DAA Corrige el resultado de una suma de dos valores BCD empaquetados en el registro AL (debe estar inmediatamente después de una instrucción ADD o ADC). OF es indefinido después de la operación.

DAS Igual que DAA pero para resta (debe estar inmediatamente después de una instrucción SUB o SBB).

AAA Lo mismo que DAA para números BCD desempaquetados.

AAS Lo mismo que DAS para números BCD desempaquetados.

AAD Convierte AH:AL en BCD desempaquetado a AL en binario. Operación: AL <- AH * 0Ah + AL, AH <- 0. Afecta PF, SF, ZF, mientras que AF, CF y OF quedan indefinidos.

AAM Convierte AL en binario a AH:AL en BCD desempaquetado. Operación: AH <- AL / 0Ah, AL <- AL mod 0Ah. Afecta PF, SF, ZF, mientras que AF, CF y OF quedan indefinidos.

MUL {reg8|mem8} Realiza una multiplicación con operandos no signados de 8 por 8 bits. Operación: AX <- AL * {reg8|mem8}. CF=OF=0 si AH = 0, CF=OF=1 en caso contrario. AF, PF, SF, ZF quedan indefinidos.

MUL {reg16|mem16} Realiza una multiplicación con operandos no signados de 16 por 16 bits. Operación: DX:AX <- AX * {reg16|mem16}. CF=OF=0 si DX = 0, CF=OF=1 en caso contrario. AF, PF, SF, ZF quedan indefinidos.

IMUL {reg8|mem8}

Page 11: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

Realiza una multiplicación con operandos con signo de 8 por 8 bits. Operación: AX <- AL * {reg8|mem8} realizando la multiplicación con signo. CF = OF = 0 si el resultado entra en un byte, en caso contrario valdrán 1. AF, PF, SF, ZF quedan indefinidos.

IMUL {reg16|mem16} Realiza una multiplicación con operandos con signo de 16 por 16 bits. Operación: DX:AX <- AX * {reg16|mem16} realizando la multiplicación con signo. CF = OF = 0 si el resultado entra en dos bytes, en caso contrario valdrán 1. AF, PF, SF, ZF quedan indefinidos.

CBW Extiende el signo de AL en AX. No se afectan los flags.

CWD Extiende el signo de AX en DX:AX. No se afectan flags.

INSTRUCCIONES LOGICAS (Afectan AF, CF, OF, PF, SF, ZF) AND dest,src

Operación: dest <- dest and src. TEST dest,src

Operación: dest and src. Sólo afecta flags. OR dest,src

Operación: dest <- dest or src. XOR dest,src

Operación: dest <- dest xor src. Las cuatro instrucciones anteriores ponen CF = OF = 0, AF queda indefinido y PF, SF y ZF dependen del resultado.

NOT dest Operación: dest <- Complemento a 1 de dest. No afecta los flags.

SHL/SAL dest,{1|CL} Realiza un desplazamiento lógico o aritmético a la izquierda.

SHR dest,{1|CL} Realiza un desplazamiento lógico a la derecha.

SAR dest,{1|CL} Realiza un desplazamiento aritmético a la derecha.

ROL dest,{1|CL} Realiza una rotación hacia la izquierda.

ROR dest,{1|CL} Realiza una rotación hacia la derecha.

RCL dest,{1|CL} Realiza una rotación hacia la izquierda usando el CF.

RCR dest,{1|CL} Realiza una rotación hacia la derecha usando el CF.

En las siete instrucciones anteriores la cantidad de veces que se rota o desplaza puede ser un bit o la cantidad de bits indicado en CL. INSTRUCCIONES DE TRANSFERENCIA DE CONTROL (No afect an los flags): JMP label

Saltar hacia la dirección label. CALL label

Ir al procedimiento cuyo inicio es label. Para llamadas dentro del mismo segmento equivale a PUSH IP: JMP label, mientras que para llamadas entre segmentos equivale a PUSH CS: PUSH IP: JMP label.

RET Retorno de procedimiento.

RET inmed Retorno de procedimiento y SP <- SP + inmed. Variaciones de la instrucción de retorno:

RETN [inmed] En el mismo segmento de código. Equivale a POP IP [:SP <- SP + inmed].

RETF [inmed]

Page 12: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

En otro segmento de código. Equivale a POP IP: POP CS [:SP <- SP + inmed] Saltos condicionales aritméticos (usar después de CMP): Aritmética signada (con números positivos, negativos y cero)

JL etiqueta/JNGE etiqueta Saltar a etiqueta si es menor.

JLE etiqueta/JNG etiqueta Saltar a etiqueta si es menor o igual.

JE etiqueta Saltar a etiqueta si es igual.

JNE etiqueta Saltar a etiqueta si es distinto.

JGE etiqueta/JNL etiqueta Saltar a etiqueta si es mayor o igual.

JG etiqueta/JNLE etiqueta Saltar a etiqueta si es mayor. Aritmética sin signo (con números positivos y cero)

JB etiqueta/JNAE etiqueta Saltar a etiqueta si es menor.

JBE etiqueta/JNA etiqueta Saltar a etiqueta si es menor o igual.

JE etiqueta Saltar a etiqueta si es igual.

JNE etiqueta Saltar a etiqueta si es distinto.

JAE etiqueta/JNB etiqueta Saltar a etiqueta si es mayor o igual.

JA etiqueta/JNBE etiqueta Saltar a etiqueta si es mayor. Saltos condicionales según el valor de los indicadores:

JC label Saltar si hubo arrastre/préstamo (CF = 1).

JNC label Saltar si no hubo arrastre/préstamo (CF = 0).

JZ label Saltar si el resultado es cero (ZF = 1).

JNZ label Saltar si el resultado no es cero (ZF = 0).

JS label Saltar si el signo es negativo (SF = 1).

JNS label Saltar si el signo es positivo (SF = 0).

JP/JPE label Saltar si la paridad es par (PF = 1).

JNP/JPO label Saltar si la paridad es impar (PF = 0). Saltos condicionales que usan el registro CX como contador:

LOOP label Operación: CX <- CX-1. Saltar a label si CX<>0.

LOOPZ/LOOPE label Operación: CX <- CX-1. Saltar a label si CX <> 0 y ZF = 1.

LOOPNZ/LOOPNE label Operación: CX <- CX-1. Saltar a label si CX <> 0 y ZF = 0.

JCXZ label Operación: Salta a label si CX = 0.

INSTRUCCIONES DE CONTROL DEL PROCESADOR CLC CF <- 0. STC

Page 13: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

CF <- 1. CMC CF <- 1 - CF. NOP

No hace nada. CLD DF <- 0 (Dirección ascendente). STD DF <- 1 (Dirección descendente). CLI IF <- 0 (Deshabilita interrupciones enmascarables). STI IF <- 1 (Habilita interrupciones enmascarables). HLT

Detiene la ejecución del procesador hasta que llegue una interrupción externa. WAIT

Detiene la ejecución del procesador hasta que se active el pin TEST del mismo. LOCK

Prefijo de instrucción que activa el pin LOCK del procesador

2.1.5 Selección y configuración de sistemas de cómp uto

2.1.5.1. Unidad central de procesamiento y periféri cos ¿Qué equipo comprar? Antes de comprar un equipo, tenemos que tener en cuenta ciertas premisas para evitar después desengaños o no saber rentabilizar el potencial total de nuestra máquina. Primero tendremos que valorar las siguientes cosas: 1.- Uso que le vamos a dar (Internet, juegos, profesional,....) 2.- Presupuesto 3.- Posibilidades de ampliación. 4.- Cuantos usuarios lo van a utilizar. Unidad Central de Procesamiento (CPU) Es el cerebro de la computadora. Su función es ejecutar programas almacenados en la memoria central tomando sus instrucciones, examinándolas y luego ejecutándolas una tras otra. La CPU se compone de varias partes. La unidad de control se encarga de traer las instrucciones a la memoria principal y de determinar su tipo. La unidad aritmética y lógica realiza operaciones para llevar a cabo las instrucciones. La CPU también contiene una

Unidad central de procesos (CPU)

Unidad de control

Unidad aritmética y

Registros Memoria principal

Disco

Impresora

Dispositivos de E / S

Organización de una computadora sencilla, con un CPU y dos dispositivos de E / S

Bus

Page 14: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

pequeña memoria de alta velocidad utilizada para almacenar resultados intermedios y cierta información de control. Esta memoria consta de varios registros, cada uno de los cuales tiene cierta función. El registro más importante es el Contador de Programas (CP), que indica la próxima instrucción que debe ejecutarse. También es importante el Registro de Instrucción, que contiene la instrucción que esta ejecutando. La mayoría de las computadoras tienen además otros registros. Periféricos Los dispositivos entrada o salida adicionales al computador en línea (que están bajo control directo del procesador) o fuera de línea (operado independientemente del computador) se denominan periféricos. Terminales: impresoras, monitores, teclados Las terminales de computadora consisten de tres elementos: un teclado, un monitor y algunos componentes electrónicos que controlan a los dos anteriores. Impresoras Se diseñaron para cubrir la necesidad de llevar un registro permanente en papel de los resultados. Impresoras de impacto. La más antigua clase de impresoras, trabaja como una maquina de escribir: una pieza de metal o plástico con letras en relieve golpea una cinta entintada contra una hoja de papel, dejando en este una imagen de una letra.

Impresoras de matriz. Una cabeza impresora que contiene entre 7 y 24 agujas activadas en forma electromagnética, se desplaza a lo largo de cada línea de impresión. Cuando se aplica corriente a un electroimán, se hace que el pin correspondiente se dirija al papel. Se monta la cabeza de impresión de modo que se desplace a través del papel. Se mueve este por la impresora en un rodillo de platina. La cabeza imprime una línea cruzando el papel mientras se ejerce un control estricto sobre los pines para crear la imagen deseada. El pin que debe formar un punto golpea el papel mediante una cinta entintada. Cuando se imprime un renglón, la platina lo lleva al siguiente y la impresión prosigue.

Impresora láser. El corazón de la impresora es un tambor rotativo de precisión. Al principio de cada ciclo de pagina se carga con alrededor de 1000 volts y se recubre de material fotosensitivo. La luz de un láser se desplaza a lo largo del tambor . El haz de luz se modula para producir un patrón de puntos claros y obscuros. Los puntos donde el haz toca, pierden su carga eléctrica. Después de pintar una línea, el tambor gira una fracción de grado para permitir que se pinte el siguiente. Al ir girando la primera línea llega donde se encuentra el tóner, que es un polvo negro electrosensitivo que se adhiere a aquellos puntos que aun conservan su carga, formando así una imagen visual de dicha línea. Mas adelante en la trayectoria, el tambor recubierto de tóner se presiona contra el papel transfiriendo a este e polvo negro. El papel pasa entonces a través de rodillos calientes para unir de manera permanente el tóner al papel y fijar la imagen. El tambor sigue rotando y se descarga y un raspador lo limpia de cualquier residuo de tóner, preparándose para una nueva carga recubrimiento, para la siguiente pagina.

Impresora de inyección de tinta. Desde el punto de vista mecánico funciona e forma semejante a las de matriz de puntos. El cartucho de impresión se desplaza por la pagina para imprimir un renglón, y unos rodillos mecánicos bajan la pagina para imprimir los renglones sucesivos. El cartucho contiene un deposito de tinta y un renglón de diminutas boquillas más pequeñas que el ancho de un cabello humano. Se produce un punto calentando la tinta que esta detrás de la boquilla. Cuando se hierve esparce una pequeña gota hacia el papel. Algunas impresoras usan un piezo-cristal vibratorio en vez del calor para producir las gotas de tinta. Impresoras de transferencia de cera térmica y se su blimación de tinta. Se utilizan para obtener imágenes cromáticas de alta calidad. El mecanismo de ambos es similar. Se introduce papel en la impresora y se sujeta a un tambor. Una cabeza de impresión ofrece un renglón de elementos térmicos del tamaño de un punto. Entre el papel y la cabeza de impresión la impresora introduce un rollo de película que se impregna con una cera o tinta de color. La

Page 15: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

película consta de secciones del tamaño de una pagina de magenta, azul verdusco y amarillo; algunas veces se incluye una sección de negro. Cada rotación del tambor expone el papel a un color distinto. El calor proveniente de la cabeza de impresión fusiona la cera o la tinta con el papel. LA cera térmica puede aplicarse al papel ordinario. El método de sublimación de tinta es un poco diferente, pues las tintas se esparcen en e papel, de modo que los puntos cromáticos se mezclen. Mas aun, es posible controlar la cantidad de tinta con solo ajustar la temperatura de los elementos de la cabeza de impresión. Monitor Es en esencia una caja consistente de un tubo de rayos catódicos y sus fuentes de poder. El tubo consiste en un cañón que puede disparar un haz de electrones contra la pantalla fosforescente ubicada cerca de la parte frontal de tubo. Teclados Los teclados se presentan en diversas variedades; en los más baratos, cada tecla es simplemente un interruptor que hace contacto cuando se presiona. Otros mas caros tienen un imán bajo cada tecla que pasa a través de una bobina cuando se presiona induciendo así una corriente eléctrica que puede detectarse. Se utilizan también algunos otros métodos tanto mecánicos como electromagnéticos en algunos teclados. Cuando se oprime una tecla, se envía al controlador una señal llamada código de exploración. S emite otro código cuando se libera la tecla. Eso sucede en todas las teclas. Por medio de dos códigos las teclas pueden emplearse en combinación, pues el controlador sabe si una tecla se tiene oprimida mientras se pulsa otra. También puede determinar cuando una tecla produce una acción repetida.

2.1.5.2. Discos y cintas magnéticos y ópticos Cinta magnética Fue el primer tipo de memoria secundaria. La cinta es una faja de plástico revestida con un medio de registro magnético. Los bits son registrados como puntos magnéticos en la cinta a lo largo de varias pistas. Usualmente 7 o 9 bits son registrados simultáneamente para formar un carácter junto con un bit de paridad. Las cabezas lectura / escritura se montan una en cada una de las pistas de tal manera que los datos puedan ser grabados y leídos como una secuencia de caracteres. Las cintas magnéticas son dispositivos de acceso secuencial. Si la cinta esta situada al principio, para leer el registro físico n primero es necesario leer los registros físicos 1 a n-1, de uno en uno. Discos magnéticos Consta de uno o más platos planos circulares hechos de vidrio, de metal o plástico y revestidos con una sustancia magnética semejante a la que se usa en la cinta o casete (Englander, 273). Su diámetro varía entre 5 y 10 pulgadas La información se graba en cierto numero de círculos concéntricos llamados pistas. El numero de pistas en un disco es de 40 a varios cientos en cada superficie. Para cada disco se tiene una cabeza que puede moverse acercándose o retirándose del centro del mismo. Esta cabeza es ancha como para leer o escribir información de exactamente una pista. Una unidad de disco a menudo tiene varios discos dispuestos verticalmente con una separación ente sí de aproximadamente una pulgada. Las pistas se dividen en sectores, normalmente entre 10 y 100 sectores por pista. Un sector consta de cierto numero de bytes, por lo general 512. Discos flexibles Fue adoptado muy rápido como un medio conveniente para la distribución del software. Es llamado disquete o disco flexible, porque los primeros discos eran físicamente flexibles. Los

Page 16: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

disquetes de 3.5 pulgadas vienen en un empaque rígido para su protección, por lo que no son físicamente flexibles. Discos ópticos Originalmente fuero desarrollados para grabar programas de televisión. Estos discos se denominan CD ROM (Memoria de Lectura Solamente en Disco Compacto). Estos discos se preparan usando un láser de alto poder para laserizar agujeros de una micra en un disco matriz; después se hace un molde para imprimir copias en discos plásticos. Luego se aplica en la superficie de una pequeña capa de aluminio, seguida de otra de plástico transparente para protección. Los discos CD ROM se leen por medio de un detector que mide la energía reflejada de la superficie al apuntar a esta un láser de bajo poder. Los agujeros, que se denominan huecos, y las áreas sin laserizar entre estos, la superficie plana, tienen diferente reflectividad, lo que hace posible distinguir entre ambos. La información en los CD ROM se graba en una sola espiral continua, a diferencia de los cilindros y pistas de los discos magnéticos.

2.1.6 Formas de procesamiento

2.1.6.1 Diferentes paradigmas de programación y su relación con las arquitectura

Paradigma imperativo: Son aquellos que facilitan los cálculos por medio de cambios de estado, entendiendo como estado la condición de una memoria de almacenamiento. Los lenguajes estructurados en bloques, se refieren a los ámbitos anidados, es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables. La RAM representa una pila con una referencia al bloque que está actualmente activo en la parte superior. Paradigma heurístico: Define un modelo de resolución de problemas en el que se incorpora algún componente heurístico, sobre la base de una representación más apropiada de la estructura del problema, para su resolución con técnicas heurísticas. Paradigma concurrente: La programación distribuida ha sido dividida en dos amplias categorías, sistemas acoplados en forma débil o fuerte. El término distribuido se refiere por lo general a lenguajes para sistemas acoplados débilmente que soportan un grupo de programadores trabajando en un programa particular de manera simultánea y comunicándose a través de paso de mensajes mediante un canal de comunicación. Un sistema acoplado fuertemente permite que más de un proceso en ejecución tenga acceso a la misma ubicación de memoria. Un lenguaje acoplado con el sistema debe sincronizar el uso compartido de la memoria, de modo que solo un proceso escriba una variable compartida a la vez, y de modo que un proceso pueda esperar hasta que ciertas condiciones se satisfagan por completo antes de continuar la ejecución. La memoria compartida tiene la ventaja de la velocidad, por que no se necesita pasar mensajes. Paradigma funcional: Como su nombre lo dice operan solamente a través de funciones. Cada función devuelve un solo valor, dada una lista de parámetros. No se permiten asignaciones globales, llamados efectos colaterales. La programación funcional proporciona la capacidad para que un programa se modifique así mismo, es decir que pueda aprender. Paradigma lógico: Esta programación se basada en un subconjunto del cálculo de predicados, incluyendo instrucciones escritas en formas conocidas como cláusulas de Horn. Este paradigma puede deducir nuevos hechos a partir de otros hechos conocidos. Un sistema de cláusulas de Horn permite un método particularmente mecánico de demostración llamado resolución. Paradigma basado en objetos: Describen los lenguajes que soportan objetos en interacción. Un objeto es un grupo de procedimientos que comparten un estado. El término de orientado a objetos fue utilizado originalmente para distinguir aquellos lenguajes basados en objetos que soportaban clases de objetos y la herencia de atributos de un objeto padre por parte de sus hijos.

Page 17: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

Ya los clasificamos, que análisis tenemos o podemos hacer. Heurístico, es el arte de inventar o crear, acaso en cualquier lenguaje (híbrido o puro) no estamos creando (haciendo ingeniería en desarrollo de sistemas de información?). Por lo tanto diremos que la heurística es el arte del cual estamos dotados los programadores, analistas o ingenieros a partir de nuestros estudios y experiencias, no es verdad. Paradigma heurístico no, la heurística en cualquier paradigma sería mas acertado. Concurrente, me trae a la memoria un sistema que desarrollamos con un colega (Luis Medina), sobre Novell (Red Lan) en lenguaje Fox Pro xx, o cuando trabajábamos en Papel del Tucumán en un IBM S36 en RPG o Cobol, con Antonio Carro. Las arquitecturas permitían la concurrencia y los lenguajes imperativos nos entregaban herramientas para compartir recursos o ejecutar procesos en simultaneo. Yo definiría la concurrencia como una consecuencia de la heurística y elementos del lenguaje empleados para aprovechar los recursos de arquitectura de la que disponemos y me atrevería a decir que un programa puede ser concurrente sin importar el paradigma al que responde. En Fox Pro sobre UNIX nos ocurría lo mismo con otro colega Jorge Reñe y la verdad les digo estas herramientas que nos permiten aprovechar y provocar concurrencia son geniales, pero no un paradigma.

2.1.7 Modelo cliente-servidor

2.1.7.1 Servidores

Modelo Cliente/Servidor ● Un servidor es un proceso que ofrece un servicio (e.g., base de datos, www) ● Un cliente es un proceso que utiliza el servicio ofrecido por un servidor. ● Los clientes y servidores pueden estar esparcidos en computadoras diferentes. ● Los clientes siguen el modelo solicitud/respuesta al usar los servicios.

Modelo Cliente/Servidor

2.1.7.2 Caracterización por medio del software Componentes de Software: Se distinguen tres componentes básicos de software:

� Presentación.- Tiene que ver con la presentación al usuario de un conjunto de objetos visuales y llevar a cabo el procesamiento de los datos producidos por el mismo y los devueltos por el servidor.

Page 18: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

� Lógica de aplicación.- Esta capa es la responsable del procesamiento de la información que tiene lugar en la aplicación.

� Base de datos.- Esta compuesta de los archivos que contienen los datos de la

aplicación.

2.2 Sistemas de propósito especial

2.2.1 Configuraciones especializadas

2.2.1.1 Diseño según un propósito determinado Están diseñados para aplicaciones y/o arquitecturas especiales. Se clasifican en: Tiempo real, Fault Tolerance (Tolerancia de Fallas) y Virtuales. Características de los S.O. de tiempo real:

Usados como dispositivos de control de aplicaciones que deben realizarse en un tiempo determinado.

Realiza la respuestas a eventos en tiempo preestablecidos.

Sus parámetros más importantes son los tiempos de espera, procesamiento y

almacenamiento.

Pueden tener un tiempo de respuesta crítico (Ej: control de procesos industriales) o no crítico (Ej: reserva de pasajes).

Características de los S.O. con tolerancia de falla s:

Usado en aplicaciones donde se debe proveer un servicio continuo o cuyo mantenimiento es dificultoso o muy costoso.

Detecta y corrige errores, y recupera el sistema habilitando reemplazos de los

componentes en mal funcionamiento o vuelve atrás operaciones que motivaron pérdidas de datos.

Características de los S.O. virtuales:

Especialmente diseñados para ejecutar varios S.O. (o distintas versiones de uno mismo) concurrentemente en una máquina creando la ilusión de varias máquinas virtuales idénticas.

Todos los S.O. trabajan en modo usuario respecto S.O. virtual, pero están en modo

privilegiado con respecto a los programas que corren bajos ese S.O.

2.2.1.2 Implantación en circuitos integrados de gra n escala (VLSI)

Page 19: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

2.3 Instalaciones y equipos

2.3.5 Medidas preventivas de seguridad

2.3.5.1. Respaldos externos de información

Se entiende por Almacenamiento externo cualquier mecanismo que no se encuentre dentro de tu PC.

Medio Descripción Ventajas Desventajas

Unidades externas.

Como la unidad Zip fabricada por Iomega

para usuarios casuales, o Discos duros externos de

gran capacidad, para usuarios mas demandantes.

Amplio rango de capacidad, incluyen el

software para hacer los respaldos

Tienes que invertir en la unidad y en los cartuchos (en caso de las unidades

Zip)

CD-RW Es un disco compacto en el que puedes guardar

(quemar) tu información.

La mayoría de las computadoras actuales

incluyen una unidad para grabar en CD-RW, tienen suficiente capacidad para

el usuario casual.

Los discos compactos son algo delicados, por ej: se dañan muy fácilmente al

exponerse al sol, su capacidad promedio de 700Mb puede ser poca para muchos usuarios.

DVD-RW Es un disco compacto pero en formato DVD

La capacidad de almacenamiento es mucho mayor, usualmente entre 4

y 5 gigabytes.

Tendrías que comprar la unidad para grabar DVD, y en muchas ocasiones no

incluye software para hacer respaldos, la debes operar

manualmente.

Flash USB

Son dispositivos bastante pequeños que se

conectan a un puerto

Son muy portátiles, frecuentemente en tipo 'llavero', ideales para

No tienen mucha capacidad, hay que elegir

un modelo que no sea

Page 20: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

USB de tu equipo respaldos rápidos, y para mover archivos entre

máquinas

frágil.

2.3.5.2. Equipos respaldos en espejo

Un almacén de tipo espejo + diferencial inversa es similar al almacén completo-incremental. La diferencia está en que en vez de hacer una copia completa seguida de series incrementales, este modelo ofrece un espejo que refleja el estado del sistema a partir de la última copia y un historial de copias diferenciales. Una ventaja de este modelo es que solo requiere una copia de seguridad completa inicial. Cada copia diferencial es inmediatamente añadida al espejo y los ficheros que son remplazados son movidos a una copia incremental inversa. Una copia diferencial puede sustituir a otra copia diferencial más antigua sobre la misma copia total.

2.3.6 Siniestros A. 2.3.6.1 Acceso: normas de acceso a las salas con equipo;

formas y medios para control del acceso Control de acceso restringido a las instalaciones: Se deberá instalar un sistema de control de acceso de forma que sólo se permita el acceso a las instalaciones a ciertas personas. Cámaras de vigilancia y monitorización: Sería conveniente la instalación de cámaras de vigilancia en la sala en la que irán ubicadas las máquinas de computación. CONTROLES DE ACCESO FÍSICO Estructura y disposición del área de recepción En las áreas de alta seguridad donde se necesita considerar también la posibilidad de ataque físico se debe identificar y admitir tanto a los empleados como a los visitantes de uno en uno. También se pueden utilizar dispositivos magnéticos automáticos y otros recursos en el área de recepción. Acceso de terceras personas Dentro de las terceras personas se incluye a los de mantenimiento del aire acondicionado y de computación, los visitantes y el personal de limpieza. Éstos y cualquier otro personal ajeno a la instalación deben ser:

Identificados plenamente. Controlados y vigilados en sus actividades durante el acceso. El personal de mantenimiento y cualquier otra persona ajena a la instalación se debe

identificar antes de entrar a ésta. El riesgo que proviene de este personal es tan grande como de cualquier otro visitante.

Identificación del personal Algunos parámetros asociados típicamente a la identificación del personal son: Algo que se porta: Consiste en la identificación mediante algún objeto que porta tal como, tarjetas magnéticas, llaves o bolsas. Un problema con esta técnica, sin embargo, es la posibilidad de que el objeto que se porta sea reproducido por individuos no autorizados.La organización debe proporcionar a todo el personal una credencial con fotografía en la que se debe especificar el nombre del empleado, departamento, área y horario de trabajo. Existen distintas técnicas biométricas, tales como:

Reconocimiento de huella digital (Finger Prints). Geometría de la mano (Hand Geometry). Reconocimiento de la Voz (Voice Recognition). Dinámica de tecleo.

Page 21: 5. Arquitectura de Computadoras

ISC. Javier Méndez Morales

Generación: 2004-2008 Tuxtla Gutiérrez, Chiapas, México Cel.: 961 142 75 88

Reconocimiento de cara. Impresión labial. Patrones de ondas cerebrales. Emisión de calor. Dinámica de la firma (Signature Dynamics).

Guardias y escoltas especiales Éstos pueden estar ubicados en lugares estratégicos donde exista más vulnerabilidad. Es recomendable que todos los visitantes que tengan permisos para recorrer las instalaciones en accesos restringidos sean acompañados por una persona designada como escolta. Registro de firma de entrada y salida Consiste en que todas las personas que entren a las instalaciones firmen un registro que indique la hora de entrada, el motivo por el que entran, la persona a la que visitan y la hora de salida. Puertas con chapas de control electrónico Estos dispositivos pueden funcionar al teclearse un código para abrirla, disponer de una tarjeta con código magnético, o tener implementado algún dispositivo para el reconocimiento de alguna característica física como las que ya mencionamos. Entradas de dobles puertas De esta forma, la entrada a través de la primera puerta deja un área donde la persona queda atrapada y queda completamente expuesta para ser captada por el sistema de circuito cerrado y fuera del acceso a las instalaciones. Una segunda puerta debe ser abierta para entrar a las instalaciones. Equipos de monitoreo La utilización de dispositivos de circuito cerrado de televisión, tales como monitores, cámaras y sistemas de intercomunicación conectados a un panel de control manejado por guardias de seguridad. Estos dispositivos permiten controlar áreas grandes, concentrando la vigilancia en los puntos de entrada y salida principalmente. Alarmas contra robos Todas las áreas deben estar protegidas contra la introducción física. Las alarmas contra robos, las armaduras y el blindaje se deben usar hasta donde sea posible, en forma discreta, de manera que no se atraiga la atención sobre el hecho de que existe un dispositivo de alta seguridad. La construcción de puertas y ventanas deben recibir especial atención para garantizar su seguridad.