cmb Posted September 12, 2015 Posted September 12, 2015 Hello, I am very interested in building a simple 8 bits computer and i would like to know what do i have to study to build one.I think i will save much time asking this question. I am using a circuit simulator, i think it would be useful. Thanks!
Endy0816 Posted September 12, 2015 Posted September 12, 2015 Logic Gates, Adders, Memory, Clocks. Have you worked on any similar projects before this?
Klaynos Posted September 12, 2015 Posted September 12, 2015 How basic do you want to go? If you understand gates all you need is a lot of dominoes... https://en.m.wikipedia.org/wiki/Domino_computer 1
studiot Posted September 12, 2015 Posted September 12, 2015 The first modern generation (VLSI integrated circuit) digital computers of any note were 4 bit. These were used by the professionals of the day to start and they still are used for simple computer control circuits such as for washing machines etc. So 4 bit might be a better place to start. 8 bit chips brought in the age of the desktop computer and eventually the PC. Also at this time the multilayer model came in. So you have a hardware layer a functional block layer a machine code or program layer a higher level code layer a an applications layer a user layer and so on. You need to become familiar with the term bus, where several individual connections are treated as one (parallel bus, serial bus, data bus, memory bus, control bus etc). Most people think of a microprocessor as a single chip. In fact 'it' is often several chips carefully matched to provide the required functionality of input/processing/output. Collectively, these are called a chipset. Chipsets contain all the necessary gates and other logic stuff to achieve the requirements, ready configured. So although it may be desireable to learn low level digital logic it is not essential. You simulator will have several chipsets available if it is any good. A computer is only useful if you can get it to run ie do something. For this you will need to study low level programming or machine code and assembler language or better since some modern chips come with a form of BASIC built in. So what part of of the multilayer diagram are you most interested in?
John Cuthber Posted September 12, 2015 Posted September 12, 2015 My brother built on decades ago based on a book like this http://www.amazon.co.uk/How-Build-Your-Working-Microcomputer/dp/0830612009/ref=asap_bc?ie=UTF8
cmb Posted September 12, 2015 Author Posted September 12, 2015 That's the first time I work with hardware.I already know programming, what's logical gates and make basic operations with binary.I am just doing that for fun, the computer will calculate some basics operations. Thanks for helping
Strange Posted September 13, 2015 Posted September 13, 2015 This looks like it might provide a good intro to the basics of computer architecture: http://www.aw-bc.com/info/carpinelli/It even has a sample chapter which might cover what you need to know: http://www.aw-bc.com/info/carpinelli/What sort of circuit simulator are you using? What language does it use?You really need a gate-level (logic) simulator, not a transistor-level (analog) simulator. Idealy, it should be possible to use a standard hardware description language (HDL) such as VHDL or Verilog. (VHDL is obviously far superior, but for some reason Verilog appears to be more popular). Or it might just have a graphical user interface.This paper gives an overview of the steps involved (but doesn't have much detail): http://db.grinnell.edu/sigcse/sigcse2013/Program/viewAcceptedProposal.pdf?sessionType=paper&sessionNumber=39 This paper describes a sequence of assignments, each buildingupon the next, leading students to a working simulationof a simple 8-bit CPU (Central Processing Unit). The designfeatures a classic Von Neumann architecture comprising asimple data path with a few registers, a simple ALU(Arithmetic Logic Unit), and a microprogram to direct allthe control signals. The first step involves the design of theALU which is capable of eight basic operations. The secondstep guides students to construct a datapath complete withseveral 8-bit registers. The third step involves the designand implementation of a control unit which uses a microprogramto implement machine code instructions. The microprogramimplements nine basic machine language instructions whichare sufficient for writing many simple programs. The finalstep involves adding program memory and an input andoutput device to form a simple working simulation of acomputer. At this point, students may hand-assemble code fortheir CPU and simulate its execution.All simulations are performed using a free and open sourcesimulator called Logisim which performs digital logicsimulations with the ability to build larger circuits from smaller subcircuits. Students can set an adjustable clock rate andobserve the internal CPU state and registers as it retrievesinstructions and steps through the microcode. The basicCPU architecture provides many opportunities for more advancedexercises, such as adding an instruction fetch unit,adding pipelining, or adding more machine language instructions.The assignments were introduced in a second yearcourse on computer organization, providing an effective hands-onapproach to understanding how a CPU actually operates. The simulator they use is available here: http://www.cburch.com/logisim/There are some brief reviews of some other simulators here: http://web.eng.fiu.edu/watsonh/eel4709/MSP430/CPUSimulation/TeachingCompArchitecture.pdf
Sensei Posted September 15, 2015 Posted September 15, 2015 (edited) That's the first time I work with hardware. Then IMHO you should start from something simpler. Make f.e. LED counter, going from 00 to 99 for instance. Have hardware register in binary format (some use binary coded decimal, and BCD addition, 8 bits = 2 digits each one with 0...9 digits, 10..15 values in 4 bits not used), that's converted to decimal format, which is later used to turn on/off LEDs forming digits. It's plentiful of work IMHO, see how complex breadboard he has on this video: ps. For a start I would try making radio receiver playing music by speaker. It's easier to make than LEDs digital counter. Start from generating sinusoid wave for speaker from oscillator/timer. That you can adjust with potentiometer. Amplifier that takes microphone input signal, amplifies it, and sends to speaker in f.e. 2nd room. Then adding part for radiowave receiving will be just piece of cake. Edited September 15, 2015 by Sensei
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now