In a heavy medium saucepan over medium-low heat, melt ½ cup butter.
Stir in the flour to make a roux, whisking constantly about 3 to 5 minutes, or until the mixture turns a pale golden color and has a pleasantly nutty fragrance.
Whisk in the milk. Then bring the sauce to a gentle simmer over medium-low heat, whisking frequently. Simmer for about 5 minutes or until the mixture has thickened, continuing to whisk.
Remove the saucepan from the heat. Then add 6 cups chedddar, 1 cup Parmigiano Reggiano, salt, and pepper, stirring until the sauce is smooth.
Cook the macaroni in well salted water until al dente. Reserve 1 cup of pasta cooking water, and then drain.
In a large bowl, combine the cooked pasta, sauce, and reserved cooking water. Mix thoroughly. Then allow the mixture to sit for about 10 minutes. In the meantime, grease the baking dish (or dishes) with butter.
Pour the mixture into the prepared baking dish. (The sauce will seem rather thin at this point, but it will thicken and partially soak into the pasta during baking.) Then sprinkle the topping evenly over the surface.
Bake for about 20 to 25 minutes, or until golden and bubbling.