Download - Arquitectura de la computadora
![Page 1: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/1.jpg)
Instituto Tecnológico de Morelia
Arquitectura de Computadoras
Unidad 1
![Page 2: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/2.jpg)
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.
![Page 3: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/3.jpg)
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.
![Page 4: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/4.jpg)
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.
![Page 5: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/5.jpg)
– 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
![Page 6: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/6.jpg)
Jerarquía de un Sistema de Computo
Computadora
Procesador Subsistema deentrada y salida
CPU Subsistema deMemoria
ALUUnidad de
Control
![Page 7: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/7.jpg)
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
![Page 8: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/8.jpg)
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
![Page 9: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/9.jpg)
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
![Page 10: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/10.jpg)
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
![Page 11: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/11.jpg)
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
![Page 12: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/12.jpg)
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
![Page 13: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/13.jpg)
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
![Page 14: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/14.jpg)
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
![Page 15: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/15.jpg)
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
![Page 16: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/16.jpg)
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
![Page 17: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/17.jpg)
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
![Page 18: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/18.jpg)
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
![Page 19: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/19.jpg)
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
![Page 20: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/20.jpg)
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.
![Page 21: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/21.jpg)
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.
![Page 22: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/22.jpg)
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
![Page 23: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/23.jpg)
Codificación de una instrucción
Operación
Código de Instrucción
Codigo de Operación
Operando único
Operando 1 Operando 2
![Page 24: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/24.jpg)
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
![Page 25: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/25.jpg)
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
![Page 26: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/26.jpg)
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
![Page 27: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/27.jpg)
Ciclo de instrucción
Búsqueda de la Instrucción
Decodificación de la Instrucción
Ejecución de la Instrucción
![Page 28: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/28.jpg)
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
![Page 29: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/29.jpg)
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
![Page 30: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/30.jpg)
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
![Page 31: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/31.jpg)
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
![Page 32: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/32.jpg)
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
![Page 33: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/33.jpg)
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.
![Page 34: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/34.jpg)
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
![Page 35: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/35.jpg)
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
![Page 36: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/36.jpg)
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.
![Page 37: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/37.jpg)
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.
![Page 38: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/38.jpg)
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.
![Page 39: Arquitectura de la computadora](https://reader034.vdocuments.site/reader034/viewer/2022042714/556c23f5d8b42a8d648b4df7/html5/thumbnails/39.jpg)
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