Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Computador
UNTELS 2019 - II
Maquina de von neumann
Bus de direcciones;
◦ Dirección para acceder a
una posición de memoria o E/S
Bus de datos
Bus de control
Niveles de abstracción en el diseño vlsi
Principio de funcionamiento de un microprocesador
El microprocesador ejecuta instrucciones almacenadas como números binarios
organizados secuencialmente en la memoria principal.
◦ Preselecciona (PreFetch): pre-lectura de la instrucción desde la memoria principal.
◦ Selecciona (Fetch): envío de la instrucción al decodificador.
◦ Decodificación (Decode) de la instrucción: determinar qué instrucción es y por
tanto qué se debe hacer.
◦ Lectura de operandos (si los hay)
◦ Ejecución (Execute): lanzamiento de las máquinas de estado que llevan a cabo el
procesamiento.
◦ Escritura (Store) de los resultados en la memoria principal o en los registros.
Cada una de estas fases se realiza en uno o varios ciclos de CPU
Operación de una CPU
Simplificando el Microprocesador
◦ Fetch Unit gets the next instruction from the cache.
◦ Decode Unit determines type of instruction.
◦ Instruction and data sent to Execution Unit.
◦ Write Unit stores result.
Proceso secuencial
Proceso secuencial de trabajo, una instrucción a la vez.
Pipelined Processing (486)
◦ Latency — elapsed time from start to completion of a particular task
◦ Throughput — how many tasks can be completed per unit of time
◦ Pipelining only improves throughput
◦ Each job still takes 4 cycles to complete
Microprocesador
EL bus de direcciones es de 16 bits, las direcciones van de 0000H
hasta FFFFH. La dirección del 8086 contiene 1M byte de memoria,
esto usando una dirección de 20 bits que selecciona la locación de
00000H a FFFFFH.
Assembler
◦ Translates assembly to machine
240 Review: Insn Execution Model
App App App
The computer is just finite state machine
◦ Registers (few of them, but fast)
System software
◦ Memory (lots of memory, but slower)
◦ Program counter (next insn to execute)
Mem CPU I/O
◦ Sometimes called “instruction pointer”
A computer executes instructions
◦ Fetches next instruction from memory
Fetch ◦ Decodes it (figure out what it does)
Decode
◦ Reads its inputs (registers & memory)
Read Inputs
◦ Executes it (adds, multiply, etc.)
Execute
Write Output ◦ Write its outputs (registers & memory)
Next Insn ◦ Next insn (adjust the program counter)
Program is just “data in memory”
Instruction Insn ◦ Makes computers programmable (“universal”)
Lenguaje de programación
Lenguaje de maquina:
◦ Es el lenguaje únicamente entendido por la computadora
◦ Es diferente para cada proceso pero es compatible para
actualizaciones
◦ Es de rápida ejecución y puede control cada componente en el
sistema
◦ Programación compleja y necesita comprender su configuración
Lenguaje ensamblador
◦ Fácil de programar
◦ Requiere de assembler para convertir a lenguaje de maquina
Jerarquía de diseño de la computadora
Nivel de Diseño de software
Nivel de lenguaje de aplicación
Lenguaje de alto nivel
Lenguaje ensamblador
Lenguaje de Maquina
Nivel de diseño de Hardware
Nivel de transferencia de registros
Nivel de compuertas
Nivel de transistores
Lenguaje de programación
Lenguaje de alto nivel
◦ Resuelve todo los problemas sin prestar atención al CPU y la
configuración
◦ Fácil de escribir incluido el trabajo con cálculos de punto flotante.
◦ Difícil de controlar el hardware
◦ C++, Pascal, Basic, Python…
Lenguaje de programación
Lenguaje de maquina:
Lenguaje ensamblador
oCF (Carry Flag, bit 0): Si vale 1, indica que hubo "arrastre" (en caso de suma o
resta) desde el bit de orden más significativo del resultado.
oPF (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un
número par de bits a 1.
oAF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "arrastre" o
"préstamo" del nibble (cuatro bits) menos significativo al nibble más
significativo.
oZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es
cero.
Registros de la unidad de interfaz con el bus:
El programador puede acceder a cinco registros de 16 bits cada
uno, siendo cuatro de ellos registros de segmento y el restante el
puntero de instrucción (IP).
Los registros de segmento se llaman:
CS: Registro de segmento de código.
DS: Registro de segmento de datos.
ES: Registro de segmento extra.
SS: Registro de segmento de pila.
Repertorio de instrucciones
El repertorio de instrucciones de los microprocesadores 8086 y
80286 son agrupados según el tipo de operación:
•De transferencia de datos.
•Aritméticas, lógicas, desplazamiento y rotación.
•De cadenas.
•De manipulación de bits.
•De control de programas.
•De control de máquina.
Repertorio de instrucciones
Las instrucciones de transferencia de datos consisten en copiar,
mover o intercambiar datos entre, registros o registro-memoria o
registro-puerto E/S:
mov ah,4ch
int 21h
end
LENGUAJE DE MÁQUINA
El lenguaje de máquina es el código binario que el microprocesador utiliza
para identificar instrucciones y controlar su funcionamiento.
Es el lenguaje mas básico, propio de cada computadora. Este código es una
cadena de unos y ceros (sistema binario)
Código operación D W
Wakeup
Interrupt
Controller (WIC) Internal Bus System
Power
Management AHB-Lite
Interface Bus Interface
R5
General Purpose
Register
R6
R7
R8
R9
R10 High
Registers
R11
R12 MSP
Stack Pointer (SP) R13(banked) Main Stack Pointer
1110|00|0|0100|0|0001|0000|000000000010