In a medium saucepan, warm 1 c. of heavy cream with the cocoa powder, whisking to blend cocoa.
Bring mixture to a boil, remove from heat and add in ¾ c. of bittersweet or semisweet chocolate. Stir until smooth. Then add remaining cup of heavy cream, stirring until smooth. Pour mixture into a large bowl, scraping the saucepan to remove all chocolate. Set a mesh sieve over the bowl.
Warm the milk, sugar and salt in the same saucepan.
In a separate bowl, whisk yolks lightly. Slowly pour the warm milk, sugar and salt mixture into the egg yolks, whisking constantly, then pour the mixture back into the saucepan to cook. Constantly stir the mixture over medium heat with a heat resistant spatula, scraping the sides and bottom. The mixture will begin to thicken and coat the spatula (it should also reach 170 degrees on a thermometer). Remove immediately and pour through the mesh sieve into the chocolate mixture. Stir in vanilla and cinnamon.
Place the bowl over an ice bath to cool and then place in the refrigerator to chill thoroughly (approximately 25-30 minutes).
Pour mixture into ice cream maker according to the manufacture’s instructions. Churn for 20-25 minutes. Meanwhile (towards the end of the churning process), in a double broiler, melt 1 c. mini marshmallows until smooth. Set aside.
Remove bowl from mixer, fold in melted marshmallow. Add whole marshmallows, mini chocolate chips and graham cracker pieces. Mix until incorporated.
Store mixture in an air-tight freezer safe container and freeze for 4-6 hours before serving.