Arquitectura de la computadora

Post on 01-Jun-2015

499 views 4 download

description

Arquitectura computacional unidad 1 para tecnologicos

Transcript of Arquitectura de la computadora

Instituto Tecnológico de Morelia

Arquitectura de Computadoras

Unidad 1

Programa

1 Modelo de arquitecturas de cómputo.

1.1 Modelos de arquitecturas de cómputo.1.1.1 Clásicas.

1.1.2 Segmentadas.

1.1.3 De multiprocesamiento.

1.2 Análisis de los componentes.1.2.1 CPU.

1.2.1.1 Arquitecturas.

1.2.1.2 Tipos.

1.2.1.3 Características.

1.2.1.4 Funcionamiento.

1.2.2 Memoria.1.2.2.1 Arquitecturas.

1.2.2.2 Tipos.

1.2.2.3 Características.

1.2.2.4 Funcionamiento.

1.2.3 Dispositivos de I/O.

1.2.3.1 Arquitecturas.

1.2.3.2 Tipos.

1.2.3.3 Características.

1.2.3.4 Funcionamiento.

Ordenador o Computadora

Sistema de calculo de propósito general que incorpora una unidad central de proceso, memoria y dispositivos de

entrada y salida.

Del Diccionario de Electrónica e informática Orbis-Marcombo 1986.

– Habilidad para realizar operaciones aritméticas y lógicas.

– Memoria. Puede retener información por un periodo de tiempo dado.

– Es programable. Efectúa una serie de operaciones en un orden determinado.

– Capacidad de recibir información del mundo exterior y entregar resultados de sus cálculos.

Características

Jerarquía de un Sistema de Computo

Computadora

Procesador Subsistema deentrada y salida

CPU Subsistema deMemoria

ALUUnidad de

Control

Flujo de información en el CPU

Subsistema de Memoria

Unidad deControl

Unidad LógicaAritmética

DatosCódigos de Operación

Control Resultados

Estado

Control

1.1.1 Modelos de arquitectura de computo clásicas

Arquitectura Mauchly-Eckert (VonNewman)

Concepto de programa almacenado

Procesador Memoria PrincipalAlmacena

el programa y los datos

Entrada y salida

Bus principal

Registros

ALU

Unidad deControl

Arquitectura Harvard

Espacios de memoria de datos y programa separados

ProcesadorMemoria de datos

Entrada y salida

Bus dedatos

Memoria deprograma

Bus deprograma

Registros

ALU

Unidad deControl

1.1.2 Arquitecturas segmentadas

Las arquitecturas segmentadas aparecieron a mediados de los años 1960's como una manera de aumentar el rendimiento sin implicar un nivel masivo de paralelismo

Durante los años 1980's fueron una de las ideas centrales de los procesadores RISC, buscando alcanzar el objetivo de que se ejecutara una instrucción cada ciclo de maquina.

En Inglés se conocen como “pipelined procesors” o procesadores entubados

Segmentación o entubamiento

consiste en dedicar unidades especificas del procesador a cada una de las partes del ciclo de instrucción y ejecutarlas paralelamente

Mejora dramáticamente el rendimiento debido a que en los procesadores modernos se tienen hasta 14 etapas en el ciclo de instrucción

Segmentación del cause

La unidad de control se subdivide en dos o más unidades funcionales, cada una encargada de llevar a cabo una parte del ciclo de instrucción.

Se comunican a través de una cola de instrucciones (Pipeline)

Unidad de Búsqueda

Unidad deejecuciónCola de Instrucciones

Segmentación del cauce(2)

La mejora en el rendimiento no es proporcional al numero de segmentos en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse, además de que se puede presentar competencia por el uso de algunos recursos como la memoria principal

Búsqueda Ejecución

Espera Espera

CPU de multiprocesamiento

SISO – (Single Instruction, Single Operand ) computadoras independientes

SIMO – (Single Instruction, Multiple Operand ) procesadores vectoriales

MISO – (Multiple Instruction, Single Operand ) No implementado

MIMO – (Multiple Instruction, Multiple Operand ) sistemas SMP, Clusters

multiprocesamiento

Procesadores vectoriales – Son computadoras pensadas para aplicar un mismo algoritmo numérico a una serie de datos matriciales, en especial en la simulación de sistemas físicos complejos

Sistemas SMP (Simetric Multi Procesesors) – Varios procesadores comparten la misma memoria principal y periféricos de I/O, Normalmente conectados por un bus común

Clusters

Conjuntos de computadoras independientes conectadas en una red de área local o por un bis de interconexión y que trabajan cooperativamente para resolver un problema

1.2-Análisis de los componentes

1.2.1 – CPU 1.2.1.1- arquitecturas

CISC (Complex Instruction Set Computers) Tienen un número amplio de instrucciones y modos de direccionamiento. Se implementan instrucciones especiales que realizan funciones complejas. El número de registros del CPU es limitado

RISC (Reduced Instruction Set Computers) Solo se cuenta con unas pocas instrucciones y modos de direccionamiento, pero se busca implementarlos de forma muy eficiente y que todas las instrucciones trabajen con todos los modos de direccionamiento. Amplio número de registros en el CPU

1.2.1.2 Tipos de CPU

Por tamaño del ALU o del Bus de conexión al exterior (8, 16, 32, 64 bits)

De cauce segmentado o no segmentado

CISC o RISC

Von Newan o Harvard

Instrucciones enteras y/o de punto flotante

1.2.1.3 Características de los CPU

Modelo del programador (Conjunto de registros que el programador puede utilizar)

Conjunto de instrucciones

Modos de direccionamiento

Ciclo de instrucción

Buses de interconexión

1.2.1.4 Funcionamiento del CPU

Se explicara el funcionamiento de una computadora imaginaria, cuyo funcionamiento básico es similar al de la mayoría de las computadoras de propósito general

Contara con una memoria de 4096 palabras de 16 bits cada una (12 bits de direcciones, 16 bits de datos)

En cada localidad de memoria se podrá almacenar un entero de 16 bits o el código de una instrucción, también de 16 bits.

Componentes del CPU

Registro ACC (16 bits)– Acumulador, se usará para almacenar uno de los operandos y el resultado de varias de las instrucciones

MAR – (Memory Address Register 12 bits) Registro de dirección de memoria, selecciona a que localidad de memoria se va a leer o a escribir.

MBR – (Memory Bus Register 16 bits) Registro de bus de memoria. A través de él se lee y se escriben los datos.

Componentes del CPU (2)

IR Registro de instrucción (16 bits), guarda el codigo de la instrucción que se esta ejecutando.

Flags – Registro de Banderas, agrupa a todas las banderas de la ALU en un registro

Z – Bandera de Cero

O – Sobreflujo

C – Acarreo

PC (Program Counter 16 bits) Contador de programa – almacena la dirección de la siguiente instrucción a leer

Codificación de una instrucción

Operación

Código de Instrucción

Codigo de Operación

Operando único

Operando 1 Operando 2

Códigos de operación

Código de Operación

Instrucción Operación

0h LOAD (Carga) ACC<-[M]

1h STORE (Almacena) [M]<-ACC

2h ADD (Suma) ACC<-ACC+[M]

3h ADC (Suma con Acarreo) ACC<-ACC+[M]+C

4h SUB (Resta) ACC<-ACC-[M]

5h OR (Or Bit a Bit) ACC<-ACC or [M]

6h AND (And bit a Bit) ACC<-ACC and [M]

7h XOR (Xor Bit a Bit) ACC<-ACC xor [M]

8h SHL (Corrimiento a la Izquierda) ACC<-ACC << 1

9h SHR (Corrimiento a la derecha) ACC<-ACC >> 1

Códigos de operación (2)

Código de Operación

Instrucción Operación

Ah BRA Bifurcación o salto PC<-M

Bh BRZ (Bifurca si es Cero) Si Z==1 => PC<-M

Ch BRC (Bifurca si hay Acarreo) Si C==1 => PC<-M

Dh BRO (Bifurca si hay Sobreflujo) Si O==1 => PC<-M

Eh LDI (Carga Constante Inmediata) ACC <-[PC]PC<-PC+1

Fh STOP Detener la simulación

Notas: M es el operandoLDI se codifica en dos palabras, una una para el código de operación y otra para la constante inmediata

Ejemplos de Codificación

Instrucción Opcode Operando Código

LD 123h 0h 123h 0123h

ADD 123h 2h 123h 2123h

BRA 123h Ah 123h A123h

LDI 1234h E000h 1234h E000h, 1234h

STOP Fh No Aplica F000h

Ciclo de instrucción

Búsqueda de la Instrucción

Decodificación de la Instrucción

Ejecución de la Instrucción

Ciclo de instrucción (2)

Búsqueda de instrucción: En esta etapa se lee el código de la siguiente instrucción a ejecutar

PC Contiene la dirección de la instrucción

IR<-[PC] (se lee de memoria el código)

PC<-PC+1(PC apunta a la siguiente instrucción

Decodificación de la instrucción

Se separa el contenido de IR en Opcode y Operando

Se busca a que instrucción corresponde el Opcode

Búsqueda Instrucción LOAD 023h

CPU

Banderas

PC

IR

Acumulador

MA

RM

BR

XXXXh

XXXXh

0023h

2024h

000h

001h

002h

003h

Contenido Dir.

XXXXh

1234h

4567h

FFFh

023h

024h

XXXXh 022h

...

...BUS

Memoria

002h

0023h

002h

0023

h003h

Ejecución Instrucción LOAD 023h

CPU

Banderas

PC

IR

Acumulador

MA

RM

BR

XXXXh

XXXXh

0023h

2024h

000h

001h

002h

003h

Contenido Dir.

XXXXh

1234h

4567h

FFFh

023h

024h

XXXXh 022h

...

...BUS

Memoria

003h

0023h

023h

1234

h

1234h

Búsqueda de la Instrucción ADD 024h

CPU

Banderas

PC

IR

Acumulador

MA

RM

BR

XXXXh

XXXXh

0023h

2024h

000h

001h

002h

003h

Contenido Dir.

XXXXh

1234h

4567h

FFFh

023h

024h

XXXXh 022h

...

...BUS

Memoria

002h

2024h

003h

2024

h003h004h

Ejecución Instrucción ADD 024h

CPU

BanderasZ=0, C=0, V=0

PC

IR

Acumulador

MA

RM

BR

XXXXh

XXXXh

0023h

2024h

000h

001h

002h

003h

Contenido Dir.

XXXXh

1234h

4567h

FFFh

023h

024h

XXXXh 022h

...

...BUS

Memoria

004h

2024h

024h

4567

h

579Bh

1.2.2 Memorias

Conjunto de celdas de almacenamiento y sus circuitos asociados

Una palabra es el conjunto de bits que puede leerse o escribirse en una sola operación

Un grupo de 8 bits es un byte. Un grupo de 4 bits un Nible

Los tamaños de palabra en las memorias suelen ser múltiplos de 8 bis

El tamaño de la palabra coincide con el numero de terminales de datos que poseen.

Memorias (2)

Las lineas de direcciones sirven para escoger en cual de todas las palabras de la memoria se va a guardar o a leer un dato

El número de lineas de direcciones se determina por el tamaño de la memoria

T=2N

T - Número de palabras o localidades

N - Número de lineas de direcciones

Es común que el tamaño de las memorias se exprese como un múltiplo de las siguientes unidades: 1K = 2^10=1024; 1M = 2^20 = 1024*1024, 1G=2^30 = 1024*1024 *1024

Clasificación de Memorias

Volátiles: pierden la información cuando son desenergizadas (RAM)

RAM estatica: Se forma con flip-flops. Rápida pero cara.

RAM Dinámica: Se almacenan los datos en la capacitancia parásita de un transistor. Como el capacitor se descarga necesita reescribirse el dato con frecuencia. Alta densidad, baratas pero lentas.

No volátiles: conservan la información aún sin suministro de energía

ROM: Se construyen con diodos, datos grabados por el fabricante

PROM: Los datos se graban quemando fusibles.

EPROM: Similares a la DRAM, guardan los datos en la carga almacenada en la compuerta flotante de un MOSFET especial. Se borran con Luz UV

EEPROM y FLASH: Se borran eléctricamente

1.3 Dispositivos de I/O

1.1 Arquitecturas (Técnicas de interfaz)

Escrutinio (Polling) – se revisa si el dispositivo requiere atención periódicamente

Interrupciones – El dispositivo llama a una rutina de atención por medio de un mecanismo de hardware especial, interrumpiendo la ejecución del programa principal

Acceso directo a memoria (DMA Direct Memory Access) El dispositivo de entrada/salida toma el control del Bus del procesador y transfiere los datos la memoria directamente.

1.3.1 Tipos

Dispositivos orientados a caracteres – Transfieren cantidades pequeñas de información a la vez, comúnmente por medio de escrutinio o interrupciones, el software los mantiene en un buffer hasta que son procesados por el Software

Dispositivos orientados a bloques – Transfieren la información por bloques a la memoria, usando DMA. Es común que contengan algún tipo de memoria interna para usar como buffer.

1.3.3 Características

Tipo de comunicación con la PC

Serie: se comunica un bit a la vez

Paralela: se comunica más de un bit a la vez

Velocidad de transferencia

Latencia: Tiempo que toma en ocurrir la primera transferencia de datos.

Ancho de banda. Velocidad de transferencia de datos bits/seg.

1.3.4 Funcionamiento

Teclado

Monitor

Scaner

Disco Flexible

Disco Duro

Unidad óptica

Impresora láser

Impresora inyección

Impresora térmica

Ratón

Unidades de Cinta

Lectores de código de barras

Cámara de vídeo

Tarjeta de sonido

Módem

Módem ADSL