42
ARQUITECTURA DE COMPUTADORAS Profesor: Ing. Francisco Flores Luna [email protected] 1

Arquitectura de Las Computadoras Libro

Embed Size (px)

DESCRIPTION

HACER TAREA

Citation preview

Page 1: Arquitectura de Las Computadoras Libro

ARQUITECTURA DE

COMPUTADORAS

Profesor: Ing. Francisco Flores [email protected]

1

Page 2: Arquitectura de Las Computadoras Libro

MODULO I

1.1  Organización y arquitectura

1.2 Jeraquía de niveles de una Computadora

1.3 Evolución de las computadoras a través de la historia

1.4  Puntos de vista para el diseño de una arquitectura de computadora1.5  Clasificación de las computadoras y sus instrucciones

1.6  Componentes principales de una computadora

1.7  Funciones de la computadora

1.8  Estructuras de interconexión

1.9 Funciones de entrada y salida

2

Page 3: Arquitectura de Las Computadoras Libro

ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORAS

1.1 ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORAS

Arquitectura de computadoras

Se refiere a los atributos de un sistema que son visibles para un programador, a aquellos atributos que tienen un impacto directo en la ejecución lógica de un programa. Algunos atributos físicos son: el set de instrucciones, número de bits para representación de datos, mecanismos de E/S y las técnicas para direccionamiento de memoria.

Organización de computadoras

Se refiere a las unidades funcionales y sus interconexiones, que dan lugar a especificaciones arquitectónicas. Algunos atributos de organización son: señales de control, interfaces entre el computador y los periféricos y la tecnología de memoria usada.

1.2 JERARQUÍA DE NIVELES DE UNA COMPUTADORA

La computadora es un sistema jerárquico y por lo tanto esta considerado como un conjunto de subsistemas interrelacionados, cada uno de los cuales, a su vez, se organiza en una estructura jerárquica, hasta que se alcanza el nivel más bajo del subsistema elemental.

La naturaleza jerárquica de este sistema complejo es esencial, tanto para su diseño, como para su descripción. Existen tres fases de estudio de un computadora que se conocen con los términos siguientes:

[SOFTWARE]

[FIRMWARE]

[HARDWARE]

Firmware

Los componentes físicos de un computador (procesador, memoria, controladores de entrada / salida, etc.) aceptan distintas configuraciones posibles. Una vez establecida una configuración del sistema, ésta no cambiará durante un cierto período de tiempo. El firmware ofrece la interfaz entre el software y la configuración hardware de un computador. Son un conjunto de rutinas almacenadas en memorias de sólo lectura

3

Page 4: Arquitectura de Las Computadoras Libro

cuyos servicios son realizar la interfaz con los periféricos, la interfaz entre el procesador y la memoria secundaria, etc.

Los niveles jerárquicos que describen un sistema de computo son los siguientes:

Flip-flops

Son circuitos capaces de tomar en su salida 2 verdades estables que dependerán de sus entradas y del estado de su salida en el instante anterior. Son muy utilizados para la realización de registros entre sus tipos el mas elemental es el biestable (RS).

Los circuitos combinacionales implementan los elementos fundamentales de una computadora digital pero no proveen memoria. Para esto último se usan los circuitos secuenciales los cuales dependen de la entrada actual y además de sus antecesoras.

El flip-flop es la forma mas simple de un circuito secuencial. Existen varios tipos. Todos ellos tienen dos estados en la ausencia de entrada, lo mantiene; funcionan como memoria para un bit; tienen dos salidas una complemento de la otra.

APLICACIONES EN LENGUAJES

DE MUY ALTO NIVEL

LENGUAJES DE ALTO NIVEL

LENGUAJE ENSAMBLADOR

SISTEMA OPERATIVO

LENGUAJE MAQUINA

LENGUAJE DE MICROCODIGO

HARDWARE

TRADUCCIÓN

INTERPRETACIÓN

ARQUITECTURA DE

COMPUTADORA

4

Page 5: Arquitectura de Las Computadoras Libro

El S-R latch implementado con compuertas NOR

Tabla de verdad S-RS R CLK Q Q0 0 x Q0  Q0  No camio

0 1  ↑ 0 0 Reset

1 0  ↑ 1 1 set

1 1  ↑  - -  No válido

1.3 EVOLUCION DE LAS COMPUTADORAS A TRAVEZ DE LA HISTORIA

Generaciones de computadoras

Generación cero(1642-1945).-Computadoras mecánicas

Precursores.

Leonardo da Vinci .- El trabajó en su desarrollo sobre el papel aunque nunca construyó un prototipo.

Blaise Pascal .- Diseñó y construyó una máquina sumadora accionada por engranajes a esta se le llamo pascalina.

Wilhelm Gottfried Leibniz .- Diseñó y con el tiempo mejoró su calculadora a la que llamó calculadora universal , era capaz de efectuar por medios mecánicos operaciones de multiplicación y división.

Joseph Marie Jacquard(1752-1834).- Su telar se cita tradicionalmente como el pionero de las máquinas programables; funcionaba con un rollo de papel perforado intercambiable que contenía codificadas las instrucciones.

5

Page 6: Arquitectura de Las Computadoras Libro

Charles Babbage(1791-1871).- Se considera como el padre de la computadora, su interés por las matemáticas lo llevó a diseñar su máquina de diferencias, lo que permitió corregir un gran numero de errores de las tablas de funciones de la época; él quiso ir mas allá diseñando una máquina analítica , que contenía en germen todas las partes de una computadora moderna; sus cálculos eran determinados por un sistema de programación análoga al de la máquina de Jacquard, contenía también una memoria capaz de almacenar hasta mil datos de cincuenta cifras, los resultados se imprimían sobre papel; esta máquina no llegó a ser construida no obstante realizó un gran número de programas.

Hermann Hollerith .- En la década de 1880 realizó la máquina tabuladora para la oficina del censo de su país, fue el primer intento coronado por el éxito de automatizar el tratamiento de un gran número de datos. De aquí que fundo una empresa para su comercialización que fue el núcleo de la futura IBM.

Primera generación(1945-1955).- Bulbos

Los creadores de la ENIAC, Eckert y Mauchly, después de construir diversas versiones del ENIAC modificadas según la idea de Von Neumann, diseñaron y construyeron la primera computadora en serie, el UNIVAC, en 1950 , con un tamaño diez veces menor y una velocidad cien veces mayor que la de su ancestro.

La característica principal consistía en el echo de que empleaba como componentes básicos los tubos de vacío, mientras que las memorias estaban formadas por pequeños anillos de metal ferromagnético insertados en las intersecciones de una red de hilos conductores.

La programación de estas máquinas se hizo , en un principio , directamente en código binario; pero no tardaron en aparecer los primeros programas ensambladores.

La aparición del primer lenguaje llamado de alto nivel, el FORTRAN, hacía más fácil la comprensión de los programas.

Segunda generación(1955-1965).- Transistores

La introducción de datos se hacia por tarjetas perforadas y se emplearon dispositivos de almacenamiento externo magnéticos, como cintas y discos.

Se desarrollaron algunos lenguajes de programación como:

6

Page 7: Arquitectura de Las Computadoras Libro

COBOL (1960) LISP (1959) BASIC (1964)

La máquina más extendida en esta época fue la 360 de IBM.

Otro avance fue el trabajo en tiempo compartido (time sharing). Con ello se aprovecharon los tiempos muertos, en que el procesador estaba esperando que los periféricos le trasmitieran datos, para ejecutar otros programas, de modo que en un momento dado se podían procesar distintos programas simultáneamente.

Tercera generación(1965-1980).- Circuitos integrados

Vino marcada por una disminución de tamaño medio de las computadoras. Se hizo rentable un nuevo tipo de computadora de dimensiones más reducidas, la microcomputadora .

Se generalizo el trabajo de tiempo compartido y el proceso en tiempo real mediante teleproceso, hasta estos momentos los usuarios trabajaban en batch; es decir, tenían que perforar sus trabajos en tarjetas y dejarlos en los centros de calculo, para que la computadora los procesara por turno y diera sus resultados minutos u horas mas tarde.

El tiempo compartido permitía trabajar con la computadora a través de teclados conectados directamente a la máquina y obtener, en tiempo real, los resultados en una impresora o en una terminal de vídeo.

Otra característica importante fue la utilización de redes de terminales periféricos conectados a la unidad central, lo que permitía utilizar la computadora desde lugares alejados.

La miniaturización de los circuitos continuaba de modo acelerado, hasta que, a mediados de los años 70, la empresa Intel consiguió integrar un procesador completo en un solo chip, llamado microprocesador, solo que este circuito tenia poca capacidad.

Cuarta generación(1980-1999).- PC`S, MC`S, y VLSI

Steve Jobs y A. Wozniak, con gran visión comercial, creaban la marca Apple y lanzaban al mercado la primera microcomputadora. Pronto surgieron programas y dispositivos periféricos que la hicieron capaz de realizar pequeñas tareas de calculo y gestión de datos.

7

Page 8: Arquitectura de Las Computadoras Libro

La evolución de las microcomputadoras las hizo pronto capaces de realizar las mismas tareas que sus hermanas las minicomputadoras, por un coste varias veces menor.

Una técnica desarrollada para compensar la menor potencia de estas máquinas es la de red local que permite unir varias microcomputadoras para intercambiar información.

Quinta generación(2000-20??).- RISC

Las grandes computadoras han ido mejorando en capacidad y velocidad mediante una miniaturización de sus circuitos; es tal la miniaturización que para evacuar el calor desprendido no basta una simple ventilación, si no que los circuitos principales están sumergidos en nitrógeno liquido(100 grados bajo cero).

Esta generación no se distingue por el hardware, si no que se caracteriza por el empleo de programas inteligentes a los que no es necesario decirles como realizar una tarea, pues basta con darles la orden y ellos encuentran el modo de ejecutarla. También por la capacidad y la disminución de costos.

Se emplean chips de muy alta escala (VLSI Very-Large-Scale-Integrated) junto a diseños modulares de alta densidad.

INTEL 8086

16 bits 89 instrucciones sin coprocesador Datos ASCII, BCD, entero, cadenas.

Registros

4 generales AX, BX, CX, DX. 2 indices: Si, Pi 2 punteros: SP, BP. 4 Segmentos: DS, CS, ES, SS. 1 estado: Flay 1 contador de programa: IP.

Direccionamiento: Modos, registros, inmediato, directo, indirecto, relatico a base, indexado directo, indexado a base.

1.4 PUNTOS DE VISTA PARA EL DISEÑO DE UNA ARQUITECTURA DE COMPUTADORA

8

Page 9: Arquitectura de Las Computadoras Libro

Se deben considerar los siguientes puntos:

1) Analizar las aplicaciones para encontrar las operaciones clave: el diseñador deberá encontrar qué es lo que hacen en realidad los programas que se pretenden correr.

2) Diseñar una trayectoria de datos que sea óptima para las operaciones clave : la trayectoria de datos contiene los registros, la ALU y los buses que los conectan. El tiempo requerido (Tiempo del ciclo de la trayectoria de datos) para extraer los operandos de sus registros, moverlos a través de la ALU y almacenar el resultado de nuevo en un registro, debe hacerse en el tiempo más corto posible.

3) Diseñar instrucciones que realicen las operaciones clave utilizando la trayectoria de datos

4) Agregar nuevas instrucciones Deberán agregarse instrucciones de máquina y modos de direccionamiento si serán usadas con frecuencia y no reducen el desempeño de las más importantes.

Nota: Siempre que aparezca una nueva y atractiva característica, deberá evitarse que se afecte al tiempo del ciclo de la trayectoria de datos.

5) Repetir este proceso para otros recursos El mismo proceso debe repetirse para otros recursos dentro de la CPU, tales como:

Memoria CacheAdministración de memoriaCoprocesadores de punto flotanteEtc.

1.5 CLASIFICACION DE LAS COMPUTADORAS Y SUS INSTRUCCIONES

En la actualidad, las computadoras se pueden dividir en cinco categorías, basándose en el tamaño físico, el desempeño y en las áreas de aplicación de la siguiente manera:

Computadora personal (IBM PS/2)

9

Page 10: Arquitectura de Las Computadoras Libro

Maquinas de escritorio con procesador de una sola pastilla y dedicadas por lo general a una sola persona. Se usan principalmente en oficinas, en educación y en aplicaciones domésticas.

Minicomputadoras (PDP-11)

Se utilizan en las aplicaciones de control en tiempo real o en la automatización de fabricas. Cuentan con un microprocesador de 32 ó 64 bits, memoria y algunos módulos de entrada y salida, todo ello en una sola tarjeta de circuitos.

Supermini (SUN-4)

Es una minicomputadora grande, basada en procesadores de 64 bits y equipada con centenas de Megabytes de memoria. Utilizadas en los sistemas departamentales de tiempo compartido, los servidores de red de archivos y muchas otras aplicaciones.

Macrocomputadoras (IBM 3090/300) Cuenta con una gran capacidad de E/S y es puede atender múltiples tareas. Puede contar con múltiples discos de gran capacidad. Son muy utilizadas en aplicaciones interactivas, procesos en lote o transacciones tales como las bancarias donde se requiere de grandes bases de datos.

Supercomputadoras (CRAY-1, CRAY-2, … ,CRAY-N)

Diseñadas para maximizar el número de operaciones de punto flotante por segundo. Cuenta arquitecturas en paralelo y son eficientes tan sólo para un rango reducido de problemas.

1.6 COMPONENTES PRINCIPALES DE UNA COMPUTADORA

Modelo de Von Newman y Harvard

La Mayoría de la computadoras con las que somos familiares son Maquinas de Von Neumann, estas consisten en 3 componentes básicos de hardware :

Un Dispositivo de Entrada y Salida ( I / O System).-Que se ocupa de recoger los datos de entrada y mostrar la salida. Está formado por todos los dispositivos tanto de entrada como de salida que un sistema computador puede tener, así como de los métodos que existen para interactuar con ellos.

10

Page 11: Arquitectura de Las Computadoras Libro

Una Unidad Central de Procesamiento (CPU).- que hoy en día integra tanto la unidad que realiza el procesamiento de los datos (ALU o Unidad Aritmético-Lógica) como la unidad que ejerce el control sobre dicho procesamiento (Unidad de Control). La ALU realiza las operaciones sobre los datos. Estos datos provienen de la memoria y pueden estar almacenados de forma temporal en los registros de la propia unidad. La Unidad de Control es la encargada de leer las instrucciones almacenadas en la memoria principal, interpretarlas y coordinar el funcionamiento del resto de las unidades del sistema computador para que estas instrucciones se ejecuten. El estudio de la unidad de procesamiento implica el análisis de los diferentes modelos de ejecución que existen (monociclo, multiciclos, segmentado, superescalar, vectorial, supersegmentado...).

Una Memoria.- que almacena tanto instrucciones como datos de los programas

Así como otras características:

Son Computadoras de Programa Almacenado. La memoria Principal guarda el programa que controla las operaciones de la computadora, la computadora puede manipular su propio programa mas o menos como lo puede hacer cualquier otra memoria de datos.

Realiza las instrucciones secuencialmente, el CPU ejecuta o parece ejecutar una operación a la vez.

Tiene o parece tener un solo sendero(bus) entre la memoria principal del sistema y el control de la unidad del CPU.

Convencionalmente las maquinas de Von Neumann proveen un bus para las direcciones y otro para los datos e instrucciones.

11

Page 12: Arquitectura de Las Computadoras Libro

La Arquitectura de Harvard es una clase de arquitectura de Von Neumann , similares a la computadoras convencionales excepto que esta provee de un Bus independiente para los direcciones de datos, datos, instrucciones, y direcciones de instrucciones. La arquitectura de Harvard permite al CPU acceder a las instrucciones datos simultáneamente.

Las Partes principales del CPU son:

Unidad de control (CU): que controla las operaciones de la computadora

Unidad Aritmético y logica (ALU): que realiza operaciones logicas y aritméticas.

Grupo de registro: que guarda varios valores durante las operaciones de la computadora.

Un Programa Contador (PC): Almacena la dirección de una instrucción de la memoria principal. El programa contador es parte del grupo de registro.

Arquitectura del procesamiento

1. Recupera la instrucción desde la memoria2. Decodifica la instrucción (convierte señales electrónicas)3. Recupera los datos necesarios4. La ALU ejecuta la operación5. La unidad de control almacena el resultado

12

Page 13: Arquitectura de Las Computadoras Libro

Las arquitecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arquitectura basadas en registros.

La meta principal es incrementar el rendimiento del procesador, ya sea optimizando alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres áreas principales a cubrir en el diseño del procesador y estas son:

La arquitectura. La tecnología de proceso. El encapsulado.

Microprocesadores CISC (complex instruction set computer)

Computadoras con un conjunto de instrucciones complejo. Interpretan y ejecutan un gran número de instrucciones. Son más

lentos que los microprocesadores RISC. Todos los microprocesadores utilizados en la fabricación de

ordenadores personales, son de tecnología CISC. Los ordenadores que combinan varias operaciones en una sola

instrucción se les denominan ordenadores CISC Tienen más de 150 instrucciones.

Arquitecturas CISC

La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC.

Como por ejemplo:

Intel 8086, 8088, 80286, 80386, 80486.Motorola 68000, 68010, 68020, 68030, 6840.

La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. Permitía desarrollar también procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones.

Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstrucción).

13

Page 14: Arquitectura de Las Computadoras Libro

Microprocesadores RISC (reduced instruction set computer)

Computadoras con un conjunto de instrucciones reducido. Interpretan y ejecutan sólo unas pocas instrucciones. Son mucho

más rápidos que los microprocesadores CISC. Con tecnologías de semiconductores comparables e igual

frecuencia de reloj, un procesador RISC típico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fracción de la superficie ocupada por el circuito integrado de un procesador CISC.

Se utilizaron en el modelo de Harvard.

Arquitecturas RISC

Buscando aumentar la velocidad del procesamiento se descubrió en base a experimentos que, con una determinada arquitectura de base, la ejecución de programas compilados directamente con microinstrucciones y residentes en memoria externa al circuito integrado resultaban ser mas eficientes, gracias a que el tiempo de acceso de las memorias se fue decrementando conforme se mejoraba su tecnología de encapsulado.

Debido a que se tiene un conjunto de instrucciones simplificado, éstas se pueden implantar por hardware directamente en la CPU, lo cual elimina el microcódigo y la necesidad de decodificar instrucciones complejas. Las características esenciales de una arquitectura RISC pueden resumirse como sigue:

Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann.

Las instrucciones, aunque con otras características, siguen divididas en tres grupos:

Transferencia. Operaciones. Control de flujo. Reducción del conjunto de instrucciones a instrucciones básicas

simples, con la que pueden implantarse todas las operaciones complejas.

Arquitectura del tipo load-store (carga y almacena). Las únicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registro a registro, con un menor número de acceso a memoria.

14

Page 15: Arquitectura de Las Computadoras Libro

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), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganización de la ejecución de instrucciones por medio de un compilador.

Pipeline (ejecución simultánea de varias instrucciones). Posibilidad de reducir el número de ciclos de máquina necesarios para la ejecución de la instrucción, ya que esta técnica permite que una instrucción pueda empezar a ejecutarse antes de que haya terminado la anterior.

El hecho de que la estructura simple de un procesador RISC conduzca a una notable reducción de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales: Unidad para el procesamiento aritmético de punto flotante. Unidad de administración de memoria. Funciones de control de memoria cache. Implantación de un conjunto de registros múltiples.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicación de las más recientes tecnologías de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generación en generación son mucho mayores que en los CISC.

Por otra parte, es necesario considerar también que: La disponibilidad de memorias grandes, baratas y con tiempos de

acceso menores de 60 ns en tecnologías CMOS. Módulos SRAM (Memoria de acceso aleatorio estática) para

memorias cache con tiempos de acceso menores a los 15 ns. Tecnologías de encapsulado que permiten realizar más de 120

terminales.

Los ordenadores etiquetados como CISC gozan de los privilegios y defectos del microcodigo. La CPU es considerablemente más rápida que la memoria principal. Esto significa que conviene manejar un amplio abanico de instrucciones complejas cuyo significado equivalga al de varias instrucciones simples, disminuyendo así los accesos a memoria. A esto se le añade la tendencia de aumentar el grado de complejidad de las instrucciones para acercarlas a los lenguajes de alto nivel.

Sin embargo, como resultado de ciertos estudios en los que se examino la frecuencia de utilización de las diferentes instrucciones, se observo que el 80 % del tiempo era consumido por solo el 20 % de las

15

Page 16: Arquitectura de Las Computadoras Libro

instrucciones, con prioridad de los almacenamientos (STORE), cargas (LOAD) y bifurcaciones (BRANCH).

La alternativa RISC se basa en esto y propone procesadores cableados con un repertorio simple de instrucciones sencillas y frecuentes; todo código complejo puede descomponerse en varios congeneres más elementales en los que, para evitar los terribles efectos sobre los retardos de la memoria principal (MP), se recurre a numerosos registros y a memorias cache. Un registro es una unidad de almacenamiento enclavada en la CPU y, por tanto, tan rápida como esta. Las memorias cache son pequeñas memorias de alta velocidad, se alimentan de la MP, de la que toman la información que esta siendo mas frecuentemente utilizada. Otro de los objetivos del RISC fue lograr que a cada instrucción correspondiera un solo ciclo de reloj, a excepción, de aquellos casos que hay que mover datos.

Disminuye la probabilidad de fallo. Reduce el tamaño de la CPU, que puede entonces albergar más

recursos (registros). Facilita el diseño. Permite maquinas mas compactas y con menor consumo. A menor complejidad... menor coste.

1.6 COMPONENTES BÁSICOS DE UNA COMPUTADORA

Unidad Central del Proceso(CPU ó UCP)

Está formada por dos unidades principales:

Unidad de Control:

Representa el corazón de un computador Se encarga de controlar y coordinar toda la actividad del

procesamiento de datos, incluyendo el control de los dispositivos de E/S.

Coordinar entrada y salida de datos e información en las diferentes memorias.

Determina los direcciones delas operaciones aritméticas y lógicas. Seleccionar, interpretar y enviar a ejecutar las instrucciones de los

programas.

Unidad Aritmético lógica

Es la encargada de ejecutar todos los cálculos matemáticos y las comparaciones lógicas.

16

Page 17: Arquitectura de Las Computadoras Libro

Unidades de Memoria

Un computador posee básicamente dos tipos de memoria:

Memoria principal

ROM (Read Only Memory) Memoria sólo de lectura. Es el área de la memoria donde el fabricante de la computadora graba todos los datos e instrucciones necesarias para el funcionamiento del computador. El contenido de esta memoria no desaparece ni con ausencia del flujo electrónico.

RAM (Random Acces Memory) Es el área de la memoria principal disponible parasatisfacer las necesidades de programación del usuario, es allí donde se guardan los datos y los programas a ejecutarse en un momento determinado. Ésta memoria es volátil, significa que su contenido se pierde al apagarse el computador. Generalmente el tamaño de memoria de los computadores está determinado por la cantidad de memoria RAM que posea.

Memoria auxiliar

Cintas Diskettes Zip Disco CD Etc...

Dispositivos de E/S: Máquinas electromecánicas que manipulan los medios magnéticos.

Buses: Camino de datos que interconectan dispositivos.Microcontrolador

Es un sistema cerrado. Todas las partes del procesador están contenidas en su interior y sólo salen al exterior las líneas que gobiernan los periféricos.

Contiene los elementos electrónicos que se utilizan para hacer funcionar un sistema basado en un microprocesador, CPU, RAM, ROM, periféricos, etc.

Le da prioridad a cada proceso

Tiene un microprocesador dentro, así como memoria, buses, reloj, periféricos.

17

Page 18: Arquitectura de Las Computadoras Libro

Periféricos

Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el exterior permite que se configure a la medida de la aplicación

Microprocesador

Funciones:

1) Ofrecer señales de distribución y control para todos los elementos de la computadora.

2) Buscar y trae instrucciones y datos de la memoria.3) Transferencia de datos hacia y desde dispositivos de Entrada y

Salida.4) Decodificación de instrucciones.5) Realización de operaciones aritméticas y lógicas solicitadas por las

instrucciones.6) Respuesta a señales de control generadas en Entradas y Salidas

como RESET e INTERRUPT.

En resumen: es el encargado de la ejecución, generación e interpretación de órdenes.

18

Page 19: Arquitectura de Las Computadoras Libro

ALU: Realiza todas las operaciones aritméticas y también realiza operaciones lógicas

Registro de control: Sincronizado con una señal de reloj controla la operación de las demás partes del microprecesador, indicando en que momento debe activarse y desactivarse un registro.

Decodificador de instrucciones: Determina la operación que debe realizar el microprecesador por medio del código máquina y se le indica al registro de control.

Registro de datos: Es un registro de buffera través del cual llega el dato de la memoria extrena y también envía información a los dispositivos externos.

Registro contador del programa: Es un contador que se incrementa inmediatamente después de escribir en el registro de dirección, la localidad que debe ser leída y corresponde con la instrucción, se dice que apunta a la siguiente instrucción.

19

Page 20: Arquitectura de Las Computadoras Libro

Registro de direcciones: Contiene el número de localidad de memoria que debe ser leída o escrita por el microprocesador. Está conectado al bus de direcciones externo.

Registro acumulador: El resultado de casi todas las operaciones de la ALU se depositan en este registro

Registro de Banderas: Es un registro de estados en donde cada bit indica un resultado de la operación realizada en la ALU

Módulo de E/S

Es el elemento de la computadora responsable del control de uno o mas dispositivos externos, y del intercambio de datos entre los dispositivos y la memoria principal. Sus funciones son:

Control y temporización Comunicación con la CPU

Decodificación de órdenes Datos Reconocimiento de dirección

Comunicación con los dispositivos Almacenamiento temporal de datos Detección de errores

Las computadoras ejecutan en el hardware algunas operaciones que incluyen:

1. Instrucciones para multiplicación y división de enteros 2. Instrucciones aritméticas en punto flotante 3. Instrucciones aritméticas de doble precisión(con números que

tienen el doble de cifras significativas de lo normal) 4. Instrucciones de llamada y retorno de procedimientos 5. Instrucciones para acelerar las iteraciones(bucles) 6. Instrucciones para contar 7. Instrucciones para manejar cadenas de caracteres 8. Mecanismos para acelerar los cálculos con vectores(indexación y

direccionamiento indirecto) 9. mecanismos para mover programas en la memoria después de

que ha empezado su ejecución 10. Reloj para sincronización de programas 11. Sistema de interrupciones para el control de las operaciones

de entrada y salida 12. La posibilidad de interrumpir un programa y comenzar otro

con un pequeño número de instrucciones(conmutación de procesos)

20

Page 21: Arquitectura de Las Computadoras Libro

1.7 FUNCIONES DE LA COMPUTADORA

La función básica que realiza un computador es la ejecución de un programa. El procesador es el que se encarga de ejecutar la instrucciones especificadas en el programa. El procesador lee (capta) la instrucción de memoria, y la ejecuta.

El procesamiento que requiere una instrucción se denomina “ciclo de instrucción”.

Ciclos de captación y ejecución

La instrucción captada se almacena en un registro de la CPU conocido como “registro de instrucción”.(IR Instrucción Register). La instrucción se escribe utilizando un código binario. La CPU interpreta la instrucción y lleva a cabo la acción requerida.

Procesador-Memoria: Desde la CPU a la memoria o desde la memoria a la CPU.

Procesador-E/S: Deben transferirse datos a o desde el exterior mediante transferencias entre la CPU y un módulo de E/S.

Procesamiento de datos: La CPU ha de realizar alguna operación aritmética o lógica con los datos.

Control: Una instrucción puede especificar que la secuencia de ejecución se altere.

Ciclo de captación Ciclo de ejecución

La ejecución de una instrucción puede implicar una combinación de las siguientes instrucciones:

El PC contiene un único registro llamado contador (AC).

Se requieren 3 instrucciones, que consumen 3 ciclos de captación y 3 de ejecución:

1) EL contador del programa (PC) contiene la dirección de la instrucción.

2) Primeros 4 bits de IR (Registro de instrucción) Indican que el acumulador se va a cargar y los otros 12 bits indican la dirección.

3) Registro PC se incremente y capta la siguiente instrucción.

1.8 ESTRUCTURAS DE INTERCONEXION

21

InicioCaptar la siguiente

instrucción

Ejecutar la instrucción Parada

Page 22: Arquitectura de Las Computadoras Libro

Una computadora esta constituida por el CPU, MEMORIA y E/S, los cuales se comunican entre sí por un conjunto de líneas denominado “Estructuras de interconexión” ó Sistema de Buses.

Memoria

Un módulo de memoria está constituido por N palabras de la misma longitud. A cada palabra se le asigna una única dirección numérica (0,1,…,N-1). Una palabra de datos puede leerse o escribirse de la memoria.

El tipo de operación se indica mediante las señales de control READ (Leer) y WRITE (Escribir). La posición de memoria para la operación se específica mediante una dirección.

Módulo de E/S

Desde un punto de vista interno la E/S es funcionalmente similar a la memoria. Hay dos tipos de operaciones, leer y escribir. Además, un módulo de E/S puede controlar más de un dispositivo externo. Nos referiremos a cada una de estas interfases como un dispositivo externo con el nombre de puerto (PORT) y se le asignará una dirección a cada uno. Por otra parte, existen líneas externas de datos para la entrada y salida de datos por un dispositivo externo. Por último, un módulo de E/S puede enviar señales de interrupción a la CPU.

CPU

La CPU lee interrupciones y datos, escribe datos una vez que los ha procesado, y utiliza ciertas señales para controlar el funcionamiento del sistema. También puede escribir señales de interrupción.

Tipos de transferencia en el sistema de buses

Memoria a CPU : La CPU lee una instrucción o dato desde la memoria.

CPU a Memoria : La CPU escribe un dato en la memoria.

E/S a CPU : La CPU lee datos de un dispositivo de E/S a través de un módulo E/S.

CPU a E/S : La CPU envía datos al dispositivo de E/S.

22

Page 23: Arquitectura de Las Computadoras Libro

Memoria a E/S y viceversa: En estos dos casos, un módulo de E/S puede intercambiar datos directamente con la memoria, sin que tenga que pasar a través de la CPU, utilizando el acceso directo a memoria (DMA).

Interconexión con buses.

Un bus es un camino de comunicación entre dos o más dispositivos. Una característica clave de un bus es que se trate de un medio de transmisión compartido. Al bus se conectan varios dispositivos, y cualquier señal transmitida por uno de estos dispositivos esta disponible para que los otros dispositivos conectados al bus puedan acceder a ella. Si dos dispositivos transmiten durante el mismo periodo de tiempo, su señales pueden solaparse y distorsionarse.Consiguientemente, solo un dispositivo puede transmitir con éxito en un momento dado.

Las computadoras poseen distintos tipos de buses, que proporcionan comunicación entre sus componentes a distintos niveles dentro de la jerarquía del sistema. El bus que conecta a los componentes de la computadora se llama “BUS DEL SISTEMA” (SYSTEM BUS) y se forma de los siguientes conjuntos de líneas:

a) LINEAS DE DATOSb) LINEAS DE DIRECCIONc) LINEAS DE CONTROL

EJEMPLOS DE SEÑALES DE CONTROL.

- Escritura en memoria- Lectura en memoria- Escritura de E/S- Lectura de E/S- Transferencia reconocida- Petición de bus - Cesión de bus- Petición de interrupción- Interrupción reconocida- Reloj- Reset

23

Page 24: Arquitectura de Las Computadoras Libro

1.9 FUNCIONES DE ENTRADAS Y SALIDAS.

Es el elemento de la computadora responsable del control de uno ó más dispositivos externos, y del Intercambio de datos entre esos dispositivos y la memoria principal y/o los registros de la CPU. Así, el módulo de E/S debe tener una interfaz interna a la tarjeta madre de la computadora (con el Procesador y la memoria principal) y una interfaz externa a la computadora (con el dispositivo externo).

Funciones de un módulo de E/S:

1.- Realizar la interfaz entre la CPU y la Memoria a través del bus del sistema2.- Realizar la interfaz entre uno o más dispositivos periféricos mediante enlaces de datos específicos.

Control y Temporización Comunicación con la CPU Comunicación con los dispositivos Almacenamiento temporal de datos Detección de errores

En cualquier momento la CPU puede comunicarse con uno ó más dispositivos externos en cualquier orden. Los recursos internos, tales como la memoria principal y el bus del sistema, deben compartirse entre distintas actividades incluyendo la E/S de datos.

ENTRADAS Y SALIDAS

DIRECCIONES

DATOS

CONTROL

X1 X2 X3 X4 PERIFERICOS

24

Page 25: Arquitectura de Las Computadoras Libro

El módulo de E/S debe tener la capacidad de entablar comunicación con la CPU y con el dispositivo externo:

1.- La comunicación con la CPU implica:a) Decodificación de Ordenes: El módulo acepta órdenes de la CPUb) Datos: La CPU y el módulo intercambian datos a través del bus

correspondientec) Reconocimiento de Dirección: Igual que cada palabra de memoria

tiene una dirección, cada dispositivo de E/S tiene otra.

2.- El módulo de E/S debe ser capaz de comunicarse con el dispositivo. Esta comunicación implica intercambiar órdenes, información del estado, y datos.

Diagrama a bloques de un Módulo de E/S.

REGISTRO DE DATOS

LOGICA

E/S

REGISTRO DE ESTADO/CONTROL

LOGICA DE INTERFAZ CON EL DISPOSITIVO

EXTERNO

LOGICA DE INTERFAZ CON EL DISPOSITIVO

EXTERNO

25

DATOS

ESTADO

ESTADO

DATOS

CONTROL

CONTROL

LINEASDE

DATOS

LINEASDE

DIRECCION

LINEASDE

CONTROL

Dispositivo externo

SISTEMA DE

BUSES

Page 26: Arquitectura de Las Computadoras Libro

MODULO IISISTEMA DE BUSES

2.1. Interrupciones

2.2 Estructura del BUS

2.3 Arquitecturas de Bus Múltiple

2.4 El bus PCI

2.5 El bus ISA/EISA

2.6 El bus serial universal (USB)

2.7 Transferencia de datos

2.8 Interfaces

26

Page 27: Arquitectura de Las Computadoras Libro

2.1 INTERRUPCIONES

Una interrupción es un evento que altera la secuencia en que el procesador ejecuta las instrucciones. La interrupción es generada por el hardware del sistema de cómputo.

Definición: suspensión de un proceso (ejecución de un programa), causada por un evento externo, y realizada de tal forma que el proceso se puede reanudar.

Las interrupciones se encuentran en Kernell que se encuentra en el S.O.Kernell da ordenesEl SO detecta las interrupciones.

Núcleo:

“Toma el control del procesador” y determina cuando y como lo va a repartir entre diversos usuarios.

Funciones:

Maneja las interrupciones del procesador central Creación y destrucción de procesos Cambio de estado de los procesos Despacho (El núcleo atiende llamadas) Suspensión y reanudación de procesos Sincronización de procesos Comunicación entre procesos Manipulación de los bloques de control de procesos Apoyo a las actividades de entrad y salida Apoyo para asignación y liberación de memoria Apoyo para el sistema de archivos Apoyo para mecanismo de llamada y retorno de un procedimiento

27

Page 28: Arquitectura de Las Computadoras Libro

Apoyo para ciertas funciones de contabilidad del sistema

Cuenta con 3 subsistemas:

Subsistema 1: Maneja interrupciones del procesador centralSubsistema 2: Escoge y activa un nuevo proceso para ser ejecutado y/o congela al que fue interrumpido.Subsistema 3: Coordina los diversos procesos del sistema y de los usuarios que interactuan con el SO.

Interrupciones del procesador

Cuando ocurre una interrupción el sistema operativo toma el control. El sistema operativo analiza la interrupción y transfiere el control a la rutina apropiada para atenderla

La rutina del manejador de interrupciones procesa la interrupción

Se restablece el estado del proceso interrumpido

Se ejecuta el proceso interrumpido

Una interrupción puede ser iniciada por un proceso en ejecución (en cuyo caso se suele denominar trampa, y se dice que esta sincronizada con la operación del proceso) ó puede ser causada por algún evento que puede estar relacionado o no con el proceso en ejecución (en cuyo caso se dice que es asíncrona con la operación del proceso).

Los sistemas orientado hacia las interrupciones pueden sobrecargarse. Si éstas llegan con mucha frecuencia, el sistema no será capaz de atenderlas.

Clases de interrupciones:

SVC: Petición generada por el usuario de un servicio en particular del sistema

E/S: Indican un cambio de estado de un canal o dispositivo. Se producen cuando finaliza una operación de E/S o cuando un dispositivo pasa al estado listo.

Externas: Es un factor externo al procesado (CTRL.+ALT+SUPR) Reinicio: Se produce cuando se presiona el botón de reinicio de la

PC o cuando llega de otro procesador una instrucción de reinicio en un sistema de multiprocesamiento.

28

Page 29: Arquitectura de Las Computadoras Libro

Verificación del programa: Operaciones ilógicas; son causadas por problemas que pueden ocurrir cuando se ejecutan las instrucciones en lenguaje máquina de un programa (división entre cero).

Verificación de la máquina (hardware): Son ocasionadas por el mal funcionamiento del hardware.

Interrupción deshabilitada: Condición durante la cual la CPU ignora las señales de petición de interrupcion de una clase determinada.

Interrupción habilitada: Condición mediante la cual la CPU responde a las señales de petición de interrupción de un clase determinada.

o Temporización: son generadas por un temporizador interno al procesador. Esto permite al sistema operativo realizar ciertas funciones de manera regular.

Transferencia de control vía interrupciones:

Programa de usuario Gestor de interrupciones

Interrupciones múltiples

Se pueden seguir dos alternativas para tratar las interrupciones múltiples:

Desactivar las interrupciones mientras se está procesando una interrupción. (interrupción deshabilitada). El inconveniente es que no tiene en cuente la prioridad relativa ni las solicitudes con un tiempo crítico.Una segunda alternativa consiste en definir prioridades para las interrupciones.

Procesamiento de una secuencia de interrupciones:

29

Aquí de produce la interrupción

Programa de usuario

Gestor de interrupción

X

Page 30: Arquitectura de Las Computadoras Libro

Transferencia de control con interrupciones múltiples:

2.2 ESTRUCTURA DEL BUS

Un bus es un camino de comunicación entre dos o más dispositivos. Se trata de un medio de transmisión compartido. Al bus se conectan varios dispositivos, y cualquier señal transmitida por uno de esos dispositivos está disponible para que los otros dispositivos conectados al bus puedan acceder a ella. Si dos dispositivos transmiten durante el mismo periodo de tiempo , sus señales pueden solaparse y distorsionarse.

En muchos casos, un bus está constituido por varios caminos de comunicación o líneas. Cada línea es capaz de transmitir señales binarias.Bus de sistema

Es el que conecta los principales componentes del computador. Está constituido usualmente por entre 50 y 100 líneas.

Las líneas se pueden clasificar en 3 grupos funcionales:

Líneas de datos: Proporcionan un camino para transmitir datos entre los módulos del sistema. El conjunto constituido por estas líneas se denomina bus de datos. Generalmente consta de 8, 16 o 32 líneas distintas cuyo número se conoce como anchura de bus.

30

Gestor de interrupción

Y

Programa de usuario

Gestor de interrupción X

Gestor de interrupción Y

Page 31: Arquitectura de Las Computadoras Libro

Líneas de dirección: Se utilizan para designar la fuente o el destino del dato situado en el bus de datos.

Líneas de control: Se utilizan para controlar el acceso y el uso de las líneas de datos y de direcciones. Transmiten tanto órdenes como información de temporización entre los módulos del sistema. Las señales de temporización indican la validez de los datos y las direcciones. Las señales de órdenes especifican las operaciones a realizar. Algunas líneas de control típicas son: Escritura en memoria: Hace que el dato del bus se escriba en la

posición seleccionada. Lectura de memoria: Hace que dato de la posición direccionada se

sitúe en el bus. Escritura de E/S: Hace que el dato del bus se transfiera a través

del puerto de E/S direccionado. Lectura de E/S: Hace que el dato del puerto del E/S direccionado

se sitúe en el bus. Transferencia reconocida: indica que el dato se ha aceptado o se

ha situado en el bus. Petición del bus: indica que in módulo necesita disponer del

control del bus Cesión de bus: Indica que se cede el control del bus a un módulo

que lo había solicitado. Petición de interrupción: Indica si hay una interrupción pendiente. Interrupción reconocida: Señala que la interrupción pendiente se

ha aceptado Reloj: Se utiliza para sincronizar las operaciones. Inicio: pone los módulos conectados en estado inicial.

El funcionamiento del bus:

Si un módulo desea enviar un dato a otro debe hacer dos cosas: Obtener el uso del bus. Transferir el dato a través del bus.

Si un módulo desea pedirle un dato a otro módulo debe: Obtener el uso del bus. Transferir la petición al otro módulo mediante las líneas de control

y dirección apropiadas. Después debe esperar a que el segundo módulo envíe el dato.

Físicamente:

El bus del sistema es un conjunto de conductores eléctricos paralelos. Estos conductores son lineas de metal grabadas en una tarjeta. El bus se extiende a través de todos los componentes del sistema, cada uno de los cuales se conecta a algunas o a todas las líneas del bus.

31

Page 32: Arquitectura de Las Computadoras Libro

Arquitecturas de Bus Múltiple

Si se conecta un gran número de dispositivos al bus, las prestaciones pueden disminuir, hay dos causas principales:

1. A más dispositivos conectados al bus mayor es el retardo de propagación.

2. El bus puede convertirse en un cuello de botella a medida que las peticiones de transferencia acumuladas se aproximan a la capacidad del bus.

Por lo consiguiente, la mayoría de los computadores utilizan varios buses, normalmente organizados jerárquicamente.

Es posible conectar controladores de E/S directamente al bus del sistema. Una solución más eficiente consiste en utilizar uno o más buses de expansión. La interfaz del bus de expansión regula las transferencias de datos entre el bus del sistema y los controladores conectados al bus de expansión.

2.3 ARQUITECTURA DEL BUS

El retardo de propagación se puede resolver incrementando la velocidad a la que el bus puede transferir los datos y utilizando buses mas anchos.

Hay un bus local que conecta el procesador a una memoria cache y pueden conectarse más dispositivos locales. El controlador de memoria cache conecta la cache no solo al bus local sino también al bus de sistema.

La memoria principal puede pasar de bus local a bus de sistema.

Dispositivos de E/S conectados al bus de expansión: conexiones de redes de área local (LAN), conexiones de redes de área amplia, la interfaz de SCSI es un tipo de bus utilizado para conectar controladores de disco y otros periféricos, el puerto de serie puede utilizarse para conectar una impresora o un escáner.

El bus de alta velocidad también es conocida como arquitectura de entreplanta. Controladores de estaciones de trabajos específicos para las aplicaciones gráficas y de video, controladores de interfaz firewire, este bus es de alta velocidad diseñado específicamente para conectar dispositivos de E/S de alta capacidad. Los dispositivos de velocidad menor pueden conectarse al bus de expansión, que utiliza una interfaz

32

Page 33: Arquitectura de Las Computadoras Libro

para adaptar el tráfico entre el bus de expansión y el bus de alta velocidad.

Elementos del diseño de un bus:

De tipo:

Dedicado: Las líneas de control dedicadas esta permanente asignada a una función o a un subconjunto físico de componentes del computador. Ejemplo es el uso de líneas separadas para direcciones y para datos.

Multiplexado: Es el uso de menos líneas cosa que ahorra espacio, la desventaja es que se necesita una circuitería más compleja, reducción de prestaciones debido a que los eventos se deben compartir las mismas líneas.

Método de arbitraje:

Hay que tomar en cuenta que en un instante dado solo una unidad puede transmitir a través del bus.

Centralizado: Denominado controlador del bus o arbitra “es el responsable de asignar tiempos al bus”.

Distribuido: No existe controlador central, en su lugar cada módulo dispone de lógica para controlar el acceso.

Temporización:

Es la forma en que se coordinan los eventos

Síncrono: La presencia de un evento en el bus esta determinada por un reloj : el bus incluye uba línea de reloj a través de la que se transmite una secuencia en la que se alternan intérvalos regulares de igual duración, un intervalo seguido de otro se conoce como ciclo de reloj o ciclo del bus y define un intervalo de tiempo y unidad, todos los eventos comienzan al principio del ciclo de reloj. El módulo de memoria reconoce la dirección y, después de un retardo de un ciclo, sitúa el dato y la señal de reconocimiento en el bus.

Asíncrono: Sitúa las señales de dirección y lectura en el bus, después activa la señal MSYN (sincronización del maestro), indicando la presencia de señales de dirección y control válidas, y el módulo de memoria responde proporcionando el dato y una señal SSYN (sincronización del esclavo).

33

Page 34: Arquitectura de Las Computadoras Libro

Anchura del bus:

Dirección: Posiciones a las que el bus puede hacer referencia.

Datos: Número de bits que se transmiten a la vez.

Tipo de transferencia de datos:

Lectura:

Escritura:

Lectura-modificación-escritura:

Lectura después de escritura:

Bloque:

34