
\begin{tikzpicture}

\node (msp) at (0,0) {};
\draw [fill=black!10!white] (msp) rectangle (2,-3.5);
\node (msp) [anchor=north west] at (msp) {MSP430};

\node (rom1) at (1.5+2,0) {};
\draw [fill=black!5!white] (rom1) rectangle (1.5+4,-3.5/2+0.1);
\node [anchor=north west] at (rom1) {ROM};

\node (ram1) at (1.5+2,-3.5/2-0.1) {};
\draw [fill=black!5!white] (ram1) rectangle (1.5+4,-3.5);
\node [anchor=north west] at (ram1) {RAM};

\draw [line width=0.75, ->] (2.05,-0.7) -- (4-.55,-0.7); 
\draw [line width=2, <-] (2.05,-1.1) -- (4-.55,-1.1);

\draw [line width=0.75, ->] (2.05,-2.7+0.3) -- (4-.55,-2.7+0.3); 
\draw [line width=2, <->] (2.05,-3.1+0.3) -- (4-.55,-3.1+0.3);

\node () [anchor=west] at (1,-4) {Barramento de Endereço};
\node () [anchor=west] at (1,-4.4) {Barramento de Dados};
\draw [line width=0.75, ->] (0,-4) -- (0.9,-4); 
\draw [line width=2, <->] (0,-4.4) -- (0.9,-4.4);

\node () [anchor=west] at (1,-4.8) {Endereço do Ponteiro de Instrução};
\draw [->] (0,-4.8) -- (0.9,-4.8);

%-----------------------------------------------------------------

\node (msp) at (0+7.5,0) {};
\draw [fill=black!10!white] (msp) rectangle (2+7.5,-3.5);
\node (msp) [anchor=north west] at (msp) {MSP430};


\draw [] (1.5+2+7.5-.3,0) rectangle (1.5+3+7.5-.3,-3.5/2+0.1);
\node [anchor=north west] at (1.5+2+7.5-.3-.1,0) {\tiny MCAM};
\draw [] (2.5+2.3+7.5,0) rectangle (1.5+4+7.8,-3.5/2+0.1);
\node [anchor=north west] at (2.5+2.22+7.5,0) {\tiny MCAM};


\node (ram1) at (1.5+2+7.5,-3.5/2-0.1) {};
\draw [fill=black!5!white] (ram1) rectangle (1.5+4+7.5,-3.5);
\node [anchor=north west] at (ram1) {RAM};

\draw [line width=0.75, ->] (2.05+7.5,-0.7) -- (4-.55+7.2,-0.7); 
\draw [line width=2, <-] (2.05+7.5,-1.1) -- (4-.55+7.2,-1.1);
\draw [->] (2.05+7.5,-0.7-0.7) -- (4-.55+7.2,-0.7-0.7); 

\draw [line width=0.75, ->] (2.05+7.5,-2.7+0.3) -- (4-.55+7.5,-2.7+0.3); 
\draw [line width=2, <->] (2.05+7.5,-3.1+0.3) -- (4-.55+7.5,-3.1+0.3);


\node (rom1) at (1.5+2+11,0) {};
\draw [fill=black!5!white] (rom1) rectangle (1.5+4+11,-3.5/2+0.1);
\node [anchor=north west] at (rom1) {ROM};

\draw [line width=0.75, ->] (2.05+11.3,-0.7) -- (4-.55+11,-0.7); 
\draw [line width=2, <-] (2.05+11.3,-1.1) -- (4-.55+11,-1.1);

\draw [line width=0.75, ->] (11.75,-0.7) -- (12.25,-0.7); 
\draw [line width=2, <-] (11.75,-1.1) -- (12.25,-1.1);
\draw [->] (11.75,-0.7-0.7) -- (12.25,-0.7-0.7); 

\end{tikzpicture}