2020/01/28

Para estudiar The Zynq MPSoC Book

La lectura de este libro ha sido resultado de una serie de afortunados errores.

Tengo algo de interés en PYNQ y en ZYNQ debido a tener un a Parallella, ví el título, no sé qué zynq, pynq, machine learning y no estaba tan caro, lo comencé a leer y mencionó que estaría bueno leer antes The Zynq Book lo estudié y volví a esto. De haber leido primero TZB sin tener ya en papel este no lo hubiese leido pues TZB no me pareció nada maravilloso y segundas partes suelen ser malas.

Ese sí hubiese sido un error, The Zynq MPSoC Book parece haber sido escrito tras asimilar las críticas al primero y aunque tiene bastante de humo marketinero, la proporción es menor y los contenidos no sé muy bien si son muy superiores y más claros o la lectura de TZB me dejó en mejores condiciones.

La parte marketing incluso es útil, aprendés cosas como que un cuadróptero tiene dos hélices girando para un lado y dos para el otro y eso le permite rotar, ja!

La diferencia entre un Zynq y un Zynq MPSoC es enorme:

  • Dos cores de 32 -> cuatro cores de 64 para aplicaciones genéricas (APU).
  • FPGA Artix-7 -> FPGA Kintex-7
    • 35k-106k -> 157k-555k Flip Flops
    • 17k-53k ->  78k-277k LUTs
    • 28k-85k -> 125k-444k Logic Cells
    • 60-140 -> 265-755 36Kb Block RAM
    • 2M-5Mb -> 9M-26Mb Block RAM
    • 80-220 -> 400-2000 DSPs
  • Dos cores RealTime (RPU).
  • Graphics Processing Unit (GPU).
  • Video Codec Unit (VCU).
  • Configuration Security Unit (CSU) (*)
  • Platform Management Unit (PMU)(*) 
Desde RPU para abajo, es terreno de MPSoC.


CSU y PMU tienen cada una tres MicroBlazes en silicio ejecutándose en modo votación.

CSU se encarga del boot seguro de los procesadores.



Las descripciones y explicaciones relacionadas a como se comunican y arrancan todos estos componentes es extremadamente educativa, me ha ayudado a avanzar en la comprensión de cómo funcionan en general las computadoras.

Se explica SDx, aparentemente en los últimos cinco años la cosa ha evolucionado. La idea es que vos escribís tu programa en C/C++ y SDx analiza el código y busca oportunidades de pasar secciones a la FPGA y su interfaz.

Lo que me había quedado de TZB es que este proceso estaba a cargo tuyo.


Con respecto a la GPU y VCU se menciona que existen, pero luego nada, no recuerdo ninguna mención, lo cual es una pena pues son un tercio de la diferencia con Zynq pelado. Igual podríamos decir que como es algo común, no especial como CSU y PMU, a los cuales se los explica muy bien.


Con respecto a ML, no respeta la proporción del título, es muy superficial, se citan ejemplos externos.

A diferencia de TZB no hay una práctica propuesta, pero uno estos días veré de instanciar los ejemplos de PYNQ-Z1 a PYNQ-Z2.




Se baja gratis de https://www.zynq-mpsoc-book.com/


Conclusiones


Vale la pena leerlo y si tenés tiempo antes leer y practicar TZB.

No hay comentarios:

Publicar un comentario