arquitectura de computadoras infraestructura de software
DESCRIPTION
Arquitectura de Computadoras Infraestructura de software. ITCR SSC – I Semestre 2012. Prueba corta #1. Aspectos básicos sobre los ciclos de búsqueda y ejecución de instrucciones Además formule las instrucciones en un lenguaje simbólico por ejemplo: mov A, (940 ). La semana anterior…. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/1.jpg)
ARQUITECTURA DE COMPUTADORASINFRAESTRUCTURA DE SOFTWARE
ITCR SSC – I Semestre 2012
1
![Page 2: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/2.jpg)
Prueba corta #1• Aspectos básicos sobre los ciclos de búsqueda y
ejecución de instrucciones• Además formule las instrucciones en un lenguaje
simbólico por ejemplo: mov A, (940)
2
![Page 3: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/3.jpg)
La semana anterior…• Conceptos introductorios sobre Organización y
Arquitectura de Computadoras:• Definiciones• Modelo de Von Neumann• Pasos para la ejecución de instrucciones (ciclo de búsqueda, ciclo
de ejecución)• …
3
![Page 4: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/4.jpg)
ALGUNOS OTROS ASPECTOS…Conceptos de Organización y Arquitectura de Computadoras
4
![Page 5: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/5.jpg)
Organización a Nivel de Bloques y Buses
5
• Modelo Von Neumann ampliado• Bus: Conjunto de líneas común a varios bloques que permite la
comunicación entre ellos.
![Page 6: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/6.jpg)
Interrupciones• Mecanismo por el cual otros módulos pueden alterar la
secuencia normal de programa • Ejemplo:
• I/O: Del controlador E/S (dato en memoria)
6
![Page 7: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/7.jpg)
Ejemplo
7
![Page 8: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/8.jpg)
Arquitectura de Buses Tradicional
8
![Page 9: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/9.jpg)
Arquitectura de Buses de Altas Prestaciones
9
![Page 10: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/10.jpg)
10
![Page 11: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/11.jpg)
11
![Page 12: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/12.jpg)
Para recordar… PowerMacG5
12
![Page 13: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/13.jpg)
Para recordar… Sony PS2
13
![Page 14: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/14.jpg)
14
![Page 15: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/15.jpg)
Conexión con el Sistema Operativo
15
![Page 16: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/16.jpg)
ARQUITECTURA DE COMPUTADORAS
Infraestructura de software
16
![Page 17: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/17.jpg)
Contenidos• Distintos niveles de abstracción• Infraestructura de software
• Ensamblador• Linker• Loader• Lenguajes de Alto nivel• Simuladores• Relación con Sistema Operativo
17
![Page 18: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/18.jpg)
Niveles de abstracción
6. Nivel de Usuario• A este nivel encontramos las «aplicaciones»• Por ejemplo:
• Procesadores de Texto • Paquetes gráficos• Juegos
• Los niveles «más bajos» son completamente invisibles al usuario final
18
![Page 19: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/19.jpg)
Niveles de abstracción
5. Lenguajes de Alto Nivel• Consisten en lenguajes como C++, C#, JAVA, Lisp. Pascal• Comprenden distintos paradigmas de programación (imperativo,
funcional, lógico, orientado a objetos)• Dichos lenguajes son traducidos (compiladores e intérpretes) a un
lenguaje que la máquina pueda entender.• Los lenguajes compilados se traducen en lenguaje ensamblador y
luego se montan en código máquina (en este momento se pasa al siguiente nivel de abstracción)
• A pesar de que un programador debe saber acerca de los tipos de datos y las instrucciones disponibles para esos tipos, no necesita saber acerca de cómo estos tipos se aplican en realidad.
19
![Page 20: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/20.jpg)
Niveles de abstracción
4. Lenguajes ensamblador• Comprende algún tipo de lenguaje ensamblador (recordemos que varían
de acuerdo a la arquitectura)• Los lenguajes compilados (de alto nivel) se traducen en primera instancia
en ensamblador, para luego ser traducidos a lenguaje máquina
20
![Page 21: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/21.jpg)
Niveles de abstracción
3. Software del sistema• Trata con las instrucciones del sistema operativo.• En este nivel es responsable de los procesos de:
• Multiprogramación, • Protección de la memoria, • La sincronización procesos, • y otras funciones importantes.
• Por lo general, las instrucciones producto de la traducción del lenguaje ensamblador a lenguaje de máquina pasan a través de este nivel sin modificar
21
![Page 22: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/22.jpg)
Niveles de abstracción
2. Arquitectura del conjunto de instrucciones (ISA), o nivel de la máquina
• Consiste en el lenguaje de máquina reconocido por la arquitectura particular de un sistema
• Los programas escritos en lenguaje máquina pueden ser ejecutados directamente por los circuitos electrónicos sin ninguna necesidad de compiladores, traductores o compiladores.
22
![Page 23: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/23.jpg)
Niveles de abstracción
1. Nivel de control• Una unidad de control asegura que las instrucciones se
decodifican y se ejecuta correctamente y que los datos se mueve donde y cuando debe ser.
• La unidad de control interpreta las instrucciones de máquina, una a la vez, desde el nivel superior, provocando las diversas acciones requeridas.
• Pueden estar impresas/escritas en el hardware (hardwired /cableadas) o microprogramadas
• Para el caso de las unidades de control escritas en el hardware, las señales de control provienen directamente de los bloques de componentes de lógica digital, por lo tanto es de suponer que son sumamente rápidas por estar basadas en componentes físicos.
23
![Page 24: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/24.jpg)
Niveles de abstracción
1. Nivel de control• La otra opción, consiste en las unidades de control
microprogramadas. • En este caso, se cuenta con un programa escrito en leguaje de
bajo nivel implementado directamente por el hardware.• Como es de suponer, son populares ya que se pueden modificar
con «relativa facilidad», no obstante, como era de esperar, esta capa adicional; y la traducción respectiva produce una ejecución de instrucciones mucho más lenta.
24
![Page 25: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/25.jpg)
Niveles de abstracción
0. Lógica digital• En este nivel encontramos los componentes físicos de un sistema
computacional, compuertas y cables.• Representan los principales bloques de componentes, los cuales
proveen las distintas implementaciones de lógica matemática, comunes en todos los sistemas computacionales.
25
![Page 26: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/26.jpg)
ENSAMBLADOR, LINKER Y LOADER
Conceptos y generalidades
26
![Page 27: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/27.jpg)
Ensamblador, Linker y Loader
27
![Page 28: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/28.jpg)
Ensamblador, Linker y Loader
• Compilador• Traduce un programa implementado en un lenguaje de alto nivel a
lenguaje ensamblador
• Ensamblador • Convierte programas en lenguaje ensamblador en archivos objeto
• Los archivos objeto contienen una combinación de instrucciones máquina, datos, e información necesario para colocar dichas instrucciones en memoria, y de una manera adecuada.
28
![Page 29: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/29.jpg)
Ensamblador• Son necesarios para:
• Traducir las instrucciones de ensamblado y pseudo-instrucciones en instrucciones de máquina
• Convertir números decimales, otros; especificados porprogramador en binario.
• Por lo general, los ensambladores hacer dos «pasadas» sobre el archivo de ensamblado• Primer paso: lee cada línea y las etiquetas de los registros en una
tabla de símbolos• Segundo paso: utiliza la información en la tabla de símbolos para
producir código de máquina para cada línea
29
![Page 30: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/30.jpg)
Formato del archivo de objeto
30
1. El encabezado; describe el tamaño y la posición del otras partes del archivo.
2. Segmento de texto; contiene las instrucciones de la máquina
3. Segmento de datos; contiene la representación binaria de los datos en archivo de ensamblado
4. información de reubicación; que identifica las instrucciones y los datos que dependen de las direcciones absolutas
5. Tabla de símbolos asociados con las etiquetas de direcciones externas y listas de referencias sin resolver
6. Información de depuración
![Page 31: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/31.jpg)
Procesos para producir un archivo ejecutable
31
![Page 32: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/32.jpg)
Procesos para producir un archivo ejecutable
32
![Page 33: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/33.jpg)
Linker (vinculador, enlazador)• Herramienta que combina los archivos de objetos
producidos por compilación separada o ensamblado y crea un archivo ejecutable
• Tres tareas
• Busca en el programa para encontrar rutinas de librerías utilizadas por los programas, por ejemplo printf(), rutinas matemáticas, ...
• Determina las posiciones de memoria que el código de cada módulo podría ocupar y traslada estas instrucciones porajuste las referencias absolutas
• Resuelve las referencias de los archivos
33
![Page 34: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/34.jpg)
34
![Page 35: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/35.jpg)
35
![Page 36: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/36.jpg)
Loader (cargador)• Parte del sistema operativo que trae un archivo ejecutable
que residen en el disco hacia la memoria e inicia su ejecución
• Pasos• Leer el encabezado del archivo ejecutable para determinar el tamaño
de segmentos de texto (instrucciones) y datos• Crear un nuevo espacio de direcciones para el programa• Copiar las instrucciones y los datos en el espacio de direcciones• Copiar los argumentos pasados al programa en la pila• Inicializa los registros de máquina, incluyendo la pila (stack ptr)• Salta a una rutina de inicio que copia los argumentos de programa de
la pila a los registros y llama a larutina principal
36
![Page 37: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/37.jpg)
MÉTODOS NUMÉRICOS
Aritmética de la computadora
(repaso sobre aspectos básicos)
37
![Page 38: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/38.jpg)
Aritmética de la computadora (recordemos…)
• El usuario se comunica con la computadora en sistema decimal, es decir, introduce en ella y extrae de ella números en base decimal.
• Al recibir los datos, para poder trabajar con ellos, la computadora los convierte al sistema binario, su lenguaje natural de operación.
• Todas las operaciones se efectúan en binario y los resultados obtenidos, antes de ser entregados al usuario, la máquina los convierte al sistema decimal.
• Claro está que la computadora realiza estos procesos a enormes velocidades, de manera que el usuario no se entera de lo que sucede del proceso
38
![Page 39: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/39.jpg)
Aritmética de la computadora (recordemos…)
• Sin embargo, al efectuar las conversiones y realizar los cálculos se suscitan pequeños errores que, si no se prevén, pueden propagarse y arrojar resultados muy inexactos o totalmente absurdos.
• Por eso es tan importante el entender la aritmética de las computadoras e identificar las situaciones en que pueden ocurrir errores severos.
• La operación interna de una computadora se basa en la aritmética binaria, en la que la base es 2 y sólo hay dos símbolos: 0 y 1, pues la memoria de la máquina consiste en un vasto número de dispositivos de registro magnético y electrónico, cada uno de los cuales sólo puede presentar uno de dos posibles estados: magnetizado en un sentido, representando al cero, o magnetizado en el otro sentido, representando al uno.
39
![Page 40: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/40.jpg)
Aritmética de la computadora (recordemos…)
• Cada dispositivo magnético es un dígito binario, denominado bit (abreviatura de "binary digit").
• Los bits se agrupan en unidades llamadas palabras, las cuales pueden contener 8, 16, 32 o 64 bits, dependiendo de la computadora de que se trate
• También se utilizan la unidades denominadas bytes, constituidos generalmente por 8 bits, y utilizados como particiones de palabras, para representar caracteres. Así, por ejemplo, una palabra de 32 bits consta de 4 bytes.
• La manera en que se usan los bits para registrar los números enteros y los números fraccionarios, varía en función del diseño de la computadora
40
![Page 41: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/41.jpg)
Algunos número para recordar…
41
![Page 42: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/42.jpg)
Primero, un repaso, “Números enteros sin signo”
• Resolvamos lo siguiente:
Convertir 147 decimal a binario
42
Si leemos los remanentes de abajo hacia arriba tenemos
![Page 43: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/43.jpg)
Primero, un repaso, “Números enteros sin signo”
• Resolvamos lo siguiente:
Convertir 217 decimal a base 3
43
![Page 44: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/44.jpg)
Primero, un repaso, “Números enteros sin signo”
• Resolvamos lo siguiente:
Convertir C5F (16) a base 10
= 12 * (16^2) + 5 (16^1) + 15 (16^0)
= 12 * 256 + 5 * 16 + 15 * 1
= 3072 + 80 + 15
= 3167
44
![Page 45: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/45.jpg)
Ejercicios• Convertir a binario los números decimales: 321, 1462,
205, 1023, 1024, 135, 45 y 967
• Convertir a decimal los números binarios: 111001, 101000, 100000001, 01111000, 0000011 y 10101
• Convertir a base tres los números decimales 76, 458 y 222
• Convertir a base 16: 3197 (10), 219 (10), 6560 (10), 110 (2), 1001011 (2)
45
![Page 46: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/46.jpg)
Para la próxima semana…• Analizar y repasar los conceptos correspondientes a la
Aritmética para computadoras• Repaso Sistemas Numéricos• Diseño general de una ALU• Enteros con y sin signo• Suma, resta y operaciones lógicas
• Lectura complementaria (se adjunta en el Blog y TEC Digital)
46
![Page 47: Arquitectura de Computadoras Infraestructura de software](https://reader035.vdocuments.net/reader035/viewer/2022062422/568132ba550346895d9978de/html5/thumbnails/47.jpg)
FIN
47