Here we are, week 5– last week before our first break!
I'd like like to say, I continue to be impressed with our Computer Organization experience so far- not just the code being developed, but the interactions that have taken place, and the natural evolutions that have transpired. At this point I can say I am pleased with the efforts of EVERYONE in the class. I have had the opportunity to communicate with everyone, and even if everyone is not certain, everyone IS determined to work on the project and learn, and THAT ultimately is what is important, and will drive the successful completion of our efforts.
This was not intended to be an easy undertaking. We're in an upper level course exploring some very important concepts through the implementation of our various digital components. That we have made it this far should be viewed as nothing less than rewarding, and I look forward to the weeks ahead.
Last week saw increasing activity with regards to the 8085 and 6502 efforts, along with tweaks to existing components (the adders especially).
As of this writing, we're at revision 137.
Perhaps the 3 persistent frustrations that have been on-going in our experience semester are the following:
One of the first evolutions I witnessed was the stepping up of one of the class members to be a project coordinator. If you haven't responded to any of Sam's (sweller5) messages or updated the pertinent sections on the wiki, I'd highly recommend you do so. It is an investment that will help the overall project go much more smoothly.
Just on Friday, another evolution took place that I want to inform everyone of. Justin (jhammo13), in contemplating some of the above-mentioned frustrations, offered to take on a role of Documentation Coordinator, working to:
The intent with this Documentation Coordination effort is to be more documentation-heavy and then balance out with coding contributions as the semester continues to unfold. Just as we have some coding-intensive groups, this is a counterbalance. I welcome those who feel somewhat closer to the frustrations to contemplate offering some services to the Documentation Coordination efforts as a means of getting more accustomed to various intrinsics.
If you'd like to take advantage of this, you need to do the following:
For those more on the bleeding edge implementation of things– please offer up tasks that need to be done, especially if they seem repetitious or largely redundant in nature… I'm especially thinking of “op code lookup” when the 8085/6502 implementations get to that– once you get the necessary framework in place and are satisfied with having cranked out a few working instructions, offer up the task of implementing some of the instructions- add it to the TODO list, communicate with the documentation group to let them know what has to be done.
I'd like for this to strike a nice balance for everyone- for everyone to learn, for everyone to share, and for everyone to play a part in implementing the project. Like I said, I think we're off to a good start, and this latest structural tweaking is intended to assist those efforts as the code base explodes in size and complexity.
Some will be drivers- leading the development.
Others will be implementers, filling in the gaps and making complete the idea.
Yet others will round the edges and tweaking other matters (documentation, end user operation, code maintenance, etc)
In addition to the concepts unearthed in implementing this CPU simulator, I want everyone to walk away with an appreciation of working in a collaborative development environment. You will find that the more efforts invested in helping the group, the more you will learn and benefit.
Remember: nobody is on their own. If you feel like you are, or feel lost, you need to take some steps to become more involved.
Those are three new terms that should make everyone's list of topics to investigate. There has already been planning in this regard towards putting the beginnings of that together for at least the 8085. Those on the documentation group may want to talk with bewanyk and jr018429 on some of their brainstorming, and perhaps even transport some of their whiteboard diagrams to the wiki on some appropriate page.
I think the 6502 group is close at hand, and this information is fully applicable to ANY CPU implementation. So it certainly benefits everyone.
You'll be amazed at how quickly functionality will start to materialize, and clarity established with regards to implementing an interface to work with the CPU, as we get to this point.
Be excited.