Migrating from x86 architecture to Naon

From DAVE Developer's Wiki
Revision as of 14:31, 15 June 2012 by DevWikiAdmin (talk | contribs) (What about GPU?)

Jump to: navigation, search
Info Box
Naon am387x-dm814x.png Applies to Naon

Introduction[edit | edit source]

Computational power achievable by system-on-chips built around Cortex-A8 processor make them an appealing solution for several applications that historically have been implemented on x86-based systems.

This article, written as a list of commonly asked questions, aims to help system integrators and developers who are used to work on x86-based machines to make a sort of comparison between these two different approaches in order to ease the migration process to Naon-based platforms.

Following images show simplified block diagram of x86-based PC-like architecture and Naon architecture.

x86-based PC-like architecture
Naon SOM architecture

This image shows in detail internal architecture of DM8148 digital media processor.

Naon SOM architecture

The first notable difference is about the integration level. By definition, system-on-chip such as DM8148, are designed to address embedded systems where footprint - in terms of PCB area and power budget - has to be minimized but, at same time, no significant compromise in performance is acceptable.

Where is the BIOS?[edit | edit source]

WorkInProgress.gif

What about GPU?[edit | edit source]

Modern PC graphics card integrates a processor called GPU (Graphics processing unit) that is provided by a dedicated SDRAM bank.

From the functional standpoint, on DM8148 graphics processing is performed by some blocks that are integrated in the chip. They are:

  1. High Definition Video Processing Subsystem (HDVPSS)
  2. High Definition Vieo Image Coprocessor (HDVICP2)
  3. SGX530 3D Graphics Engine
  4. Imaging Subsystem (ISS)
  5. Media controllers.

These blocks are tightly coupled with main general-purpose CPU (ARM Cortex-A8) and with SDRAM. All of these entities share the system SDRAM. SDRAM is managed by sophisticated DMM/TILER module that optimizes its usage and implements priority management.