Galería de mapas mentales Principios de composición informática.
Resumen de conocimientos sobre principios de composición informática. Implica muchos aspectos del conocimiento, como instrucciones por computadora, representación numérica, principios de multiplicador y divisor, sistema de instrucción MIPS, etc. Ayuda a los estudiantes de los principios de composición por computadora a ordenar la estructura del conocimiento, dominar rápidamente los principios y la tecnología de composición por computadora y establecer una base sólida. fundamento informático.
Editado a las 2024-03-02 22:24:43,El cáncer de pulmón es un tumor maligno que se origina en la mucosa bronquial o las glándulas de los pulmones. Es uno de los tumores malignos con mayor morbilidad y mortalidad y mayor amenaza para la salud y la vida humana.
La diabetes es una enfermedad crónica con hiperglucemia como signo principal. Es causada principalmente por una disminución en la secreción de insulina causada por una disfunción de las células de los islotes pancreáticos, o porque el cuerpo es insensible a la acción de la insulina (es decir, resistencia a la insulina), o ambas cosas. la glucosa en la sangre es ineficaz para ser utilizada y almacenada.
El sistema digestivo es uno de los nueve sistemas principales del cuerpo humano y es el principal responsable de la ingesta, digestión, absorción y excreción de los alimentos. Consta de dos partes principales: el tracto digestivo y las glándulas digestivas.
El cáncer de pulmón es un tumor maligno que se origina en la mucosa bronquial o las glándulas de los pulmones. Es uno de los tumores malignos con mayor morbilidad y mortalidad y mayor amenaza para la salud y la vida humana.
La diabetes es una enfermedad crónica con hiperglucemia como signo principal. Es causada principalmente por una disminución en la secreción de insulina causada por una disfunción de las células de los islotes pancreáticos, o porque el cuerpo es insensible a la acción de la insulina (es decir, resistencia a la insulina), o ambas cosas. la glucosa en la sangre es ineficaz para ser utilizada y almacenada.
El sistema digestivo es uno de los nueve sistemas principales del cuerpo humano y es el principal responsable de la ingesta, digestión, absorción y excreción de los alimentos. Consta de dos partes principales: el tracto digestivo y las glándulas digestivas.
Principios de composición informática.
Descripción general y tecnología de la computadora
introducción
Clasificación de computadoras y sus características.
Computadora personal
servidor
Ejecute tareas de carga pesada con acceso a la red
supercomputadora
servidor de alta gama
Aviso
TB: 10^12 bytes
TiB: 2^40 bytes
computadora integrada
la mayor cantidad
Era posterior a la PC
Dispositivo móvil personal PMD
Teléfonos inteligentes, tabletas
computación en la nube
Un gran clúster de servidores que proporciona servicios en la red.
8 grandes ideas en arquitectura de sistemas informáticos
Diseño para la ley de Moore
El nivel de integración en un solo chip se duplica cada 18 a 24 meses, y los diseñadores de computadoras deben predecir el nivel del proceso cuando se completa el diseño en lugar de cuando se inicia.
Utilice abstracciones para simplificar el diseño.
Utilice la abstracción para representar diferentes niveles de diseño. Los detalles de bajo nivel no se pueden ver en el nivel superior y solo se puede ver un modelo simplificado.
Acelerar eventos de alta probabilidad
Es mucho mejor mejorar el rendimiento que optimizar para eventos de baja probabilidad
Mejorar el rendimiento mediante el paralelismo
Mejore el rendimiento con canalización
Un escenario paralelo especial, similar al paso de relevos de cubos.
Mejore el rendimiento con predicciones
Suponiendo que la recuperación de predicciones erróneas no es costosa y que la precisión de las predicciones es relativamente alta, realice ciertas operaciones con anticipación adivinando
jerarquía de memoria
La capa superior es rápida, tiene poca capacidad y es cara, pero la capa inferior es todo lo contrario.
Aumente la confiabilidad a través de la redundancia
Las piezas redundantes pueden reemplazar piezas defectuosas y ayudar a detectar errores
Introducción a los conceptos de programación
jerarquía del sistema informático
Computadora von Neumann
El sistema de hardware de la computadora consta de unidades aritméticas, controladores, memoria y dispositivos de E/S.
Utilice codificación binaria para representar datos.
Unificar programas y datos
Las computadoras tienen la capacidad de procesar instrucciones secuenciales.
software
Capa de aplicación
Principios del sistema de base de datos
capa de algoritmo
Estructura de datos, diseño y análisis de algoritmos.
capa de lenguaje de alto nivel
Conceptos básicos de programación, programación en C.
capa del sistema operativo
Principios de compilación, sistemas operativos.
software del sistema
Sistema operativo
Manejar entradas y salidas básicas
Asignar aldea exterior y memoria.
Proporciona servicios para compartir recursos informáticos entre múltiples aplicaciones.
Compilador
Traducir programas escritos en lenguajes de alto nivel en instrucciones que puedan ejecutarse mediante hardware.
Capa del sistema de instrucciones: conjunto de instrucciones
Principios de composición informática.
hardware
Capa del sistema de instrucciones: conjunto de instrucciones
Principios de composición informática.
Capa lógica: operaciones lógicas, circuitos de puerta.
Matemáticas discretas, lógica digital.
Del lenguaje de alto nivel al lenguaje de hardware
bit binario
elementos básicos de información
instrucción
Comandos que el hardware de la computadora comprende y obedece.
ensamblador
Traducir automáticamente instrucciones en forma mnemotécnica al binario correspondiente
lenguaje ensamblador
Instrucciones de máquina expresadas en forma mnemotécnica
Lenguaje de máquina
Una instrucción de máquina expresada como un elemento binario.
lenguaje de programación de alto nivel
Los lenguajes portátiles como C, C, Java, Visual y Visual Basic se componen de palabras y símbolos algebraicos y el compilador puede convertirlos en lenguaje ensamblador.
rendimiento de la computadora
criterios de evaluación del desempeño
Rendimiento y tiempo de respuesta
tiempo de respuesta tiempo de respuesta
Tiempo de ejecución, el tiempo total requerido para que una computadora complete una tarea, incluido el acceso al disco duro, el acceso a la memoria, las actividades de E/S, la sobrecarga del sistema operativo y el tiempo de ejecución de la CPU, etc.
rendimiento
El ancho de banda representa la cantidad de tareas completadas por unidad de tiempo.
desempeño relativo
Medición del desempeño
Período de reloj y frecuencia de reloj.
ciclo de reloj
Los sistemas informáticos utilizan relojes para controlar varias cosas que suceden en el hardware.
El ciclo del reloj es el tiempo del intervalo del reloj, es decir, el tiempo de un ciclo del reloj.
Frecuencia de reloj
recíproco del periodo de reloj
tiempo de ejecución de la CPU
El tiempo dedicado a la CPU para ejecutar una determinada tarea (excluyendo IO y el tiempo dedicado a otras tareas)
Tiempo de CPU del usuario
El tiempo que tarda la CPU en ejecutar programas de usuario.
Tiempo de CPU del sistema
Tiempo de CPU empleado por el sistema operativo al servicio de los usuarios
Rendimiento de la instrucción
IPC
Ciclos de reloj por instrucción
Número promedio de ciclos de reloj de la CPU por instrucción
Fórmula clásica de rendimiento de la CPU
Tiempo de ejecución de CPU de un programa. =Número de ciclos de reloj de la CPU para un programa x tiempo de ciclo de reloj =Número de ciclos de reloj de la CPU para un programa/frecuencia de reloj
Número de ciclos de reloj de la CPU para un programa = El número de instrucciones en el programa x el número promedio de ciclos de reloj por instrucción (CPI)
Tiempo de CPU = número de instrucciones x tiempo de ciclo de reloj CPIx =número de instrucciones xCPI/frecuencia de reloj
Aviso
El número de instrucciones depende de la arquitectura de la computadora y no depende de la computadora. Implementación
El CPI está estrechamente relacionado con varios detalles de diseño de la computadora, incluido el sistema de almacenamiento. y arquitectura del procesador
El CPI es diferente para diferentes aplicaciones y diferentes implementaciones del mismo conjunto de instrucciones.
Se deben considerar los tres factores al comparar dos computadoras.
Factores relacionados con el desempeño del programa
Introducción a los conceptos de hardware
Componentes de la computadora
Ruta de datos
Operaciones aritméticas y lógicas completas, que generalmente incluyen registros.
control
Un componente de la CPU, dirige las operaciones de ruta de datos, memoria y E/S de acuerdo con las instrucciones del programa para completar conjuntamente las funciones del programa.
memoria
Un lugar donde se almacenan los programas en tiempo de ejecución y los datos que requieren.
aporte
Equipos informáticos para transportar información, como teclado, ratón, etc.
pantalla táctil
detección capacitiva
producción
Dispositivos que muestran resultados de cálculo a los usuarios, como monitores, discos, impresoras, parlantes, etc.
monitor
LCD
La pantalla LCD no es una fuente de luz, sino un dispositivo de control para la transmisión de luz.
Visualización de matriz dinámica
Uso de transistores para controlar la transmisión de luz en píxeles individuales
Píxel
La unidad más pequeña de elementos de imagen.
hardware
UPC
Ruta de datos
Operaciones aritméticas completas.
controlador
Guíe las rutas de datos, las memorias y los dispositivos de E/S para que se ejecuten correctamente de acuerdo con las instrucciones del programa.
Cache
Memoria estática de acceso aleatorio (SRAM)
Rápido, caro
memoria
Tiempo de acceso y capacidad
Principios de construcción y lectura y escritura.
memoria principal
Memoria dinámica de acceso aleatorio DRAM
unidad de almacenamiento básica
construcción y representación
La información se almacena en el condensador CS y T es el tubo de control de la puerta, que controla la entrada y salida de datos. Su puerta está conectada a la selección de lectura/escritura. La línea (línea de palabra), el drenaje y la fuente están conectados a la línea de datos (línea de bits) y al condensador de memoria CS, respectivamente. datos 1 o 0 al condensador CS Puede juzgarse por la presencia o ausencia de carga eléctrica.
Principios de lectura y escritura.
Agregue un nivel alto a la línea de selección (palabra) para encender el tubo T. Al escribir "0", agregue un nivel bajo a la línea de datos para hacer que la carga en CS se descargue en la línea de datos; Al escribir "1", agregue un nivel alto a la línea de datos para cargar la línea de datos a CS; Al leer, hay un voltaje de lectura en la línea de datos. Es proporcional al monto del cargo en CS.
Componente central: transistor MOS
Ilustración de operaciones de lectura, escritura y actualización.
Estructura lógica del chip
tira del módulo de memoria
Utiliza una cierta cantidad de chips de memoria en una pequeña placa de circuito impreso en forma de tira para formar un módulo de memoria con una capacidad de almacenamiento fija.
Clasificación
30 pies
Línea de datos de 8 bits, capacidad 256 KB ~ 32 MB
72 pies
bus de datos de 32 bits
Más de 100 pies
Se utiliza tanto para bus de datos de 32 bits como para bus de datos de 64 bits, capacidad de 4 MB a 512 MB
Otras memorias dinámicas de acceso aleatorio
Memoria de acceso aleatorio dinámica síncrona SDRAM
Memoria dinámica de acceso aleatorio con interfaz síncrona. Por lo general, la memoria dinámica de acceso aleatorio (DRAM) tiene una interfaz asíncrona para que pueda responder a cambios en la entrada de control en cualquier momento. SDRAM tiene una interfaz de sincronización que espera una señal de reloj antes de responder a la entrada de control, para que pueda sincronizarse con el bus del sistema de la computadora. El reloj se utiliza para controlar una máquina de estados finitos que canaliza las instrucciones entrantes. Esto permite que la SDRAM tenga un modo operativo más complejo en comparación con la DRAM asíncrona sin una interfaz síncrona.
Memoria de acceso aleatorio dinámica síncrona de doble velocidad de datos DDR SDRAM
Es una SDRAM con doble velocidad de transferencia de datos. Su velocidad de transferencia de datos es el doble de la frecuencia del reloj del sistema. Debido al aumento de velocidad, su rendimiento de transferencia es mejor que el de la SDRAM tradicional.
El número de pines en un lado de la memoria es 92 (184 en ambos lados), hay 52 pines en el lado izquierdo de la muesca y 40 pines en el lado derecho de la muesca;
La segunda generación de memoria de acceso aleatorio dinámico síncrono de doble velocidad de datos DDR2 SDRAM
Proporciona un rendimiento operativo más alto y un voltaje más bajo que la SDRAM DDR y es la sucesora de la SDRAM DDR (memoria de acceso aleatorio dinámico síncrona de doble velocidad de datos).
Hay 120 pines en el lado simple de la memoria (240 pines en el lado doble), 64 pines en el lado izquierdo de la muesca y 56 pines en el lado derecho de la muesca;
La tercera generación de memoria SDRAM DDR3 de acceso aleatorio dinámico síncrono de doble velocidad de datos
Proporciona un rendimiento operativo más alto y un voltaje más bajo que la SDRAM DDR2, y es la sucesora de la SDRAM DDR2 (memoria de acceso aleatorio dinámica síncrona de velocidad de datos cuádruple) (aumentada a ocho veces).
También hay 120 pines en el lado simple de la memoria (240 pines en el lado doble), 72 pines en el lado izquierdo de la muesca y 48 pines en el lado derecho de la muesca.
disco
Diagrama esquemático de apariencia y estructura.
principio de funcionamiento
Escritura 1: la bobina pasa corriente directa, lo que la convierte en estado NS
Escriba 0: la bobina pasa corriente inversa, lo que la convierte en estado SN
Lectura: El cabezal magnético está estacionario y el portador se mueve. Debido a que las líneas del campo magnético fuera de la pequeña unidad magnetizada en el soporte forman un circuito cerrado a través del núcleo del cabezal magnético, se obtiene un voltaje inducido en ambos extremos de la bobina del núcleo. Dependiendo de la polaridad se puede leer 1 o 0
estructura de almacenamiento
memoria flash
Una memoria de lectura/escritura no volátil de alta densidad desarrollada sobre la base de elementos de almacenamiento EPROM.
La alta densidad significa que tiene una gran cantidad de bits de capacidad de almacenamiento.
No volátil significa que los datos almacenados se pueden conservar durante mucho tiempo sin energía.
Tiene las ventajas de RAM y ROM, lo que puede considerarse como un progreso histórico en la tecnología de almacenamiento.
CD
Principio de lectura
Todos los sistemas de disco óptico de sólo lectura (CD-ROM) se basan en un principio común, es decir, la información del CD se distribuye en forma de hoyos, con hoyos representados como "1" y sin hoyos como "0". una serie de hoyos (elemento de memoria) forma un registro de información.
Para los discos CDROM utilizados para el almacenamiento de datos, esta distribución de pozos sirve como marca de escritura o lectura de los códigos digitales "1" y "0". Para ello se debe utilizar un láser como fuente de luz y para ello se puede utilizar un buen sistema óptico.
La información grabada en el disco óptico se almacena permanentemente en forma de hoyos. Durante la lectura, cuando el punto de enfoque del rayo láser se irradia sobre la fosa Se producirá difracción y la reflectividad será baja; la mayor parte de la luz regresará cuando el foco golpee una superficie convexa. basado en luz reflejada La información registrada se puede leer cambiando la intensidad de la luz y realizando una conversión fotoeléctrica.
estructura de almacenamiento
La pista en la que se registra la información se llama pista ligera. La pista óptica se divide en sectores, que son las unidades direccionables más pequeñas del disco óptico. La estructura del sector se muestra en la figura.
cinta
El principio de grabación de una unidad de cinta es básicamente el mismo que el de una unidad de disco magnético, excepto que su soporte magnético es una tira de plástico llamada cinta magnética. Al escribir, el código de información se puede grabar en la cinta a través del cabezal magnético. Cuando la cinta con el código grabado se mueve debajo del cabezal magnético, se puede inducir una fuerza electromotriz en la bobina del cabezal magnético, es decir, se puede leer el código de información. El equipo de almacenamiento en cinta consta de dos partes: una unidad de cinta y una cinta. Generalmente se utiliza como copia de seguridad de datos para equipos de almacenamiento masivo.
La cinta es más lenta que el disco porque se accede a los datos de la cinta de forma secuencial, mientras que al disco se accede de forma aleatoria.
Clasificación
Cinta de 1/4 de pulgada (QIC)
36-72 pistas, grabación de datos en paralelo
Capacidad 80 MB ~ 1,2 GB
Cinta de audio digital (DAT)
escaneo de rotación
Capacidad 12GB
cinta de 8 mm
Capacidad 25GB
Cinta lineal digital (DLT)
Capacidad máxima 35GB
Tecnología de fabricación de procesadores y memorias.
transistor
Interruptor simple controlado por señal eléctrica.
circuito integrado
Un chip hecho de miles de transistores
circuito integrado a gran escala
Circuitos compuestos de cientos de miles a millones de transistores.
Muro de consumo de energía de la CPU
Problema con el muro eléctrico
La tecnología de circuito integrado dominante es CMOS, cuyo principal consumo de energía La fuente es la disipación de potencia dinámica, es decir, la potencia disipada durante el proceso de conmutación del transistor. Consumo de energía = capacitancia de carga x voltaje² x frecuencia de conmutación ▪ Frecuencia de conmutación en función de la frecuencia del reloj ▪ La capacitancia de carga es función del número de transistores conectados a la salida y del proceso. ▪ Actualmente, cada generación de CPU reduce el voltaje para compensar el consumo de energía provocado por el aumento de frecuencia. Crecimiento, en 20 años, el voltaje se ha reducido de 5V a 1V
Cómo mejorar aún más el rendimiento de la computadora
Usar una tecnología de enfriamiento más fuerte es costoso
Pasar del monoprocesador al multiprocesador
■En el pasado, los programadores podían confiar en las innovaciones en hardware, arquitectura y compiladores para duplicar las capacidades de sus programas cada 18 meses sin modificar el código. ■Ahora, los programadores que quieran mejorar significativamente los tiempos de respuesta deben reescribir sus programas y, a medida que el número de núcleos continúa duplicándose, los programadores deben seguir mejorando su código.
Ejemplos de fabricación de CPU
Material semiconductor: silicio
Agregar ciertos materiales al silicio usando productos químicos especiales puede transformar áreas pequeñas en
buen conductor
buen aislante
conductor o aislante controlable
Los circuitos VLSI están formados por cientos de millones de combinaciones de los materiales anteriores.
instrucciones de computadora
Conceptos básicos, sistema de instrucción MIPS.
Conceptos básicos de instrucciones.
Tres niveles de lenguaje informático.
lenguaje de alto nivel
Lenguaje ensamblador (escribir programas usando mnemónicos de instrucción)
Lenguaje de máquina (escribir programas con códigos de instrucción)
Es un sistema de conjuntos de instrucciones. Este conjunto de instrucciones se llama código de máquina, que son datos que la CPU puede interpretar directamente.
Comandos y sistemas de mando
instrucción
La unidad funcional más pequeña de operación de una computadora es un comando que dirige el funcionamiento del hardware de la computadora. Es una cadena de bits compuesta de múltiples bits binarios.
Todas las instrucciones proporcionadas por una computadora constituyen el sistema de instrucción de la computadora. Los programadores utilizan instrucciones para indicarle a la computadora que realice una operación básica y una función de procesamiento. Varias instrucciones pueden formar un programa para completar una tarea esperada.
sistema de comando
definición
Todas las instrucciones proporcionadas por una computadora constituyen el sistema de instrucción de la computadora.
Los programadores utilizan instrucciones para indicarle a la computadora que realice una operación básica o una función de procesamiento.
ejemplo
X86
sistema
ventanas, linux
chip
Intel, AMD
CISC
BRAZO
sistema
Android, iOS, Windows móvil
chip
Boca de dragón, manzana, Kirin
MIPS
sistema
linux
chip
Ahijado nº 3
RISC
CISC y RISC
El desarrollo de sistemas de mando.
Computadora con conjunto de instrucciones complejas CISC
Cientos de instrucciones y un enorme sistema de instrucciones alargan el ciclo de desarrollo de la computadora, lo que dificulta garantizar la precisión y dificulta la depuración y el mantenimiento. Se utiliza una gran cantidad de instrucciones complejas con baja frecuencia de uso, lo que resulta en un desperdicio de recursos de hardware.
RISC
La suma de la frecuencia de uso de las diez instrucciones más utilizadas en el conjunto de instrucciones X86 llega al 96%
conjunto de instrucciones MIPS
Operaciones de hardware informático MIPS
significado
Chip microprocesador RISC sin etapa de tubería de enclavamiento interno
solicitud
supercomputadora SGI
Sistemas embebidos
enrutador
equipo de juego
loongson chino
Diagrama del sistema informático MIPS de 32 bits
Conceptos básicos y conocimientos previos.
bit, byte, palabra
bitbit
Un bit en binario, la unidad de información más pequeña
Bytebyte
8 bits
palabra palabra
Un término que representa una unidad de datos.
El número de bits de una palabra (longitud de la palabra) es una característica importante de la arquitectura del sistema informático.
La longitud de las palabras de las computadoras modernas suele ser de 32 o 64 bits.
Almacenamiento de datos en la memoria.
memoria
Puede verse como una matriz de bytes.
Cada byte tiene un índice único: dirección
Al acceder a un byte de memoria, se requiere una dirección
Una palabra ocupa varios bytes.
32 bits
1 palabra = 4 bytes
64 bits
1 palabra = 8 bytes
La palabra dirección es la dirección del primer byte que contiene.
La dirección inicial de la palabra debe ser múltiplo de 4.
Orden de almacenamiento de bytes
direccionamiento little-endian
Little endian bytes como dirección de palabra
direccionamiento big endian
Byte big endian como dirección de palabra
Representación binaria de instrucciones MIPS
Las instrucciones MIPS son todas instrucciones de una sola palabra (longitud de la instrucción = longitud de la palabra de la máquina)
Equipo MIPS
procesador MIPS
32 registros de propósito general
El tamaño de cada registro es igual al tamaño de una sola palabra, 32 bits.
registro MIPS
Memoria de computadora MIPS (32 bits)
En los sistemas informáticos MIPS (32 bits), las direcciones son cadenas binarias de 32 bits.
La capacidad máxima de memoria es 2^32Bytes/2^30Words
La dirección inicial de la palabra debe ser múltiplo de 4.
Funciones de computadora MIPS de 32 bits
Los registros se utilizan para un acceso rápido a los datos. En MIPS, solo se pueden realizar operaciones aritméticas con números almacenados en registros. El registro $zero es siempre 0, y el ensamblador reserva el registro $at para procesar constantes grandes.
Solo se puede acceder a la memoria mediante instrucciones de transferencia de datos. MIPS utiliza direccionamiento de bytes, por lo que las direcciones de palabras consecutivas difieren en 4. Memoria utilizada para contener estructuras de datos, matrices y registros de desbordamiento.
Operandos de hardware de computadora MIPS
Registrar operandos y operandos de memoria.
Registrar operando
Los operandos para operaciones aritméticas deben provenir de registros.
Las computadoras MIPS tienen 32 registros, cada registro tiene un tamaño de 32 bits
Por ejemplo
operando de memoria
instrucciones de transferencia de datos
definición
Instrucciones que transfieren datos entre la memoria y los registros.
Clasificación
Obtener instrucción lw (cargar palabra)
Almacenar palabra sw (almacenar palabra)
Registro desbordado
definición
La cantidad de variables del programa excede con creces la cantidad de registros. El proceso de almacenar variables poco comunes en la memoria.
Los datos en los registros son más fáciles de usar.
Una instrucción aritmética MIPS puede leer dos registros, realizar operaciones y almacenar el resultado.
Una instrucción de transferencia de datos MIPS solo puede leer o escribir un operando.
En comparación con la memoria, los registros tienen un tiempo de acceso más corto y una mayor tasa de rendimiento. El acceso a los registros consume menos energía que la memoria.
Para lograr un mayor rendimiento y ahorrar energía, el compilador debe utilizar los registros de manera eficiente
Operando constante o inmediato
Proporcionar un operando directamente en la instrucción.
El registro $zero siempre se establece en 0
Operaciones constantes o inmediatas.
agregar inmediato
Números inmediatos y andi rt rs,imm
Instrucción inmediata de recuperación de bits altos lui rt,imm
Obtenga el número inmediato más alto, imm
resumen
El lenguaje ensamblador MIPS completo en el libro.
Operandos MIPS
lenguaje ensamblador MIPS
Formato de instrucción MIPS
Representación de instrucciones en computadoras.
palabra de comando
Representación binaria completa de una instrucción.
Longitud de la palabra de instrucción
Número de dígitos del código binario en la palabra de instrucción
Formato de comando
código de operación
Indique la función de operación de esta instrucción. Cada instrucción tiene un código de operación determinado.
dirección del operando
Especifica la dirección donde se almacena el operando, a veces el propio operando (valor inmediato)
Ilustración
La forma numérica de las instrucciones se convierte en lenguaje de máquina y dicha secuencia de instrucciones se convierte en código de máquina.
Las instrucciones en las computadoras están representadas por una secuencia de varias señales eléctricas altas y bajas.
Registrar reglas de codificación en lenguaje ensamblador MIPS
$s0-$s7 se asigna a 16-23
$t0-$t7 se asigna a 8-15
Una instrucción de máquina en lenguaje ensamblador MIPS
lenguaje ensamblador
sumar $t0,$s1,$s2
forma decimal
forma binaria
hexadecimal
Formato de instrucción MIPS
Asignación de espacio de almacenamiento
explicar
op
Operaciones básicas de instrucciones (códigos de operación)
rs
primer registro de operando fuente
rt
segundo registro de operando fuente
tercero
Registro de destino utilizado para almacenar los resultados de la operación.
farsa
Cantidad de desplazamiento, utilizada en las instrucciones de turno.
función
Código de función, utilizado para indicar una variante específica de la operación en el campo op.
Hay un problema
Dos registros y una constante, la constante está limitada a 2^5
compromiso
Para mantener todas las instrucciones de la misma longitud, permita que diferentes tipos de instrucciones tengan diferentes formatos de instrucción.
Tres tipos de formato
resumen
instrucción
ejemplo
Instrucciones de operación lógica
Operaciones lógicas
definición
Operar con varios bits o con un solo bit en una palabra
tipo
ejemplo
Desplazamiento lógico a la izquierda, desplazamiento lógico a la derecha
Bit a bit Y
O bit a bit
negación bit a bit
código de operación
Desplazamiento lógico a la izquierda
todavía
Desplazamiento lógico a la derecha
srl
Bit a bit Y
y andi
O bit a bit
o, ori
negación bit a bit
ni
Instrucciones de decisión
definición
Ejecutar diferentes instrucciones basadas en la entrada y los valores generados durante los cálculos.
Clasificación
instrucciones de rama condicional
rama si es igual
beq registro1, registro2, L1
rama si no es igual
bne registro1, registro2, L1
ejemplo
lenguaje de alto nivel
si(i==j) f=g h; si no f=g-h;
lenguaje ensamblador
bne $s3,$s4,Else #Si ij no es igual, vaya a Else agregue $s0,$s1,$s2 #gh sume y guarde en f j Salir #Ir a Salir De lo contrario: sub $s0,$s1,$s2 #gh resta y guarda en f Salida:
Compilar declaración de bucle while
lenguaje de alto nivel
mientras(sava[i]==k) yo =1;
lenguaje ensamblador
Bucle: todavía $t1,$s3,2 #$t1=4*i agregue $t1,$t1,$s6 #$t1=dirección de guardar[i] ($s6 contiene la dirección de guardar) lw $t0,0($t1) #$t0=guardar[i] bne $t0,$s5,Salir #save[i] salir cuando no sea igual a k sumar $s3,$s3,1 #i=i 1 j Bucle #Volver al bucle Salida:
Establecer si es menor que
efecto
Compara si una variable es menor que otra
gramática
slt $t0,$s3,$s4
explicar
Cuando el valor en $s3 es menor que el valor de $s4, $t0 se establece en 1; de lo contrario, se establece en 0.
resumen
Soporte de hardware informático para procesos, modo de direccionamiento de instrucciones MIPS
Soporte informático MIPS para procesos
Reglas de asignación de registros
$a0~$a3
Pasar parámetros
$v0~$v1
valor de retorno
$ ra
Registro de dirección de devolución para volver al punto de partida.
Instrucciones para saltar y vincular
Saltar a una dirección y guardar la dirección de la siguiente instrucción en el registro $ra
jal ProcedimientoDirección
instrucción de salto de registro
Saltar incondicionalmente a la dirección especificada por el registro.
jr $ra
Representación numérica y operaciones.
Codificación y representación de datos.
Objetos que deben almacenarse en la computadora.
Representado por codificación
elemento fundamental
0, 1
personaje
Número de dígitos
26 letras->5 dígitos
Otros símbolos en mayúsculas y minúsculas->7 bits
Texto en otros idiomas del mundo -> 16 bits (Unicode)
Importante interfaz hombre-máquina
Compuesto de símbolos
Cada símbolo es codificado y finalmente convertido por el dispositivo de entrada y salida.
Generalmente almacenado en la memoria de la computadora en forma de cadena.
Varios estándares de codificación de juegos de caracteres.
ASCII
Código Estándar Americano para Intercambio de Información
Usando codificación binaria de 7 bits, más un bit de verificación par, un total de 8 bits, que ocupan 1 byte
Representa 128 caracteres occidentales.
alfabeto inglés
Decimal
Puntuación
detalles
UNICODIO
Usando 16 bits para representar un carácter, se pueden representar 65536 caracteres
Divida todo el espacio de codificación en bloques, cada bloque es un múltiplo entero de 16 y asígnelo por bloque
Reserve 6400 puntos de código para uso de localización
Aún no puedo cubrir todos los personajes.
representación de datos numéricos
Revisión: relacionado con el sistema base
Método de conteo de acarreo (cualquier base se expande según el sistema decimal)
fórmula
significado
N representa un valor numérico
r es la base de este sistema numérico
i representa el número de bits de estos símbolos, comenzando desde 0
Di es un símbolo en el bit número i
r^i es el valor representado por un 1 en el número de bit i
bases de uso común
El binario se utiliza internamente en las computadoras.
Octal hexadecimal es la abreviatura de binario
Sistema decimal para uso humano.
Conversión del sistema numérico
Factores relacionados con la elección de cómo representar sus datos
tipo de datos
Decimales, enteros, números reales, números complejos.
rango numérico
Los valores máximos y mínimos que pueden encontrar los datos.
Precisión numérica
El número de dígitos significativos que puede dar un número real; para los números de punto flotante, una precisión insuficiente provocará errores y la acumulación de errores provocará problemas.
Costo de hardware de almacenamiento, procesamiento y transmisión.
Espacio de almacenamiento ocupado, velocidad de transmisión.
Dos formatos de datos comúnmente utilizados
número de punto fijo
Características
Posición del punto decimal fijo
entero de punto fijo
decimal de coma fija
Rango numérico limitado, que requiere hardware de procesamiento simple
Método de representación de números de punto fijo
Formato de punto fijo
Se acuerda que la posición del punto decimal de todos los datos es fija.
Dado que se acuerda que esté en una posición fija, el punto decimal ya no está representado por un símbolo.
Los datos generalmente se representan como decimales puros o enteros puros.
método de visualización
decimal puro
El punto decimal está entre Xn y Xn-1
[0,1-2^(-norte)]
entero puro
El punto decimal está a la derecha de X0.
[0,2^n-1]
codificación de números enteros
código original
composición
Bits de signo Valor absoluto del número
Los números positivos se expresan así.
Los números negativos se expresan así.
alcance
Características
La representación es simple, fácil de convertir entre los mismos valores verdaderos y las reglas para las operaciones de multiplicación y división son simples.
Las operaciones de suma y resta son engorrosas
Suma: Suma valores con el mismo signo y conserva el signo; resta valores con signos diferentes.
Resta: primero compare los valores absolutos, luego use el que tiene el valor absoluto mayor como minuendo y el otro como sustraendo para hacer la diferencia, y use el símbolo con el valor absoluto mayor como símbolo
Hay 0 y -0
Es muy confuso, ¿ves?
10000000
00000000
código inverso
Signo de negación bit a bit del valor
Características
El complemento de 0 no es único
Rangos
complementar
Complemento a uno 1
El complemento de un número positivo es el número positivo mismo, y el complemento de un número negativo es el número negativo original más módulo
bit de signo complementario
Características
Convertir operaciones de resta en operaciones de suma
El valor verdadero del complemento a 0 es único.
Rangos
número firmado
número sin firmar
Resumir
El código original y el complemento del número positivo son iguales.
El bit de signo es 0 y el bit numérico es el valor verdadero.
El código inverso original de 0 tiene dos códigos y el código complementario tiene solo uno
El código original y el complemento de un número negativo son diferentes.
Bit de señal 1
bits numéricos
Código original: valor absoluto del número.
Código negativo: niega el valor absoluto
Complemento a dos: complemento a uno
número de punto flotante
Posición del punto decimal flotante
El rango numérico es muy grande y el hardware de procesamiento requerido es complejo.
método de visualización
Notación científica decimal
Notación científica binaria
Cómo representar números de punto flotante
Método de representación normalizado
Cuando el valor de mantisa no es 0, el bit más a la izquierda del campo de mantisa siempre es 1
El bit más significativo es siempre 1, por lo que este bit no se almacena y se considera oculto a la izquierda del punto decimal.
Estándar IEEE754
estándar aritmético de coma flotante
La base se especifica como 2, el código de exponente E se representa mediante un desplazamiento de marco y la mantisa M se representa mediante el código original. Según el método de normalización binaria, el bit más alto del valor es siempre 1. Este estándar almacena. este 1 de forma predeterminada, lo que hace que el rango de representación de mantisa sea más grande que el almacenamiento real uno más
Resumir
forma normalizada
Número de punto flotante de precisión simple
Número de punto flotante de doble precisión
Cálculo de la verdad del punto flotante
Número de coma flotante normalizado de 32 bits
Número de coma flotante normalizado de 64 bits
regulaciones especiales
E es todo 0, M es todo 0, luego x = 0 combinado con el bit de signo, hay 0 y -0;
E es todo 1, M es todo 0, entonces x = infinito combinado con el bit de signo, hay infinito positivo y negativo;
Rango numérico (32 bits)
Código E
número binario de 8 bits
Rango de valor verdadero del exponente: -126~127
Caso especial
código de detección y corrección de errores
distancia del código
Existen al menos algunas diferencias de bits binarios entre dos códigos legales.
Tres códigos de detección y corrección de errores de uso común
código de paridad
para transferencia de datos paralela
principio
Agregue 1 bit de verificación además del código de datos de k bits, de modo que el número de dígitos con un valor de 1 en la palabra de código k de 1 bit siempre permanezca como un número par o impar.
Representación computacional
Circuito de implemento
Código de verificación Hamming
para transferencia de datos paralela
código de verificación de redundancia cíclica
para transferencia de datos en serie
Proceso de entrega e inspección.
valor lógico
0->Falso,1->Verdadero
color
Ubicación, dirección, instrucciones.
Operación
Principios de suma y resta de punto fijo
Suma y resta en complemento a dos
fórmula
Funciones aditivas
El bit de signo debe tratarse como parte del número para participar en la operación.
Los acarreos que exceden el módulo 2^(n 1) se descartan
Detección de desbordamiento
El concepto de desbordamiento
En máquinas de enteros de punto fijo, el valor absoluto del rango de representación de números es <2^(n-1)
Durante la operación, el fenómeno en el que el resultado de la operación excede el rango que puede representar la longitud de la palabra de la máquina se denomina desbordamiento.
Puede ocurrir desbordamiento
Suma dos números positivos, vuélvete negativo, desborda
Agregue dos números negativos para hacerlos positivos y desbordados.
Método de detección
método de bit de doble signo
Los números involucrados en las operaciones de suma y resta se expresan utilizando códigos de complemento deformados.
Reglas de cálculo
Ambos bits de signo se tratan como números y participan en las operaciones.
Se suman dos números módulo 2^(n 2) y se descarta el acarreo generado en el bit de signo más alto.
Detección
método de bit de signo único
Se genera el bit más alto
Composición de la calculadora
habilidades básicas
Operaciones aritméticas y lógicas completas.
Obtener operandos: banco de registro, bus de datos
Resultados de operación de salida y almacenamiento: grupo de registros, bus de datos
Almacenamiento temporal de resultados intermedios de operaciones: registro de turnos
Obtener el estado del resultado de la operación.
Comprender y responder a las señales de control.
circuito lógico básico
circuito de puerta lógica
Operación lógica completa
Sumador
Completa la operación de suma.
desencadenar
guardar datos
Multiplexor, palanca de cambios
seleccionar, conectar
Ruta de datos
Funcionalidad y diseño de ALU
Función
Completar operaciones aritméticas y lógicas sobre operandos.
AÑADIR, Y, O
diseño
Operaciones aritmeticas
Sumador
operación lógica
Y puerta o portón
Principio de multiplicación y multiplicadores
Descripción del algoritmo de multiplicación binaria.
algoritmo básico
Si el bit actual del multiplicador == 1, suma el multiplicando y el producto parcial
Si el bit actual del multiplicador == 0, omita y cambie el producto parcial
Una vez que se completan todos los bits, el producto parcial es el resultado final.
Multiplicador de N dígitos*Multiplicando de M dígitos
Producto de N M bits
Algoritmo de multiplicación uno
proceso
Mejorar
Cada vez que se obtiene X*yi, se acumula con el resultado anterior para obtener Pi, lo que se denomina producto parcial. Debido a que no esperamos la última suma, se reduce el costo de guardar los resultados de la multiplicación X*yi de cada vez.
Cada vez que se obtiene X*yi, en lugar de desplazarlo hacia la izquierda y sumarlo al producto parcial Pi anterior, mueva el producto parcial Pi hacia la derecha y agréguelo a X*yi. Debido a que la operación de suma siempre se realiza en los n bits superiores del producto parcial, se puede usar un sumador de n bits para multiplicar dos números de n dígitos.
Realice la suma y el desplazamiento a la derecha para los bits que son 1 en el multiplicador, realice el desplazamiento a la derecha para los bits que son 0 y no realice operaciones de suma.
Algoritmo de multiplicación 2
proceso
Principio de división y divisor
Regla de división del código original
Cuando se dividen dos números representados por códigos originales, el signo del cociente se obtiene sumando los signos de los dos números bit a bit, y la parte numérica del cociente se obtiene dividiendo las partes numéricas de los dos números.
división decimal de punto fijo
Estructura de hardware de división
Proceso de división
Problemas
Con la cooperación del sumador y el registro, los dígitos del dividendo son más largos y el cociente debe calcularse poco a poco.
Esto se puede solucionar quitando el número de la izquierda, y la parte inferior del dividendo puede compartir el mismo registro con el cociente final, y el resto y el cociente se desplazan hacia la izquierda al mismo tiempo.
Implementación de la división
Método de división de código original
método de resto restaurativo
Cuando la resta no es suficiente, se restituye el resto original para continuar la operación.
Resto actual más divisor
suma y resta alternadas
Si la resta es insuficiente durante la operación, no es necesario restaurar el resto y continuar la operación según el signo del resto.
Resto > 0, desplaza el resto una posición hacia la izquierda y resta el divisor
Resto > 0, desplaza el resto una posición hacia la izquierda y suma el divisor
Operaciones aritméticas de coma flotante
Suma y resta en coma flotante
Suma y resta en coma flotante
reglas aritméticas
proceso
0 verificación de operando
Para el orden, encuentre la diferencia de orden, mueva la mantisa del número con el código de orden más pequeño hacia la derecha y tome el valor del código de orden más grande (desplazar la mantisa hacia la izquierda causa que se pierda el bit más significativo, que es un gran pérdida, así que mueva la mantisa hacia la derecha)
Sumar y restar mantisas
Normalización de resultados
redondeo
Por qué
Al alinear o normalizar, puede provocar que la mantisa se desplace hacia la derecha y pierda los bits bajos, provocando así errores.
También se requiere redondeo al convertir tipos de datos.
Método de redondeo estándar IEEE754
Redondear al más cercano (0 a 1)
El bit más alto descartado es 1 en 1.
ronda hacia 0
Censurado
redondo hacia el infinito positivo
Si los dígitos adicionales de un número positivo no son todos 0, se redondean a 1; si el número es negativo, se truncan.
Ronda hacia el infinito negativo
Si los dígitos adicionales de un número negativo no son todos 0, se redondean a 1; si se trunca un número positivo,
control de desbordamiento
desbordamiento de punto flotante
Desbordamiento
El valor es demasiado grande.
El valor del código exponente excede el rango de representación de 8 bits binarios.
desbordamiento
El valor es demasiado pequeño.
El código exponente excede el rango de representación del binario de 8 bits.
Ilustración
Juicio y procesamiento de desbordamiento
El desbordamiento de números de punto flotante se expresa como desbordamiento de código.
Sincronización a la izquierda (mueve la mantisa hacia la izquierda, código de exponente -1)
Primero determine si el código de exponente es todo 0; de ser así, el código de exponente se desborda; de lo contrario, después del código de exponente -1, determine si el código de exponente es todo 0; de ser así, entonces el código de exponente se desborda;
Sincronización a la derecha (mueve la mantisa hacia la derecha, código de exponente 1)
Primero determine si el código de exponente es todo 1; de ser así, el código de exponente se desborda; de lo contrario, después de que el código de exponente sea 1, determine si el código de exponente es todo 1; de ser así, entonces el código de exponente se desbordará;
Componentes de suma y resta en coma flotante
Multiplicación y división en coma flotante
fórmula
Pasos de operación
0 verificación de operando
Operaciones de suma y resta de código.
multiplicación
Si el bit más alto de ExEy es todo 1 y el bit más alto de Ez es 0 o si Ez es todo 1, el código de exponente se desbordará;
Si el bit más alto de ExEy es todo 0 y el bit más alto de Ez es 1 o si Ez es todo 0, el código de exponente se desborda;
división
Si el bit más alto de Ex es 1, el bit más alto de Ey es 0 y el bit más alto de Ez es 0 o si Ez es todo 1, el código exponente se desborda;
Si el bit más alto de Ex es 0, el bit más alto de Ey es 1 y el bit más alto de Ez es 1 o Ez es todo 0, el código de exponente se desborda;
Operaciones de multiplicación y división de mantisa.
Normalización de resultados
redondeo
Suma y resta de código
bits adicionales
efecto
Proteger el resultado intermedio de la operación OR bit a bit desplazada a la derecha durante la alineación
tratar con
Cuando es izquierda, se mueve a la mantisa.
como base para el redondeo
Regulaciones IEEE754
El resultado intermedio debe tener dos bits adicionales agregados a la derecha
bit de protección
Bits a la derecha de la mantisa.
broca de redondeo
El bit a la derecha del bit de protección.
Tubería de operación de punto flotante
Dos canales para mejorar el paralelismo
paralelismo espacial
Agregue componentes redundantes, como procesadores multioperaciones y procesadores superescalares.
paralelismo temporal
Mejorar los procesos operativos, como la tecnología de la línea de montaje.
Características de la tubería
La canalización no reduce la latencia de una sola tarea, pero mejora el rendimiento de todo el sistema.
Se realizan múltiples tareas simultáneamente y ocupan diferentes recursos.
Posible relación de aceleración = número de etapas de la tubería
La eficiencia del oleoducto está limitada por la etapa más larga
Si cada etapa lleva diferentes tiempos, la eficiencia del oleoducto se reducirá.
Las líneas de carga y vaciado también reducen la velocidad
Los conflictos provocarán que el oleoducto se detenga
Conceptos básicos de línea de montaje.
Principio de la línea de montaje
Ciclo de reloj de tubería
Análisis de aceleración
introducir
Las tareas deben ser continuas en la canalización. Sólo proporcionando tareas continuamente se puede utilizar plenamente la eficiencia de la canalización.
Divida una tarea en varias subtareas relacionadas. Cada subtarea se implementa mediante un componente funcional dedicado.
Debe haber un registro de búfer, o pestillo, después de cada unidad funcional en la tubería.
El tiempo de cada sección en la línea de montaje debe ser lo más igual posible, de lo contrario provocará bloqueo e interrupción del flujo.
La tubería debe tener tiempo de carga y tiempo de vaciado. Solo puede ser completamente eficiente cuando la tubería está completamente llena.
unidad aritmética de coma flotante