Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: Computer Design  (Read 2317 times)

0 Members and 1 Guest are viewing this topic.

rogerk8

    Topic Starter


    Rookie

    • Experience: Beginner
    • OS: Windows XP
    Computer Design
    « on: November 04, 2012, 10:11:57 AM »
    Hi!

    I want to apologize for my last post. I got crazy and mean. I will not make that mistake again.

    This topic concerns how I think you can design a simple and quite fast computer from scratch.

    These are the items you will need:

    1) A modern fast single-cored CPU of plain Von-Neumann architecture. This CPU may be of 32X16-bit organization (or it may even be of 16X8-bit organiztion if you don't foresee too complicated programs and huge memory utilization).
    2) A SSD-drive is preferred for maximum speed. While speed is not that prioritized but simplicity is, you could use an ordinary USB-memory as the drive (it might even be more simple if you use a SD-memory instead. I do not know the complication difference of this).
    3) While speed is secondary at this level, I am thinking that RAM may be omitted. But I am not certain of this. My CPU testboard uses a PROM as the "drive" and a RAM for f.i the Stack. It would be interesting to know if you can use the USB-memory for both.
    4) The CD-ROM may be omitted. The only time a CD-ROM is really needed is while installing the OS for the first time. But this may be done from a USB-memory instead (I have a vision that you could buy arbitrary OSes at certain on-line cubicles/cafees).
    5) Audio is generated by a simple D/A-converter and nothing more.
    6) Graphics is generated using old-school VGA (which I do not know so much about, but it sounds simple enough).
    7) Auxilery ports are USB-ports only. Say at least four (two out of those being the keyboard and the mouse respectively). But I do not know how these actually works. Other than they consist of 4 pins. Two for supply and two for serial data in/out. I have much to learn here. But I imagine that you can hardwire the protocol for at least the keyboard and mouse (and the drive). But when it comes to an AUX-input I don't know how to take care of this.
    8) An ordinary Ethernet interface (there's no "ordinary" here for me either)

    From the above you could understand that no mechanical devices whatsoever are used. This might make the computer last longer and even be faster than normal.

    I also think that the computer should be command-based in a monocrome text-interface like MS-DOS or Unix. Starting a graphics program only when needed i.e for CAD-programs. A browser might actually consist of only reading the plain text on the different sites and presenting the links as plain text wlile being able to send those links as an input to a command, f.i "Display" and thereby display the picture.

    I know most of this isn't new because Unix and Linux already excist but you will learn even better if you build it yourself.

    What do you think?

    How much of a dinasour am i?  :D

    Best regards, Roger
    PS
    This is my passion!

    rogerk8

      Topic Starter


      Rookie

      • Experience: Beginner
      • OS: Windows XP
      Re: Computer Design
      « Reply #1 on: November 05, 2012, 10:59:43 AM »
      MY FIRST COMPUTER

      My first computer will consist of:

      1) My home-brewed CPU (on a CPLD). This is an extemely simple 16X8-organized CPU which even can't do MUL/DIV (but this will be solved software-wise using different kind of shifts and adds).
      2) A 32kB large program-memory (EPROM)
      3) A 16kB large RAM (for the stack and variables)
      4) A 16kB I/O area (either you read from it or you write to it, anywhere within the reserved space)
      5) Two 4-bit hex-switches as primitive input-device (instead of keyboard)
      6) One 8-bit LED-array as primitive output-device (instead of display)

      The first program I will run (P2) is a polling-program that polls for two different values and displays that value when it fits and then moves forward to polling for another value. And when it finds that value it displays it and jumps back to the beginning.

      There is lots of micro programming that will have to be accurate to make these five instructions (out of 36) work.

      I am very excited about the possibillity that this might actually work!

      I think the main problems will probably be the timing and the mechanical assembly (read all wire-wrappings that I really can't check and some tight soldering on the CPLD-Schmartboard Unit, CSU).

      I have however tested, using an Ohm-meter, that there are no shorts on the CSU.

      Tomorrow I will plug in all the ICs!

      Then I will soft-start it all by putting the voltage at 9V and slowly turn the amps up.

      Wish me luck!

      Best regards, Roger
      PS
      Attaching a picture of the fitted CSU.

      [year+ old attachment deleted by admin]

      rogerk8

        Topic Starter


        Rookie

        • Experience: Beginner
        • OS: Windows XP
        Re: Computer Design
        « Reply #2 on: November 07, 2012, 02:54:11 PM »
        My CPU is now armed with all neccesary ICs.

        The next step is to set a supply to 9V and slowly turn up the Amps.

        I have measured that the CPU will not begin to smoke.

        After I have supplied my CPU project I will try to download the actual CPLD program to it.

        I am quite confident that this will work.

        But I am not so confident that the rest will actually work.

        But guess what?

        I don't care!  ;D

        I would be quite satisfied if I am able to download the program.

        The rest is a bonus!

        MY SECOND GENERATION COMPUTER

        My second generation of a computer will have an ordinary keyboard (PS/2) connected to it.

        It will also have an alpha-display connected to it.

        The PS/2 keyboard interface I think consists of a RS232-protocol. I will, somehow, design a serial to paralell interface for that.

        Then I will echo this ASCII-value to the display.

        This new program will then just echo the binary value of a single pressed down button. I am not sure, but I think I can make the CPU poll for a value which differs from $FF (i.e no pressed down button) and when it founds a different value, it could just echo that to the dispaly.

        The programming art of programming EPROMS is somewhat tedious so maybe I will adapt a SD-memory as program memory instead. But I think I will wait with this part.

        Take care!

        Best regards, Roger

        [year+ old attachment deleted by admin]
        « Last Edit: November 07, 2012, 03:56:06 PM by rogerk8 »