Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Introducción a la Estructura de Computadores en Ingeniería del Software - Prof. Ruiz Ortiz, Apuntes de Ingeniería del Software

Una introducción a la estructura de computadores en el contexto del grado en ingeniería del software. Se abordan conceptos básicos como la arquitectura de un computador, niveles de descripción, procesos de estudio y elementos de entrada y salida. Además, se mencionan aportes importantes en la evolución de la arquitectura von neumann, como sistemas de interrupciones, memoria caché y memoria virtual. El documento también incluye información sobre lenguajes de alto nivel y lenguajes de descripción hardware (hdl).

Tipo: Apuntes

2012/2013

Subido el 13/05/2013

plandevida
plandevida 🇪🇸

4.3

(23)

15 documentos

1 / 40

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 1: Introducción a la estructura de com
p
utadores
p
1. Objetivos de la asignatura.
2. Niveles de descripción de un computador.
3. Estructura básica de un computador convencional.
4. Evolución histórica: tecnología y arquitectura.
5. Lenguajes de descripción hardware.
1
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28

Vista previa parcial del texto

¡Descarga Introducción a la Estructura de Computadores en Ingeniería del Software - Prof. Ruiz Ortiz y más Apuntes en PDF de Ingeniería del Software solo en Docsity!

Tema 1: Introducción a la estructura de computadores

p

1. Objetivos de la asignatura.2. Niveles de descripción de un computador.3. Estructura básica de un computador convencional.4. Evolución histórica: tecnología y arquitectura.5. Lenguajes de descripción hardware.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Introducción a la estructura de computadores

Arquitectura de un computador Conjunto de funcionalidades disponibles para un programador que utiliza el lenguaje máquina,básicamente, el repertorio de instrucciones y los elementos de memoria referenciados desde él,es decir los registros generales y la memoria principales decir, los registros generales y la memoria principal. •

Estructura de un computador Organización internas de los componentes hardware de un computador con el objetivo deimplementar una arquitectura determinada. Una misma arquitectura se puede conseguir condiferentes

estructuras,

diferenciándose

unas

de

otras

fundamentalmente

en

el

coste

y

rendimiento. •

Tecnología de un computador Implementación física de la estructura interna de un computador. Una estructura se puedeimplementar con diferentes tecnologías, siendo nuevamente el coste y el rendimiento los

l

dif

i l

elementos diferenciales. •

Objetivo de la asignatura Abordar

el

estudio

de

la

organización

o

estructura

interna

de

un

computador

Abordar

el

estudio

de

la

organización

o

estructura

interna

de

un

computador

Para situar con mayor precisión el objeto de estudio de la asignatura analizaremos losdiferentes niveles de descripción que se contemplan en el estudio de un computador digital.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Niveles de abstracción en el estudio de un computador digital

ALGORITMOS APLICACIONES SOFTWARE BASICO (S.O.)

LENGUAJES DE ALTO NIVEL

Estructura deComputadores

ARQUITECTURA

TRANFERENCI DE REGISTROS

ELECTRONICO

LOGICO FISICO

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Procesos de estudio:

análisis

y

síntesis

AnálisisAnálisis Parte de la implementación del sistema a un nivel en términos de elementos del nivelinferior y determina la función del sistema, es decir, su

especificación

SíntesisSíntesis Parte de la especificación de un sistema y obtiene su implementación en función de loselementos básicos del nivel inferior.

Análisis

ESPECIFICACION

IMPLEMENTACION

Análisis SíntesisS

es s

Ejemplo:

Síntesis

a b

Sumador

a+barrastre

a^

a+b

a

b

a+b

arrastre

0

0

0

0

E

ifi

I^

l^

t^

b^

arrastre

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

Análisis

E

specificación

Implementación

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Nivel Electrónico

Elementos de entrada

: dispositivos electrónicos (resistencias, transistores, etc.)

OUT

VDD ININ VS

S Circuito eléctrico

Elementos de salida

: biestables y puertas lógicas

Metodología de estudio

: técnicas cuantitativas de análisis en el plano eléctrico-temporal,

fundamentalmente ecuaciones algebraicas y diferenciales.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Nivel Lógico

Elementos de entrada

: biestables y puertas lógicas

S

Q

R

Q NQ

S R

Q

NQ

R

Q

Circuito lógico

Elementos de salida

: módulos combinacionales y secuenciales tales como multiplexores,

codificadores, sumadores, registros, contadores, etc. M

etodología de estudio

: dispone de sus propias técnicas de análisis y síntesis.

Circuitos combinacionales: el álgebra de conmutación (un álgebra de Boole).

Circuitos secuenciales: teoría de las máquinas de estados finitos.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Arquitectura (lenguaje máquina)

Elementos de entrada

: transferencias y transformaciones posibles de información

Elementos

de entrada

transferencias y transformaciones posibles de información

en la ruta de datos.

M

emoria

Registros

Repertorio de instrucciones

LDR

Ri

Dj

LDR

Ri

, Dj

STR Ri, DjADD Ri, Rj

Elementos de salida

: lenguaje máquina definido por:

Repertorio de instrucciones

: formatos direccionamiento

etc

Repertorio

de instrucciones

:^

formatos, direccionamiento, etc.

Memoria

y conjunto de

registros

referenciables por las instrucciones.

Metodología de estudio

: tecnología e ingeniería del software.

Dos planteamientos para el nivel máquina de un computador: CISC

Complex Instruction Set Computers

): define un repertorio de instrucciones complejo

y numeroso, con muchos tipos de direccionamiento y modos de control.y numeroso, con muchos tipos de direccionamiento y modos de control. RISC

Reduced Instruction Set Computer

): simplifica la complejidad y el número de

instrucciones, dejándolo reducido a un conjunto pequeño y rápido

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Software básico (sistema operativo)

El Si t

O

ti

(SO)

tit

i^

l d l

i

ti

l^

d

á

El

Sistema Operativo (SO) no constituye un nivel del mismo tipo que los demás.

Se trata de un gestor de determinados recursos del nivel máquina que por la frecuencia y complejidad de uso resulta más eficiente utilizarlos de modo conjunto.

p

j

j

En los primeros computadores las funciones del SO eran escasas, limitadas básicamente a la carga del programa y a la entrada salida. •

Las competencias del SO han ido aumentando en las máquinas modernas, que funcionan en entornos multiusuario y multitarea y que requieren una gestión de todos los recursos de lamáquina:

q

  • CPU- Jerarquía de memoria,

Tratamiento de las excepciones

  • Tratamiento de las excepciones- Mecanismos de protección- Gestión de archivos, etc.

El protagonismo del SO en un computador actual hace que cuando se diseña su arquitectura se tengan muy en cuenta sus funciones.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Algoritmos

En el nivel algorítmico se expresa la resolución de un problema mediante un conjunto de reglas aplicadas de forma sistemática y ordenada. •

Los

procedimientos

que

define

un

algoritmo

son

independientes

de

cualquier

lenguaje

de

Los

procedimientos

que

define

un

algoritmo

son

independientes

de

cualquier

lenguaje

de

programación y de cualquier máquina particular.

Aplicaciones

Las

aplicaciones

se

corresponden

con

dominios

de

actividad

que

pueden

automatizarse

con

Las

aplicaciones

se

corresponden

con

dominios

de

actividad

que

pueden

automatizarse

con

el uso de un computador digital. •

Del análisis del dominio se extraen unas especificaciones funcionales que son expresadas mediante algoritmos. •

Codificados estos algoritmos en un lenguaje de programación y previa compilación, se ejecutan en la máquinaejecutan en la máquina.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Inconvenientes de la división entre niveles

Cuando se implementa una especificación deben cumplirse los requerimientos funcionales y

Cuando

se implementa una especificación deben cumplirse los requerimientos funcionales y

optimizar una función de calidad relacionada con la velocidad (

max

) y/o el costo (

min

En ocasiones contemplar tan solo los niveles frontera de un nivel en el que se plantea un problema de diseño puede dar lugar a la imposibilidad de optimizar la implementaciónproblema de diseño puede dar lugar a la imposibilidad de optimizar la implementación. Ejemplo

: diseño de un multiplexor con conmutadores bidireccionales

X

S

S

1

Z

X3 X2 X1 X

MUX

S

S

S

S

X3 X2 X

Razonando directamente en elnivel electrónico, sin pasar porel lógico

se obtiene en este

6

transistores

X

S

S

X

el lógico, se obtiene en estecaso un multiplexor con menornúmero de transistores

Especificación

Nivel electrónico

X3 X

1

1

X1 X

Nivel lógico

Nivel electrónico

3*4 + 4 = 16transistores

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Principios de funcionamiento de la arquitectura von Neumann

S

b

l^

t^

d

l^

d

i

l^

l^

i^

l

Se basa en el concepto de

programa almacenado

en memoria en el que laa memoria almacena

Instrucciones: programa que controla el funcionamiento del computador

ƒ

Datos: datos que procesa y genera dicho programa

Las palabras en memoria siguen una

organización lineal

Todas las palabras de memoria tienen el mismo tamaño

No hay distinción explícita entre instrucciones y datosNo

hay distinción explícita entre instrucciones y datos

La

ejecución secuencial

de las instrucciones

El secuenciamiento de las instrucciones es implícito, y viene determinado por el orden enque han sido almacenadas en la memoria

Este secuenciamiento sólo puede ser modificado por instrucciones específicas de salto

El

contador de programa

indica en cada instante cual es la siguiente instrucción a ejecutar

Las fases de ejecución de una instrucción son:

Búsqueda

de la instrucción en memoria y cálculo de la direcc. de instrucción siguiente

Descodificación

de la instrucción por parte de la CPU

Descodificación

de la instrucción por parte de la CPU

Búsqueda de los operandos

Ejecución

Escritura

del resultado

Escritura

del

resultado

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Modelo de ejecución

swap(intv[], int k)v[k] =v[k+1];v[k+1] =temp;}

swap(int

v[], int k)

{

int temp;temp

= v[k];

Lenguaje Alto Nivel

p

v[k] = v[k+1];v[k+1] = temp;

}

Compilador C

swap:

muli

$2,

$5,

add

$2, $4,$

Lenguaje Ensamblador

Compilador C

l

w

$15, 0($2)

lw

$16, 4($2)

sw

$16, 0($2)

sw

$15, 4($2)

jr

$

0000000010100001000000000001100000000000100011100001100000100001 Lenguaje Máquina

Ensamblador

1000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Aportaciones sobre la arquitectura von Neumann: Sistema de memoria caché

Permite disminuir el tiempo de acceso a la memoria principal(Mp) ubicando una memoria de menor tamaño y mayor velocidad (memoria cache, Mc) entre la CPU y Mp. •

El sistema explota la localidad de referencia de los programas haciendo que Mc contenga en

El sistema explota la localidad de referencia de los programas haciendo que Mc contenga en cada momento los bloques de Mp más referenciados, y evitando así que la CPU tenga queacceder a Mp:

CPU

palbras

Memoria cache

(Mc)

Memmoria principal

(Mp)

bloques

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Aportaciones sobre la arquitectura von Neumann: Sistema de memoria virtual

Permite la ejecución de programas cuyo tamaño supere el de la Mp.

Para ello el sistema mantiene en Mp sólo el conjunto de páginas activas (con mayor probabilidad de ser referenciadas) del programa en ejecuciónprobabilidad de ser referenciadas) del programa en ejecución. •

Las restantes páginas residen en la memoria secundaria, hasta que son referenciadas,

en

cuyo caso el sistema las activa llevándolas a Mp:

Memoria principal

(Mp)

páginas

Memoria secundaria

(Ms)

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE