- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, I'm a college student with a major in Software Development, but I wanted to pursue a project for making an amateur computer. I'm having some issues, so I just wanted to reach out and ask a few questions.
1. How many bits for a reasonable computer? I was thinking 8, but getting enough opcodes is a nightmare. I want to strike a good balance between performing multiple operations at once and actually having more than 14 operations. But, the more I have, the less that can be used together. This leads me to my next question, which is:
2. What kind of operations should I have? How many? For what?
3. Registers vs integrated RAM? Specifying an address leads to fewer instructions but more complexity. If I use registers, how can I specify them?
4. What kind of operations should my ALU have? Currently I have addition, inversion, carry and AND operations. By inverting B and carrying in at the same time, subtraction can be performed. I figure that's a low number, but right now I'm seriously restrained by the amount of opcodes I can have.
5. What should my assembly syntax look like? I'd rather start off easy, and I know a fair amount of assembly, but certainly not enough.
6. What are some good resources for learning assembly? 8086 Assembly will probably be the kind I want to learn for this, but x86-64 is something I'd also like to learn.
7. How do assemblers work? I thought of making one in Python and just using string slicing to process operations from an asm file and then outputting the machine code to another file, and I did successfully do that with a previous iteration of my processor, but I couldn't complete that one due to very specific constraints.
8. What should I use for developing and testing my CPU? I've been using Circuitverse, but should I instead learn HDL or something like that?
Here is my project currently if you're interested:
https://circuitverse.org/users/204320/projects/literally-a-whole-computer
The assembler py file is on a different computer, so I can't attach it right now.
I didn't know where exactly to put this, but I thought that this forum was the right place to ask.
- Tags:
- 8 bit
- 8086
- 8086 assembly
- amateur computing
- Assembly
- binary
- circuits
- Development
- Hardware
- HARDWARE DESIGN
- hardware development
- machine code
- machine language
- opcodes
- processor design
- Processors
- question
- software design
- software development
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonus question: How do I address memory automatically and use stacks?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your answers will be found by taking a number of computer science courses at your university.
Doc (not an Intel employee or contractor)
[Maybe Windows 12 will be better]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wish that was the case, but my university offers no assembly courses or electrical engineering courses, so I'm on my own here. I understand the basic principles well enough, but in practice it's hard to actually implement these things. My major is more on the high-level programming languages aspect on computers, which is what I want to do, but I also want to learn computer design and low-level programming.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try an online university. This is a technical support community, not CompSci 101.
Doc (not an Intel employee or contractor)
[Maybe Windows 12 will be better]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If this isn't the place, then what forum should I go to? I'm taking a coursera course on the subject, but I'd like to get a few more opinions and suggestions from people.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This community (community.intel.com) is for technical support of Intel products and software. There is no forum here for your questions.
Doc (not an Intel employee or contractor)
[Maybe Windows 12 will be better]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I posted here because I want to know how Intel does/did it. Are there any other places I can go to so that I can get in contact with Intel and have a conversation about CPU design? It doesn't have to be this specific website.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What you want is not provided here. I explained what the community is for. Outside of that, Intel does not provide what you want.
Doc (not an Intel employee or contractor)
[Maybe Windows 12 will be better]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Listen man, there's more websites than this online. I'm just asking if you know of any that are specifically for these kind of questions, or if Intel has a contact medium that I can use to ask these questions. I just want you to point me in the right direction. If you don't know, that's fine. There's no need to be so rude.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Listen man, you are in the wrong place. There is no support for your questions here, or on Intel.com. No, I do not know a place for you to ask such questions. And, I have not been rude, yet.
I suggested you take a college course. You should do that.
Doc (not an Intel employee or contractor)
[Maybe Windows 12 will be better]
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page