If you don't mind a wrong numbering, you can do it with two pics, two matrix and two fit nodes.
The snake arrow is from https://tex.stackexchange.com/a/145101/1952
\documentclass[a4paper,12pt]{amsart}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{fit, backgrounds, arrows, calc, decorations.pathmorphing, positioning}
\tikzset{%
snake arrow/.style=
{->, thick,
decorate,
decoration={snake,
amplitude=.4mm,
segment length=2mm,
post length=1mm}},
thread/.pic={
\node[fill=orange,
label={[anchor=north,
name=th]90:Thread (\the\pgfmatrixcurrentcolumn,\the\pgfmatrixcurrentrow)},
minimum width=3cm,
minimum height=2.5cm,
draw] (Th) {};
\draw[thick] (th.south) edge[snake arrow] ++(-90:15mm);
},
block/.pic={
\node[fill=yellow,
label={[anchor=north,
name=bl]90:Block (\the\pgfmatrixcurrentcolumn,\the\pgfmatrixcurrentrow)},
minimum width=3cm,
minimum height=2.5cm,
draw] (Bl) {};
\foreach \i in {-6,-4,...,6}\draw[thick] ([xshift=\i mm]bl.south) edge[snake arrow] ++(-90:15mm);
}
}
\begin{document}
\begin{tikzpicture}
\matrix[label={[anchor=south west, name=gl]north west:Grid}] (OneGrid) [column sep=1mm, row sep=1mm]
{\pic{block}; & \pic{block}; & \pic{block}; \\
\pic {block}; & \pic (Ref) {block}; & \pic{block}; \\
};
\begin{scope}[on background layer]
\node[fit=(OneGrid) (gl), inner sep=0pt, fill=green, draw=gray] (Grid) {};
\end{scope}
\matrix[label={[name=ml]Block(1,1)}, below=2cm of Grid] (OneBlock) [column sep=-\pgflinewidth, row sep=\pgflinewidth]
{\pic{thread}; & \pic{thread}; & \pic{thread}; & \pic{thread}; \\
\pic{thread}; & \pic{thread}; & \pic{thread}; & \pic{thread}; \\
\pic{thread}; & \pic{thread}; & \pic{thread}; & \pic{thread}; \\
};
\begin{scope}[on background layer]
\node[fit=(OneBlock) (ml), inner sep=0pt, fill=yellow, draw=gray] (Block) {};
\end{scope}
\draw[dashed] (RefBl.north west) -- (Block.north west);
\draw[dashed] (RefBl.north east) -- (Block.north east);
\end{tikzpicture}
\end{document}

Update: Thank you to TeXnician for reminding me about \numexpr.
Change \the\pgfmatrixcurrentcolumn by \the\numexpr\pgfmatrixcurrentcolumn-1 to start numbering from 0.
pics. For example, see http://tex.stackexchange.com/questions/340546/complex-line-diagrams-inside-tikz/340565#340565. – Feb 10 '17 at 01:45