I think Silva absolutely knew that he was risking a red card. He had to interrupt the 1-2 between Gio and Chicharito no matter what because everyone in front him had messed up pretty badly.
He made a quick decision to prevent a goal and got lucky that the ref decided for a yellow card.