Arquitectura de la computadora
-
Upload
mauricio-hernandez -
Category
Education
-
view
499 -
download
4
description
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