
































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
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
1 / 40
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!

































ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
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
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
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ó
I^
l^
t^
ió
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
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
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
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
El Si t
ti
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
Tratamiento de las excepciones
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
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.
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
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
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
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
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
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