UNNOBA ARQUITECTURA DE Conceptos basicos de logica digital Arquitectura de Computadoras Funciones Estructura Componentes Registros ALU Unidad de Control Memorias Buses Entrada/Salida ARQUITECTURA Arquitectura son aquellos atributos visibles al programador Set de instrucciones, numero de bits usados para representacion de datos, mecanismos de E/S, tecnicas de direccionamiento, etc. Organizacion es como se implementan estos atributos Señales de control, Interfaces, Tecnologias de memoria Funciones Vista Funcional Las funciones de una computadora son: Proceso de Datos Almacenamiento de datos Movimiento de datos Control Equipo De mov. De datos Mecanismo De control Almacenamiento De datos Proceso De datos 1
Operaciones Operacion Movimiento de datos e.j. Teclado a pantalla Almacenamiento De datos Almacenamiento e.j. Bajar de Internet a disco Almacenamiento De datos Equipo De mov. De datos Mecanismo De control Equipo De mov. De datos Mecanismo De control Proceso De datos Proceso De datos Operacion Operacion Proceso de o hacia almacenamiento e.j. Poniendo al dia mov. bancario Almacenamiento De datos Procesando desde almacenamiento a E/S e.j. Imprimiendo el estado bancario Almacenamiento De datos Equipo De mov. De datos Mecanismo De control Equipo De mov. De datos Mecanismo De control Proceso De datos Proceso De datos 2
EL MODELO Von Neumann EL MODELO Von Neumann El modelo Von Neumann tiene 5 componentes basicos: (1) Unidad de entrada (2) Unidad de salida (3) Unidad Aritmetica Logica (4) Unidad de Memoria (5) Unidad de Control El modelo con BUS BUS Es un refinamiento del modelo Von Neuman La comunicación entre componentes se maneja por un camino compartido llamado BUS, el cual esta compuesto por Bus de datos Bus de direcciones Bus de control 3
Estructura Perifericos Computadora CPU Memoria principal Computer BUS E/S Lineas de comunicacion Estructura - CPU Estructura Unidad de Control CPU Unidad de Control Computer E/S BUS CPU Memoria Registros Conecciones Internas CPU ALU ALU CPU Con. Registers Unidad De Control Secuencias logicas Unidad de control Registros y Decodificadores Unidad de control Control De la memoria 4
5
Procesador Ley de Moore El numero de transistores por chip se duplica cada año El costo del chip permanece sin cambios CADA 18 MESES SE DUPLICA LA POTENCIA DE CALCULO SIN MODIFICAR EL COSTO Crecimiento CPU/Transistores Performance Se incrementa la velocidad del procesador Se incrementa la capacidad de la memoria La velocidad de la memoria corre siempre por detras de la velocidad del procesador 6
Caracteristicas del Procesador y la Dram Tendencias en el uso de la Dram Soluciones Que es un programa? Incrementar el numero de bits que se manejan simultáneamente Cambiar las interfaces de las Dram Cache Reducir la frecuencia con que se debe acceder a la memoria principal Cache mas complejas y cache en el chip Incrementar el ancho de banda en la interconeccion Buses de alta velocidad Buses de diferente jerarquia según el uso Una secuencia de pasos Para cada paso se realiza una operacion logica o matematica Para cada operacion se necesita un set de señales de control diferentes 7
FUNCION DE LA UNIDAD DE CONTROL Lenguaje de maquina: Lenguaje que puede entender el hardware. Utiliza palabras binarias Lenguaje ensamblador (o simbolico): Funcionalmente equivalente al lenguaje de maquina pero que utiliza nombres mas intuitivos (More, Add, Jump) Add r0, r1, r2 0110 1011 1010 1101 ENSAMBLADOR MAQUINA Para cada operación se provee un codigo unico e. J. ADD, MOVE Un segmento de hardware acepta ese codigo y genera las señales de control necesarias YA TENEMOS UNA COMPUTADORA Componentes La UNIDAD DE CONTROL y la UNIDAD ARITMETICA Y LOGICA constituyen la UNIDAD CENTRAL DE PROCESO Las INSTRUCCIONES y los DATOS necesitan ingresar al sistema y poder entregar sus resultados e.j. ENTRADA/SALIDA Se requiere un almacenamiento temporario de los codigos y sus resultados Memoria principal 8
CICLO DE INSTRUCCION Dos pasos Extraer Ejecutar Ciclo de extracción Ciclo de ejecución COMIENZO EXTRAER PROXIMA INSTRUCCION EJECUTAR LA PROXIMA INSTRUCCION FINALIZAR Diagrama de estado del ciclo de instruccion Ciclo de Extraccion El Contador de Programa (PC) carga la dirección de la próxima instrucción a extraer El procesador extrae la instrucción desde la locución de memoria apuntada desde el PC Incrementa el PC A no ser que exista otra instrucción La instrucción se carga en el Registro de Instrucciones (IR) El procesador interpreta las instrucciones y ejecuta las acciones requeridas 9
Ciclo de ejecucion Procesador Memoria Los datos se transfieren entre la CPU y la memoria principal Procesador E/S Los datos se transfieren entre la CPU y los módulos de E/S. Proceso de datos Operaciones logicas o aritmeticas sobre los datos Control Alteracion de la secuencia de operaciones e.j. Saltos (jump) Combinacion de los anteriores pasos Sección de datos SIEMPRE 0 REGISTROS DE DATOS ACCESIBLES POR EL USUARIO %r0-%r31 PROGRAM COUNTER: APUNTA A LA DIRECCION A SER LEIDA EN LA MEMORIA PRINCIPAL SELECCIONAN LOS REGISTROS A LEER O ESCRIBIR REGISTROS TEMPORARIOS NO ACCESIBLES POR EL MICROPROGRAMADOR INSTRUCCIÓN EN EJECUCION CC 10
CLOCK Y SELECCIÓN DEL DECODIFICADOR C. SOLO CAMBIA CUANDO LA SECCION DE CONTROL LO DETERMINA REGISTRO %r1 32 BITS DE ENTRADA Diagrama logico de la ALU SALIDAS PARA LA UNIDAD DE CONTROL DEL REGISTRO %ir Seccion de Control AL MUX C SI CMUX:1 Pueden ser mediante SOFTWARE (FIRMWARE) o CABLEADA AL MUX A SI AMUX:1 AL MUX B SI BMUX:1 SOFTWARE El corazon es una memoria ROM de 2048 palabras de 41 bits Cada palabra es una MICROINSTRUCCION AL MUX DE DIRECCIONES DE MEMORIA DE CONTROL CUANDO UNNOBA COND:111 - ARQUITECTURA (DECODE) DE LOGICA DE SALTOS DE CONTROL 11
Seccion de control REGISTRO QUE DEBE COLOCARSE EN EL BUS A ORIGEN DE DATOS PARA EL DECODIFICADOR A REGISTRO QUE DEBE COLOCARSE EN EL BUS B ORIGEN DE DATOS PARA EL DECODIFICADOR B DIRECCION DEL REGISTRO DONDE SE ALMACENARAN LOS DATOS DEL BUS C ORIGEN DE DATOS PARA EL DECODIFICADOR C LEER O ESCRIBIR EN MEMORIA 11 BITS MENOS SIGNIFICATIVOS DEL FORMATO DE LAS MICROPALABRAS SALTO CONDICIONAL CABLEADA HDL HARDWARE DESCRIPTION LANGUAJE SECUENCIA DE HDL PARA UN CONTADOR DE MODULO 4. El contador produce la secuencia de salida 00,01,10,11 y se repite en tanto la linea de entrada valga cero (X) Sentencias 12
DISEÑO LOGICO DEL CONTADOR MODULO 4 DESCRIPTO EN HDL SECCION DE DATOS: Relacionada con la generacion de las SALIDAS y el cambio de los valores de cualquier elemento de memoria SECCION DE CONTROL: Maneja la forma de realizar las transiciones entre una senetencia y otra Organización del procesador Captar instrucción: La CPU lee una instrucción de memoria Captar datos: La ejecucion de una instrucción puede exigir leer datos de la memoria o de un modulo de E/S Procesar datos: La ejecucion puede exigir llevar a cabo alguna operación aritmetica o logica Escribir datos: Los resultados pueden exigir escribir datos en la memoria o en un modulo de E/S Registros visibles por el usuario Uso general Pueden ser asignados por el programador. Pueden ser utilizados para direccionamiento o contener el operando para cualquier código de operación De datos Solo contienen datos y no se pueden emplear para el calculo de direcciones De direccion Pueden ser de uso general o dedicados a un modo de direccionamiento. Punteros de segmentos Registros indice Punteros de pila Registros de control y estado Se emplean para controlar el funcionamiento de la CPU Contador de programa (PC) Contiene la dirección de la instrucción a captar Registro de instrucción (IR) Contiene la ultima dirección captada Registro de dirección de memoria (MAR) Contiene la dirección de una posición de memoria Registro intermedio de memoria (MBR) Contiene la palabra de datos a escribir en memoria, o la palabra leída mas recientemente 13
Uso de los registros La instrucción captada se carga en el IR donde se analizan el codigo de operación y los campos del operando Se intercambian los datos en memoria por intermedio del MAR y el MBR El MAR se conecta directamente al bus de direcciones El MBR se conecta directamente al bus de datos Ciclo de instrucción Incluye los siguientes subciclos Captación: Llevar la siguiente instrucción de la memoria a la CPU Ejecución: Interpretar el código y llevar a cabo la operación indicada Interrupción: Si esta habilitada, salvar el proceso actual y atender la interrupción. Finalizada esta volver al proceso Ciclo de captación Ciclo de ejecución Ciclo de interrupción Ejemplo de la ejecucion de un programa Interrupciones inhabilitadas COMIENZO CAPTAR SIGUIENTE INSTRUCCION EJECUTAR INSTRUCCION COMPROBAR INTERRUPCIONES PROCESAR INTERRUPCIONES Interrupciones habilitadas PARADA 14
Diagrama de estado del ciclo de instruccion Modulos de la computadora Memorias Memorias Localizacion Cpu Interna Externa Capacidad Tamaño de palabra Numero de bytes Unidades de transferencia Interna Usualmente gobernada por el tamaño del bus de datos Externa Usualmente por bloques mucho mayores que un carácter Unidad de direccion Menor locacion que puede ser univocamente asignada 15
Memorias METODOS DE ACCESO Secuencial Comienza por el principio y lee enorden El tiempo de acceso dependen de la locacion a leer y la previa e.j. Cinta magnetica Directa Acceso saltando a las cercanias y haciendo una busqueda secuencial El tiempo de acceso dependen de la locacion a leer y la previa e.j. Disco Aleatoria Se identifican las locaciones individuales con exactitud El tiempo de acceso es independiente de la locacion a leer y la previa e.j. RAM Asociativa Los datos se localizan por comparacion con el contenido de una parte de lo almacenado El tiempo de acceso es independiente de la locacion previamente accesada e.j. Cache Memorias - Jerarquias Registros En la CPU Interna o memoria principal Puede incluir uno o mas niveles de cache RAM Externa Almacenamiento de soporte Memorias - Jerarquias Memorias - Performance Incrementa la performance y los costos Tiempo de acceso Tiempo entre que se presenta la direccion y se obtiene el dato valido Tiempo del ciclo de memoria Tiempo que le toma a la memoria recuperarse antes del proximo acceso El tiempo del ciclo es de acceso + recuperacion Tasa de transferencia Tasa a la que se pueden mover los datos 16
Tipos de memorias PROPIEDADES DE LAS DISTINTAS JERARQUIAS DE MEMORIA Semiconductor RAM ROM Magnetica Discos y cintas Opticas CD y DVD Otras Burbuja Flash TIPO DE MEMORIA REGISTROS CACHE MEMORIA PRINCIPAL DISCOS TIEMPO DE ACCESO 1 ns 5 20 ns 60 80 ns 10 ms COSTO POR MBYTE ALTO 100 1.10 0.05 TAMAÑO TIPICO UTILIZADO 1 Kb 1 Mb 64 Mb 4 Gb COSTO APROXIMADO - 100 70 200 Cache Pequeña cantidad de memoria muy rapida Colocada entre la memoria principal y la CPU Habitualmente colocada dentro del chip del CPU FUNCIONAMIENTO CPU requiere el contenido de una locacion de memoria Verifica la existencia de este dato en el Cache Si esta presente, la carga desde alli (rapidez) Si no esta presente, la lee desde la memoria principal y la carga en el cache La envia desde alli a la CPU En el Cache se incluyen tags para identificar el bloque de la memoria principal desde donde fue tomado el dato CPU con o sin cache 17
Organización tipica de un cache Sistema de memoria INTEL Processor Figure 4.16 COMPUTADORAS Typical Cache Organization II Operación de lectura del cache Memorias Receive address RA from CPU Is block containing RA in cache? Access main memory for block containing RA Fetch RA word and deliver to CPU e cache main y block Load main memory block into cache slot Deliver RA word to CPU Figure 4.15 Cache Read Operation 18
RAM Memoria de acceso aleatorio Diagrama funcional de una celda RAM DINAMICA Bits almacenados como cargas en capacitores Necesitan refresco permanente Muy simples Pequeñas Baratas Lentas Uso: MEMORIA PRINCIPAL RAM Memoria de acceso aleatorio ESTATICAS Los bits se almacenan como si fueran en llaves si/no No requieren refresco Construccion mas compleja De mayor tamaño Mas caras Mas rapidas Uso: CACHE Modulo de memoria Single-in-line SIMM Utilizado en las 486, trabajaban de a pares. Sustituidos por los DIMM 19
RAM DIMM Dual In Line Memory Modules Tienen los contactos de cada cara de la plaqueta separados NOMBRE CONTACTOS CAPACIDAD (MB) SO DIMM SMALL OUTLINE 72 Hasta 512 SO DIMM SMALL OUTLINE 144 Hasta 1 GB SO DIMM SMALL OUTLINE 200 Hasta 1GB SDRAM DDR SDRAM SYNCHONOUS DINAMIC RANDOM ACCES MEMORY DOUBLE DATA RATE 168 64, 128, 256 y 512 CLOCK (MHz) 66 a 133 184 Hasta 1 GB 200 a 400 DDR2 SDRAM 240 Hasta 2x2 GB 400 a 1200 Obs. Se usan en Laptops Se conecta al clock del sistema. Lee o escribe a un ciclo de reloj por acceso Transmiten por dos canales distintos simultáneamente en el mismo ciclo de reloj Transmiten por cuatro canales simultáneamente SIMM (486) DIMM RAM (XT y AT) SO DIMM DDR2 20
ROM Memoria de solo lectura Almacenamiento permanente Microprogramables Subrutinas BIOS Tablas de funcion ROM NOMBRE CONTACTOS PROM EPROM EAROM EEPROM FLASH PROGRAMABLE READ ONLY MEMORY ERASABLE PROGRAMABLE READ ONLY MEMORY ELECTRICALLY ALTERABLE READ ONLY MEMORY ELECTRICALLY ERASABLE PROGRAMABLE READ ONLY MEMORY Pen drive PC card etc 28 CAPACIDAD (MB) 28 Hasta 8 MUY BAJA CLOCK (MHz) W: 0,001 R: 1 HASTA 32 GB 20 Obs. Los datos almacenados no se pueden modificar Los datos almacenados se pueden borrar mediante una luz ultravioleta ESCRITURA 1 mseg LECTURA 1 µseg Pueden borrarse y reprogramarse entre 100.000 y 1.000.000 de veces EEPROM EVOLUCIONADA ROM EPROM PROM 21
Memorias externas MEMORIA FLASH EEPROM FLASH Discos magneticos Discos opticos CD CD-WR DVD Cintas magneticas Cinta magnetica Discos Rigidos -Organización de datos y formato Acceso serie Lenta Muy barata Util para back up y archivos Tiende a la obsolescencia Tracks en anillos concentricos Pausas entre tracks Velocidad angular constante Tracks divididos en sectores El tamaño minimo de un bloque es un sector Pueden tener mas de un sector por bloque 22
Discos rigidos Disco rigido Captor de disco Electronica de control del disco 23
CD ROM Almacenamiento optico CD ROM Utilizados originalmente para audio 650 Mbytes daban 70 minutos de audio Policarbonato recubierto de materiales reflectivos como aluminio Datos almacenados como huecos Lectura por reflejos de un laser Velocidad linear constante Gran capacidad Facil de producir en masa Removible Robusto Lento Generalmente de solo lectura DVD Digital Video Disk Buses Muy alta capacidad (desde 4,7 hasta 123 Gbytes) Pueden almacenar una pelicula mediante algoritmos de compresion MPEG Hay una cantidad posible de sistemas de interconexiones Es un camino de comunicaciones entre dos o mas sistemas o equipos internos Usualmente se comunican por difusion Usualmente no se muestran las lineas de señales de tensión 24
Buses DATOS Transmiten datos ( a este nivel no hay diferencias entre datos e instrucciones). Performance dada por el ancho:8, 16, 32, 64 bits DIRECCIONES Identifican la fuente o el destino de los datos El ancho del bus determina la máxima capacidad de memoria del sistema CONTROL Proveen informacion de control y temporizacion Esquema de interconexion de los buses Semantica PCI: Peripheral Component Interfase 133 Mb/s SCSI: Small Computer System Interfase 40 Mb/s ISA: Industry Standard Arquitecture 16,7 MHz IDE: Integrated Drive Electronic 33 Mb/s USB: Universal Serie Bus 1,5 a 400 Mb/s 25
PCI Interconecta componentes perifericos Desarrollado por INTEL 32 o 64 bits 50 lineas Lineas del sistema Incluyen clock y reset Direcciones y Datos 32 lineas multiplexadas para datos y direcciones Lineas de interrupcion y validacion Control de la interface Arbitaje Ejemplo de configuraciones PCI Arbitraje del bus Arbitraje de los buses (a) Arbitraje simple centralizado (b) Arbitraje centralizado con niveles de prioridad (c) Arbitraje descentralizado 26
Bus sincronico Bus asincronico ISA con CACHE Buses de alta performance 27
Entrada / Salida Conecciones de Entrada/Salida Conecciones de Entrada/Salida Desde el punto de vista de la CPU es similar a la MEMORIA Salida Recibe datos desde la computadora Envia datos a los perifericos Entrada Recibe datos desde los perifericos Envia datos a la computadora Recibe señales de control desde la computadora Envia señales de control a los perifericos e.j. Giro de los discos Recibe direcciones desde la computadora e.j. Numero de puertos para identificar periféricos Envian señales de interrupción (control) 28
Conecciones a la CPU Problemas con las Entradas/Salidas Lee Instrucciones y datos Escribe los datos de salida (luego de procesarlos) Envía señales de control a otras unidades Recibe (y actúa) interrupciones Amplia variedad de perifericos Transfieren diferentes cantidades de datos A diferentes velocidades En diferentes formatos Todos mas lentos que las CPU y las RAM Entrada/Salida Funciones de los modulos de Entrada/Salida Control y temporizacion Comunicación con la CPU Comunicación con el equipo periferico Almacenamiento de datos Deteccion de errores 29
Modulos de Entrada/Salida Pasos de E/S La CPU verifica el estado de los modulos de los equipos de E/S El modulo de E/S regresa el estado Si esta listo, la CPU requiere la transferencia de datos El modulo de E/S envia los datos desde el equipo El modulo de E/S transfiere estos datos a la CPU Interupciones ADMINISTRACION PROGRAMADA UNNOBA MEDIANTE - ARQUITECTURA DE INTERRUPCIONES ACCESO DIRECTO A MEMORIA (DMA) 30