9 votos

Cómo averiguar si un microprocesador es lo suficientemente potente

Todo el mundo sabe su fácil desarrollar una prueba de concepto para un dispositivo embebido en un rasbperry pi o incluso un PC, aunque cuando llega la hora de la elección de un microprocesador para su producto, es difícil estar seguro de que su elección va a permitir que su concepto para trabajar de forma óptima.

Actualmente tengo un streaming de medios de comunicación de proyecto trabajando con éxito en la raspberry pi, aunque el pi es mucho para grandes y voluminosos para que sea adecuado como un dispositivo final. También se afirma que el dispositivo final es la costumbre. Estoy teniendo un tiempo difícil encontrar la confianza en los procesadores que puedo usar.

Lo que es un buen proceso para averiguar si un procesador es lo suficientemente potente como para ejecutar mi aplicación?

Básicamente mis requisitos son:

  • USB host o incrustado pila TCP/IP de WiFi operación
  • I2S/PCM medios de comunicación protocolo de
  • I2C para la configuración periférico

Encontrar fichas con esas propiedades es muy muy simple. Honestamente no podría ser más simple. La cuestión es ser capaz de decir si el chip es lo suficientemente rápida, el procesamiento y la operación de sabio.

He mirado en el LPC4337 un poco y me siento como que podría ser adecuado, aunque el entorno de desarrollo me está dando bastantes problemas, por eso estoy todavía mirando a su alrededor, lo que me llevó a la CC3200 de Texas Instruments, a pesar de que sólo el controlador ejecuta a 80 MHz y no estoy seguro de si esto va a ser lo suficientemente fuerte como para tiempo real, streaming de medios de comunicación.

¿Cuáles son algunos pasos para asegurarse de que un procesador es rápido suficiente para mi aplicación? Como ¿cómo puedo saber si un 80 MHz de procesador será suficiente o necesito algo en el orden de 204 MHz o incluso más?

5voto

Simon Puntos 31

Depende del grado de confianza que usted necesita. Yo trabajo en la industria del espacio, y esto se consigue normalmente a través de lo que llamamos "la CPU, RAM, ROM de los presupuestos". Un presupuesto, es el costo de alimentación de masas o cualquier otra cosa, es descomponer el proceso en manejable elementos que se pueden cuantificar y la suma de todos ellos para obtener el total de la demanda. Luego toma un factor de seguridad que depende de la madurez de su proyecto, que disminuyen con el tiempo para dar cuenta del crecimiento de la demanda. Desde el principio se basa fundamentalmente en la experiencia y luego es refinado a lo largo del tiempo a medida que las tecnologías seleccionadas.

  • La ROM es relativamente fácil. Usted sabe lo mucho que la pila/biblioteca/controlador de aproximadamente tarda en memoria ROM: ya sea dado por el autor, o puede compilar sin cargarlo. Que la figura puede cambiar mucho cada vez que cambie su código, aunque debido a las optimizaciones del compilador.
  • La memoria RAM es mucho más complicado. Algunas herramientas especializadas entornos de desarrollo integrados darle tiempo de ejecución de las estimaciones, y puedo ver cómo esto se podría hacer, pero no estoy al tanto de cualquier herramienta genérica - es decir, proporcionada por GCC (alguien sabe de otra manera?). Lamentablemente suena como abajo, para contar la más grande o la mayoría de los asignados elementos de su código (de contabilidad para las variables de toda la vida).
  • La CPU es más complejo en el que, dependiendo de la arquitectura (CISC o RISC) el MIPS (Millones de Instrucciones Por Segundo, proporcional a la frecuencia de reloj del CPU) podría o podría no ser representativo. Porque si tienes el código en la mano, usted puede romper la mayoría de la sección crítica hacia abajo en las instrucciones y calcular la MIPS de los requisitos de tiempo. Cualquier no-deshabilita la interrupción DEBE ser considerado para ser activados en ese momento - la ley de Murphy y todo eso.

El de arriba es extremadamente difícil determinar con exactitud cuando los programadores patada, tan pronto como usted tiene hilos (a menos que los hilos están manualmente asignados a los núcleos) y los sistemas operativos. Debe ser manejable por simple microcontrolador códigos, pero vale la pena para su aplicación?

Esta es sólo mi participación: a pesar de que yo diseño integrado de sistemas no he sido el responsable de esos presupuestos (que son los insumos para mí), y en realidad estoy muy interesado en saber de los expertos historias sobre eso.

2voto

Martin R-L Puntos 2300

Voy a simplificar su pregunta, "¿Cómo averiguar si un microprocesador rápido lo suficiente"?
Usted necesita identificar el proceso/procedimiento que requiere el más rápido tiempo de ejecución. Si el procesador puede ejecutar las instrucciones necesarias en el momento dado, o menos, entonces es lo suficientemente rápido.
Veamos un ejemplo: el más rápido requisito es un proceso de pérdida de poder de interrupción; esto requiere de 10.000 instrucciones a ser ejecutadas en 10 milisegundos. Usted necesita un CPU con al menos 1 MIP. Para convertir esto en "MHz", usted necesita saber el número de ciclos de reloj por instrucción (cci). Vamos a suponer que es de 10 de la cci, la CPU tendría que ejecutar en 10 MHz o más rápido.

0voto

numberwhun Puntos 801

Si usted está buscando en la reducción del coste de lista de materiales a veces los Shenzhen fabricantes han sorprendentes ofrece. Un ejemplo: Allwinner A10 tienen más potencia de cálculo y las opciones de conexión de Raspberry Pi, pero probablemente será más barato si se utiliza en su diseño. Si usted está buscando en el mismo costo de la Pi el Allwinner A31s es de 6-8 veces más potente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X