Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Some hardware and software development questions

AndrewLobley
Novice
1,314 Views

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.

0 Kudos
10 Replies
AndrewLobley
Novice
1,307 Views

Bonus question: How do I address memory automatically and use stacks?

0 Kudos
AlHill
Super User
1,302 Views

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]

0 Kudos
AndrewLobley
Novice
1,301 Views

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.

0 Kudos
AlHill
Super User
1,299 Views

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]

0 Kudos
AndrewLobley
Novice
1,295 Views

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.

0 Kudos
AlHill
Super User
1,286 Views

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]

0 Kudos
AndrewLobley
Novice
1,281 Views

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.

0 Kudos
AlHill
Super User
1,266 Views

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]

0 Kudos
AndrewLobley
Novice
1,261 Views

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.

0 Kudos
AlHill
Super User
1,257 Views

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]

0 Kudos
Reply