======Project: Chapter Projects====== A project for Computer Organization by Matt Witter during the Spring 2013 This project was begun on January 23 and took the whole time period for the class. =====Objectives==== The purpose of the project is to work on and hopefully complete a cpu emulator using c++. It's now getting towards the end of the semester and Joe has said that we have covered everything we need to know now we just need to implement it. We all got a little behind schedule I think and we wont be able to finish the emulator. We have talked about registers, program counters, multiplexers, demultiplexers and a little more than I can't think of right now. =====Prerequisites===== In order to successfully accomplish/perform this project, the listed resources/experiences need to be consulted/achieved: * resource one would have to be Matt and Joe * resource two would be the internet I guess. * Make and, or, not functions to build on everything else. They turned out to be more important than I thought when I first took C or computer essentials. * We made full adders and full sum after we did the and, or, not functions. * The multiplexers and demultiplexers came next and they were a little trickier than what we have done so far but the diagrams on play-hookey.com helped out a lot and it wasn't too hard to figure it out. * All that was building up to the sequential logic part with the latches. We made rsnor latches, edge triggers or clocked rs latch. That built up to the jk flip flop and the d flip flop. * Next should be the counters and registers but I doubt we will have time to do that since we have two weeks left and I dont exactly understand how to do it yet. I might get one of them done hopefully both but im not counting on it. =====Background===== The idea of this project is to learn about computer organization.I'm attempting to finish a cpu emulator before the end of the semester. Im guessing the background information is what I put in the prerequisite spot on this page. I don't want to delete that part because it looks a lot better filled up but it's definitely not suppose to be there. The background information for what we did and the order we did it is: * Make and, or, not functions to build on everything else. They turned out to be more important than I thought when I first took C or computer essentials. * We made full adders and full sum after we did the and, or, not functions. * The multiplexers and demultiplexers came next and they were a little trickier than what we have done so far but the diagrams on play-hookey.com helped out a lot and it wasn't too hard to figure it out. * All that was building up to the sequential logic part with the latches. We made rsnor latches, edge triggers or clocked rs latch. That built up to the jk flip flop and the d flip flop. * Next should be the counters and registers but I doubt we will have time to do that since we have two weeks left and I dont exactly understand how to do it yet. I might get one of them done hopefully both but im not counting on it. =====Scope===== At the beginning we thougth that we would finish the cpu emulator but now it looks like we will not finish it. We have many parts of the emulator done but we havent really put them together yet so I dont see it getting finished. So far I have up to the jk flip flop done but I might be able to finish a few more things before the end of the class. =====Attributes===== State and justify the attributes you'd like to receive upon successful approval and completion of this project. * attribute1: why you feel your pursuit of this project will gain you this attribute * attribute2: why you feel your pursuit of this project will gain you this attribute * etc... =====Procedure===== I guess I've gone over the steps in a few different sections but I dont want to leave much out. These are the steps that we took to try and complete the cpu emulator, they are pretty much in order. * Make and, or, not functions to build on everything else. They turned out to be more important than I thought when I first took C or computer essentials. * We made full adders and full sum after we did the and, or, not functions. * The multiplexers and demultiplexers came next and they were a little trickier than what we have done so far but the diagrams on play-hookey.com helped out a lot and it wasn't too hard to figure it out. * All that was building up to the sequential logic part with the latches. We made rsnor latches, edge triggers or clocked rs latch. That built up to the jk flip flop and the d flip flop. * Next should be the counters and registers but I doubt we will have time to do that since we have two weeks left and I dont exactly understand how to do it yet. I might get one of them done hopefully both but im not counting on it. =====Reflection===== Theres a lot more going on behind the compouter than I previously thought. I knew from other classes that there was a lot going on but in other classes we didn't really talk about how it is done and what exactly happens. I learned about mutliplexers and latches and I really never heard of them before. Probably one of the biggest things I started learning was c++. I never messed with classes before and that took a little while to completely understand what was going on with that, probably a little longer than it should have but I think I have it now. =====References===== In performing this project, the following resources were referenced: * www.play-hookey.com * The most useful website was play-hookey.com and I really don't think that I used another site. If I did I really can't remember I mostly saw Joe in his office or Matt at goff road.