Aquitectura de Computadoras SEM1 Sem1

July 12, 2017 | Author: Ana Elizabeth Rodríguez Chumbe | Category: Central Processing Unit, Computer Memory, Electronic Design, Electronic Engineering, Electrical Engineering
Share Embed Donate


Short Description

Descripción: arquitectura de computadoras...

Description

CICLO 2016-I Módulo:II Unidad: I Semana: 1

ARQUITECTURA DE COMPUTADORAS

Ing. Chauca Castillo Eduardo

Tema 1: Introducción a Arquitectura de Computadores

Conceptos básicos y visión histórica

Programa de Teoría 1. 2. 3. 4. 5. 6. 7.

Introducción. Lenguaje Máquina. Lenguaje Ensamblador. Ruta de Datos y Unidad de Control. Unidad Aritmético-Lógica (ALU). Sistema de Entrada-Salida. Memoria.

Contenido • • • • •

¿Qué es un computador? Descripción funcional: Arquitectura de von Neumann Orígenes y evolución histórica. Parámetros característicos de un computador.

¿Qué es un computador? 

Concepto de computador



Máquina de estados finitos: FSM



Arquitectura von Neumann 

Ruta de datos



Unidad de Control



Memoria de programa y datos

FSM + Datapath

Arquitectura von Neumann 

Ruta de datos  



Unidad de control 

 

Responsable de realizar cálculos Registros, unidades funcionales, unidades de interconexión Responsable de ordenar cálculos Secuenciador, registros, pilas...

Memoria de programa y datos

Estructura de un computador

Procesador

Unidad de Control

Salida Memoria

Ruta de datos Unidad AritméticoLógica

Entrada

Computador

Ruta de datos 



Unidades funcionales 

Realizan operaciones aritméticas y/o lógicas



ALUs, desplazadores, multiplicadores

Registros de la ruta de datos 



Almacenan resultados temporales

Unidades de interconexión 

Multiplexores y/o buses

Unidad de Control 

Contador de programa 

 

Registro de instrucción 



Dirección de la instrucción en curso Se incrementa en cada ciclo Código de la instrucción en curso

Secuenciador  

Genera señales para cada instrucción Actualiza el Contador de Programa

Secuenciador 

Captación de la instrucción  





Leer dirección del Contador de Programa Incrementar el Contador de Programa

Decodificación de la instrucción Ejecución de la instrucción   

Captura de operandos Operación Escritura de resultados

Ejemplo de procesador

Necesidad de cómputo Antecedentes históricos 

Ábaco



Máquina de Pascal (1642). Suma





Máquina de Leibniz (fin s. XVII). Multiplica y divide

Telar de Jacquard (med. XVIII) Tarjetas perforadas

El ábaco

La pascalina

La máquina de calcular de Leibniz

La era moderna Computadores mecánicos 

Charles Babbage: 

Máquina diferencial. Calcular tablas de artillería.



Máquina analítica. Programable, con E/S, memoria, unidad de cálculo Computadores eléctricos



Clasificadora de Höllerith (1886): Primer ordenador eléctrico

Charles Babbage

Máquina de diferencias

Charles Babbage

Ada Lovelace

Máquina analítica

Clasificadora de Höllerith

Computadores electromecánicos



Zuse (1941) primer computador de relés



Howard Aiken (IBM) 

Mark I, II, III y IV (1943-52)

Electromecánicos: Mark I

Howard Aiken: “Si Babbage hubiera nacido en el

siglo XX nos habríamos quedado sin trabajo”

Computadores electrónicos 1ª generación: Válvula de vacío 

ENIAC (1945-55), Eckert & Mauchly



John von Neumann: EDVAC (1945) 





Bases de la arquitectura de computadores moderna

EDSAC (Wilkes,1949): programa almacenado y coma flotante UNIVAC I (1951): computador fabricado en serie

Electrónicos (válvulas): ENIAC

John Mauchly John P. Eckert

Computadores electrónicos 2ª generación: El transistor 







1946: los laboratorios Bell inventan el transistor

Leprechaun, 1956: primer computador basado en transistores Burroughs B5000: primer ordenador de estructura de pila IBM Stretch, IBM 1410, PDP-1 (DEC), UNIVAC 1100

El transistor: 2ª generación

/

Shockley Bardain Brattain

Electrónica integrada 3ª generación: Circuito Integrado 



J. Kilby inventa el circuito integrado en 1958 

Inicialmente, es un chip con algunos transistores (SSI)



A finales de los 60, ya son cientos de transistores (MSI)



1975, decenas de miles de transistores en un chip (LSI)

Grandes familias de computadores 

Burroughs B2500, IBM 360, CDC 6500, PDP 5, UNIVAC 1108

Circuito integrado: 3ª generación

Jack Kilby

El microprocesador (4004)

¿4ª generación? El Microprocesador



Intel 4004: primer microprocesador comercial



Aparecen los lenguajes de programación de alto nivel

Parámetros característicos   

Tamaño de palabra Frecuencia de reloj Medidas de rendimiento  

MIPS, MFLOPS Pruebas sintéticas: SPECint, SPECfp

Conceptos importantes 

Estructura de un computador  





Descomposición funcional Fundamentos de la ejecución de un programa

Evolución tecnológica Parámetros característicos y evaluación del rendimiento

Arquitecturas y Partes de la CPU

Objetivos •

Arquitecturas

– – •

von Neumann Otras Unidad Central de Procesamiento (CPU)

– – – • • • •

R.Mitnik

Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses

35

Índice Capítulo 3 : Arquitecturas

3. Arquitecturas 3.1 von Neumann 3.2 Harvard 3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

36

Introducción

Arquitectura de Computadores Corresponde a la estructura, organización, e interconexión de las diversas partes de un computador



Arquitectura del set de instrucciones   

Cantidad de instrucciones Tamaño de las instrucciones Maneras de acceder a memoria



Organización funcional    

R.Mitnik

37

Registros Interconexión entre los componentes Mecanísmos de Entrada/Salida (I/O) Jerarquías de memoria

Introducción

• Que hace un computador. – – – – – –

R.Mitnik

Almacenar Datos (leer - escribir). Almacenar Programas. Ejecutar operaciones sobre datos. Ejecutar algoritmos. Recibir nuevos datos. Entregar resultados.

38

Índice Capítulo 3 : Arquitecturas 3.1 von Neumann 3.2 Harvard 3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

39

Introducción John von Neumann (se pronuncia «fon noiman») (28 de diciembre de 1903 - 8 de febrero de 1957)

Fue un matemático húngaroestadounidense, de ascendencia judía. Fue pionero de la computadora digital moderna y de la aplicación de la teoría operadora a la mecánica cuántica. Participó del Proyecto Manhattan

R.Mitnik

40

Introducción Trabajó con Eckert y Mauchly en la Universidad de Pennsylvania, donde publicó un artículo acerca del almacenamiento de programas. El concepto de programa almacenado permitió la lectura de un programa directamente desde la memoria del computador, así como la ejecución de las instrucciones del mismo sin necesidad de un medio externo (cinta). (Tomado de Wikipedia: John von Neumann) R.Mitnik

41

Arquitectura de von Neumann • John von Neumann propuso una manera de estructurar un computador. – – – – – –

Almacenar Datos (leer - escribir). Almacenar Programas. Ejecutar operaciones sobre datos. Ejecutar algoritmos. Recibir nuevos datos. Entregar resultados.

Memoria CPU Input/Output

R.Mitnik

42

Arquitectura de von Neumann • CPU, Memoria e I/O se comunican a través de Buses.

Data Bus Control Memoria

CPU

I/O

Control Address Bus R.Mitnik

43

Índice 3.1 von Neumann 3.2 Harvard 3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

44

Arquitectura Harvard • Utiliza 2 memorias independientes – Datos – Instrucciones

• El término proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.

R.Mitnik

45

Arquitectura Harvard • Ventajas de la arquitectura Harvard – Instrucciones y datos de distinto largo – Memorias de distinto tamaño • bits de direccionamiento distintos

– Memorias con distinta tecnología

– Disminuyo el cuello de botella en el acceso a memoria – En controladores embebidos: • RAM para los datos • ROM para las instrucciones

R.Mitnik

46

Arquitectura de von Neumann • Ventajas de la arquitectura de von Neumann – Uso mas eficiente de la memoria • Jerarquía de memoria no requiere estar dividida en 2

– Más simple arquitectónicamente • Un solo tipo de instrucciones para acceder a memoria • Un solo bus de datos y de direcciones  Una misma forma de acceso a datos e instrucciones

– Mayor flexibilidad • Útil para el sistema operativo • Paginación a disco • Código automodificante

 CPU con menos operaciones y mas flexible R.Mitnik

47

Índice 3.1 von Neumann 3.2 Harvard 3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

48

Multiprocesador Procesador

Procesador

Procesador

Procesador

Memoria local *

Memoria local

Memoria local

Memoria local

Memoria Principal

I/O

* Memoria Local: mantiene una copia local de una porción de la memoria principal R.Mitnik

49

Multiprocesador • Ventajas – Procesamiento paralelo – Cercanía entre CPUs permite altas tasas de transferencia de datos

• Desventajas – No todo es paralelizable 

Problemas de coherencia de memoria local con memoria principal

R.Mitnik

50

Sistemas distribuidos Capítulo 3 : Arquitecturas

Procesador

Procesador

Memoria

Memoria I/O

Procesador

Memoria I/O

I/O

Red de interconexión

R.Mitnik

Arquitectura de Computadores

51

Sistemas distribuidos 

Cada nodo funciona como un computador independiente  Se comunican por red  Distintas topologías: estrella, anillo, etc.

Red de interconexión R.Mitnik

52

Sistemas distribuidos Ventajas



 



Procesamiento paralelo Facilidad de incorporar y quitar nodos del sistema

Desventajas  



R.Mitnik

No todo es paralelizable Overhead en la transferencia de datos es considerablemente mayor Problemas de coherencia de memorias 53

Índice 4.Unidad de Central de Procesamiento (CPU) 4.1 Partes de la CPU. 4.2 Ciclo de la Instrucción. 4.3 Conjunto de Instrucciones y tipos de funcionalidad. 4.4 Diseño de una CPU básica. 4.5 CISC/RISC. 4.6 Modos de direccionamiento. 4.7 Instrucciones en lenguaje de máquina. 4.8 Subrutinas y Manejo de Stack. 4.9 Interrupciones de software y hadware. R.Mitnik

54

Introducción

Unidad Central de Procesamiento (CPU o procesador)

Componente principal de un computador, encargado del control de flujo, decodificación y ejecución de instrucciones, y procesamiento y transferencia de datos.

 Cerebro del computador R.Mitnik

55

Índice Capítulo 4 : Unidad de Procesamiento Central (CPU)

4.1 Partes de la CPU. 4.2 Ciclo de la Instrucción. 4.3 Conjunto de Instrucciones y tipos de funcionalidad. 4.4 Diseño de una CPU básica. 4.5 CISC/RISC. 4.6 Modos de direccionamiento. 4.7 Instrucciones en lenguaje de máquina. 4.8 Subrutinas y Manejo de Stack. 4.9 Interrupciones de software y hadware. R.Mitnik

56

Partes de la CPU Capítulo 4 : Unidad de Procesamiento Central (CPU) • Responsabilidades – Ejecutar Operaciones y Algoritmos – Controlar Flujo del Programa – Controlar Circuitos Internos

R.Mitnik

57

Partes de la CPU Memoria

Ejecutar Operaciones y Algoritmos

1101110111 Load (7h) 01 1100011001 00

• Requisitos: – Procesar instrucción – Leer datos – Almacenar Temporalmente los datos – ALU – FPU – Almacenar Resultados R.Mitnik

5

ALU 9

9

02

1110001010

03

1110000000

04

0110011000

05

0000011000

06

0001111000

07

0000000100

08

1111000000

09

0000000101

4

0A 0000000000 0000001001 58

Partes de la CPU

Control de Flujo

 

R.Mitnik

Instruction Pointer Mecanismos de Salto

GOTO(08h) 1110000000

04

0110011000

05

0000011000

06

0001111000

07

0000000100

08

1111000000

09

0000000101

01

ALU

Requisitos

03

00

• Ej. programa anterior. LOAD (07h) ADD (09h) MOVE(0Ah) GOTO(08h)



02

Memoria 1101110111 LOAD (07h) 1100011001 ADD(09h) 1110001010 MOVE(0Ah)

9

4 5

0A 0000000000 0000001001

59



Partes de la CPU Circuitos internos Requisitos  Buses internos.  Señales de control.  ALU (función)  Mux  Registros (Load,etc)  Contador (Inc, Load,etc)

R.Mitnik

contador 00000000

Ej. implementació n

memoria 00

LOAD (07h)

01

ADD(09h)

02

MOVE(0Ah)

03

GOTO(08h)

04

0110011000

05

0000011000

06

0001111000

07

0000000100

08

1111000000

09

0000000101

0A

0000000000

m u x

registro 0001111000

A L U 60

Partes de la CPU • Control & Decode procesa las instrucciones. – ROM – Espacio de Direccionamiento determina cantidad de instrucciones – Las salidas son señales de control para ejecutar una instrucción. Control & Decode Instrucción de k bits

R.Mitnik

2k palabras n bits por palabra n señales de control para la instrucción

61

Partes de la CPU

Registros de la CPU

R.Mitnik

62

Registros de la CPU • Un procesador incluye: – registros visibles para el usuario – registros de control/estado. 

Registros Visibles. 



R.Mitnik

Pueden referenciarse en las instrucciones. Se clasifican en:  Uso general.  Datos.  Direcciones.  Códigos de Condición 63

Registros de la CPU ¿Cuántos registros de propósito general? 

Óptimo entre 8 y 32  



R.Mitnik

Pocos registros  demasiados accesos a memoria. Muchos registros no reducen considerablemente las referencias a memoria Muchos registros CPU más compleja.

64

Registros de la CPU ¿De cuántos bits deben ser los registros? 

Deben ser de un número suficiente tal que se puedan manejar las direcciones a memoria.



Además deben ser capaces de manejar una palabra completa.



A veces se combinan dos registros para conformar uno solo.

R.Mitnik

65

Registros de la CPU 

Registros Control/Estado. 

R.Mitnik

controlar el funcionamiento de la CPU  PC = program counter: contiene la dirección de la instrucción a captar  IR = instruction register: contiene la última instrucción captada  MAR = memory address register: contiene la dirección de una posición de memoria.  MBR = memory buffer register: contiene la palabra de datos a escribir en memoria, o la palabra leída más recientemente

66

Registros de la CPU 

Registros Control/Estado. 

R.Mitnik

Adicionalmente se cuenta con PSW = program status word:  Signo: contiene elbit de signo del resultado de última operación  Cero: puesto a uno cuando el resultado es 0  Acarreo: puesto a uno si en la suma hay acarreo o en la resta hay un adeudo del bit más significativo  Igual: puesto a uno si el el resultado de una comparación lógica es la igualdad  Desbordamiento: Usado para indicar desbordamiento aritmético 67

Registros de la CPU 

Registros Control/Estado. 

Adicionalmente se cuenta con PSW = program status word: (continuación)





R.Mitnik

Interrupciones: usado para permitir o inhabilitar interrupciones Supervisor: indica si la CPU funciona en modo supervisor o usuario. Únicamente en modo supervisor se pueden ejecutar ciertas instrucciones privilegiadas y se puede acceder a ciertas áreas de memoria

68

Partes de la CPU • Ej. Implementació n modificado

contador 00000000

memoria

00

LOAD (07)

01

ADD(09)

02

GOTO(0A)

03

1110000000

04

0110011000

05

0000011000

06

0001111000

07

0000000100

08

1111000000

09

0000000101

0A

0000000000

m u x

0001111000

A L U

IR R.Mitnik

registro

Control & Decode

Señales de Control 69

Partes de la CPU 

Partes de la CPU. 

   



R.Mitnik

Registros  Program Counter  Instruction Register  Uso general ALU FPU Control & Decode Buses Circuitería

70

Resumen Resumen • Distintas arquitecturas • Partes de la CPU y sus funciones – Registros • Visibles • Control/Estado – ALU, FPU – Control & Decode • Decodificación de instrucciones • Señales de control – Buses Internos – Circuitería R.Mitnik

71

GRACIAS

View more...

Comments

Copyright ©2017 KUPDF Inc.