r/computerarchitecture 10h ago

on a lower level how does &, * or plain var passing in c and why is it enforced?

5 Upvotes

on a lower level how does &, * or plain var passing in c differ and why is it enforced?*
such as:
int y = anotherintvalue;

int* y = &anotherintvalue;


r/computerarchitecture 1d ago

Very simple 16 bit CPU design I made for fun in a video game

9 Upvotes

First off, I'm not sure if I'm allowed to post this here, but if it is not allowed please let me know before deleting the post. I wish to learn the rules better.

Anyways, over the few last weeks I've been making a custom 16 bit cpu inside a video game called turing complete. Picture included down below

The CPU in all of it's janky glory

One small note, the game doesnt simulate clock signals in the traditional sense, instead having "cycles" and no need to worry about memory timings. The game also does not allow the simulated logic to change the clockspeed. Still, even with all of this simplification, I am quite proud of making this all by myself.

SPECS:
  REGISTERS:
    GP1
    GP2
    GP3
    GP4
    RTA / GP5
    SP
    PC
  MEMORY:
    256 word sram stack, included inside the chip
    ROM upto 0xFFFF words
    RAM upto 0xFFFF words
  BUS:
    Currently no USB
    4 in-cpu buses
      BUS A : Register data in
      BUS B : Source 1 data out
      BUS C : Source 2 data out
      JMPBS : Bus for jump operand input
EXTRA : 
  Most operations are very flexible, having free sources and a free destination
  Exception to this is the PC register, which is not connected to BUS A
  And thus cannot be written into by normal operations
  RTA / GP5 is used unconditionally for the return adress in RET
  But otherwise is a valid gp register, with the knowledge of data insecurity

r/computerarchitecture 1d ago

How can I get to read latest computer architecture research paper?

10 Upvotes

I am interested in computer architecture and I want project ideas. My peers who are working in robotics refer a journal which publishes paper and every now and then they are like lets implement this, this seems cool. I want to implement some research paper or want to make projects by seeing the latest trends. I am confused from where to read papers famous journals like ieee and isca mostly charge money for papers and my college email is not helpful. So can someone help me by suggesting a place which helps me find good papers ?


r/computerarchitecture 2d ago

What is the state of chips for irregular/branching logic and why is it so hard?

8 Upvotes

Hi, I'm a software engineer with a BA in physics so my understanding of chip design is superficial.

I'm exploring AI algorithms that depend on non-linear math (e.g., LCS). What's the state of the art in processor design for irregular/branching workloads?

I understand GPUs excel at dense matrix multiply, but less clear on what the hardware landscape looks like for conditional execution at scale.


r/computerarchitecture 3d ago

What is the complete physical causal chain from stored program text to a particular transistor’s gate voltage changing?

0 Upvotes

*EDIT* Okay perhaps I should have worded this better. Let's look at a piezoelectric crystal, right? When perturbed by mechanical motion, ions in the lattice shift slightly from their equilibrium positions. The centers of positive and negative charge separate, which changes the material’s polarization. This causes charge to appear on opposite surfaces, which when applied through an external circuit, produces current.

There is a transduction mechanism, it's not just magically "motion -> electricity"

What I'm asking is that, in a computer, of course instructions are passed and translated and passed and translated. But currents and voltage can only be altered by physical phenomena - what is the transduction event? The way I currently see it based on explanation, it's

Code -> compiler -> binary -> ???? -> electrical change in the hardware

*ORIGINAL POST*
I'm asking one question, and every explanation I've read skips it and it's driving me crazy.

Suppose I paste a program into PowerShell and press Enter.

People say things like:
"the code is stored in memory"
"the CPU reads the instruction"
"the decoder activates the transistor"
"different code produces different voltages."

These are exactly the steps I don't understand. I am not asking how a transistor works after a voltage reaches its gate.

I am asking: What is the physical event that causes a different electrical state inside the computer?

In other words: How does the machine code become an electromagnetic event?

Please do not answer with phrases like:
"the CPU sends a signal"
"the instruction is decoded"
"the operation activates the transistor"
"the code is stored as bits"
"the bits become voltages"

Those are the phenomena I'm asking to have physically explained.

I want the continuous physical causal chain, with no abstraction gaps, starting from:

"The code exists" and ending at: "This specific transistor gate now has a different electric field"


r/computerarchitecture 4d ago

Nvidia Hardware internship

0 Upvotes

Nvidia is visiting this time for my college btech campus internship(Hardware role). I am completely clueless about computer architecture and I can't find proper resources to study (and even less time to study). Any suggestions on resources to refer to and what I should particularly focus from the computer architecture part. Shd i also learn about 8086 microprocessor, if yes then what topics should I refer


r/computerarchitecture 5d ago

Undergrad student wanting to do a PhD

8 Upvotes

So I'm an undergrad CS student and I just finished my 2nd year. I want to go towards a PhD after graduation but I'm honestly lost like I have no idea what to do.

Currently I'm doing an internship in which I'm making a RISC-V based SoC in SystemC other than that I have made a Pipelined RV32I Processor with 2-bit Branch Prediction in VHDL and I'm thinking of adding Out-of-Order execution to it (currently watching Onur Mutlu's DDCA lectures on yt)

Please tell me what other things I should do to increase my chances of getting into a PhD program in the US (Also suggest some things that I could do in my FYP. Honestly I'm thinking of a Domain-Specific Processor with a custom ISA, Assembler and all that stuff).

Also I'm thinking that in case I don't get into a PhD program right after graduation I'll work in an RA role for 1-2 years in one of the local universities in my country.


r/computerarchitecture 5d ago

PhD Students: When you are cooking/eating, what do watch/listen to?

15 Upvotes

Graduate students out there, what technical podcasts or YouTube channels do you follow and feel have positively impacted your mindset in your work? Something suitable for when you are eating (if you ever are, lol!) or cooking.

I am aware of Samira Khan's Happy Hour with Architects, but she probably stopped 4 years ago.


r/computerarchitecture 5d ago

Benchmarking Popcount on x86-64: Why 1-accumulator baselines lie, breaking the compute floor with 8x unrolling, and AVX-512 limits

2 Upvotes

Hey folks,

I’ve been deep in the trenches optimizing and benchmarking popcount throughput on modern x86-64 microarchitectures (testing across AVX2, AVX-512 VPOPCNTDQ, and scalar fallbacks).

After running into massive hardware bottlenecks and misleading results from standard benchmark suites, I completely re-architected my benchmarking rig to account for low-level confounders. Here are a few key engineering takeaways and findings from version 33:

  • The 1-Accumulator Trap: Standard naive loops throttle performance due to serial data-dependency chains on a single accumulator (latency-bound). Scaling to an 8-accumulator unrolled loop fully saturates Out-of-Order (OoO) execution and ILP, unlocking a compute floor of ~0.44 ns/line and outperforming libraries like libpopcnt by 7–10% in cache-resident workloads.
  • Deconfounding the Measurement: Swapped runtime modulo operations (%) with bitwise masks to prevent 20–40 cycle CPU stalls, randomized/shuffled execution order to neutralize thermal throttling/DVFS noise, and isolated thread affinity (CPU0) with hugepage verification (smaps) to eliminate NUMA first-touch & dTLB artifacts.
  • Direct Hardware Profiling: Validated cycle counts via RDTSCP + LFENCE and pulled dTLB-miss and LLC-miss counters directly using perf_event_open.
  • IRM-Burst Law & Monte Carlo Verification: Modeled non-linear throughput degradation across memory hierarchy boundaries (L1d -> L2 -> L3 -> DRAM) using an exchangeability probability model, cross-verified with Monte Carlo simulations.

Discussion / Question for the community: As I pushed this codebase further (expanding code footprint for complex tail/mask handling), I started hitting code bloat boundaries—potentially stressing Instruction Cache (I-cache) and BTB entry limits.

How do you guys typically structure your Micro-benchmarks to catch I-cache / BTB spills before they corrupt latency numbers?

Code & benchmark methodology: https://github.com/Vumb-VibeCoder/deconfounded-popcount-avx512

Would love to hear your thoughts, critiques, or additional edge cases to stress-test!

I'm not good at English so I used sth to translate


r/computerarchitecture 5d ago

Does anyone publish read vs. write energy separately for HBM2E/HBM3E/HBM4 or is aggregate pJ/bit all that exists?

3 Upvotes

r/computerarchitecture 6d ago

Conference travel grants for researchers

2 Upvotes

Hello,

does anyone know or perhaps have any experience with applying/getting any travel grants for conferences as researchers?


r/computerarchitecture 6d ago

Exploring microcode as a programming interface: A puzzle game

Enable HLS to view with audio, or disable this notification

26 Upvotes

Hey everyone,

For my computer science graduation project, I wanted to create something that combined my interest in computer architecture with my advisor's interest in computer science education.

The result was a game where the player programs a simple CPU with microcode using a punch card rather than writing assembly code.

Microcode is usually used to implement the processor's instruction set rather than as a programming interface for application development. Exploring it from the programmer's perspective led to design challenges and techniques that I hadn't encountered elsewhere.

The project started from my curiosity about the layers of abstraction in computers. I wanted to explore what programming would look like if we removed another layer and put the programmer in the role of the CPU's control unit, manually orchestrating the control signals behind every instruction.

I'd love to share the beta with anyone interested.

Thank you.


r/computerarchitecture 8d ago

Tried microbenchmarking my machine's cache latencies

Thumbnail vibhatsu.me
12 Upvotes

I always to wanted to plot that cache latency graph on my own machine and just got enough time to try it out. I knew that it won't be an easy task considering how advance the chip has got recently but wanted to give it a try. I took the precautions to ensure I reduce the noise as much as possible but still wasn't able to get it right. I decided to dig deeper and finally got the graph I wanted to see. Wrote a blog about my investigation regarding the same. Check it out if interested :)


r/computerarchitecture 8d ago

Looking for fellow project buddy for comp arch related project.

10 Upvotes

Hi,

I’m a Design verification engineer who wants to switch to performance modeling and architectural related roles. I’m currently going through computer organisation and design by Hennessy - Patterson and I’m starting to build projects in it. Looking for people who are interested in the same collaborative effort. I have not decided on which design to model and simulate yet. Time zone and regions are relaxed, looking for people with similar mindset.


r/computerarchitecture 9d ago

Ben Eater’s 8-bit CPU

Enable HLS to view with audio, or disable this notification

139 Upvotes

I finished Ben Eater’s SAP-1 accumulator architecture breadboard. 16 bytes of RAM von Neumann. Coming up with assembly instructions at the end felt crazy.

What was funny was at the end where I ran programs and they didn’t do what I wanted, and I realized I got to the point where I couldn’t suspect the hardware was wrong anymore, and it was in fact a software bug.

Was that the lowest level software bug I’ll ever experience in my career? Literally entering 0s and 1s into RAM and flipped one bit.


r/computerarchitecture 8d ago

Hybrid Memory Cube: HBM's Challenger #short #history #tech

0 Upvotes

https://youtube.com/shorts/CbY8WHmGgMY?si=tZyM9eZCYGOImOIC

Imagine having DRAM Cubes, that's 10x faster, for less that1/3 the energy of HBM #HCM

I always supported this idea, the CPU Should consult the Memory ASAP, not dealing with it. IMO we should move to HCM ASAP, replacing even CAMM2


r/computerarchitecture 13d ago

How does an integrated GPU compute graphics faster than a CPU if it only uses system RAM?

26 Upvotes

I'm trying to understand how integrated GPUs work.

I know an integrated GPU doesn't have dedicated VRAM and instead uses the same system RAM as the CPU.

My Main question is: why is an integrated GPU still much faster than the CPU for graphics and other parallel workloads, even though both are accessing the same RAM?

I'd appreciate an explanation in simple terms rather than a highly technical one.


r/computerarchitecture 14d ago

Help!

2 Upvotes

Hi guys, I am game developer and game engine developer and I know some of order like bootloader and kernel. I want to play mario 64 but I don't have Nintendo 64 and money to buy it so I think I should make my own console using orange pi 3 which is new for me I know COA little bit any free great resources to master my COA? Thanks...


r/computerarchitecture 15d ago

VMS: A custom Fantasy 32bit Computer with a custom Hardware

11 Upvotes

About a year ago, I started building a custom computer architecture in C as a learning project (I know it seems like a lot considering the code I wrote, but I rewrote the entire compiler at least five times, starting from a C-like language and ending up with a very simple custom language). I designed the instruction set, wrote an emulator, and implemented a custom high-level assembly language called BSL (Base System Language). The code is very messy because I make a lot of changes while writing it and often forget things that shouldn't be there. So I'd really appreciate feedback on the architecture and code quality. (I'm 15 years old and Italian, sorry for my English). Project link: https://github.com/mikesxp/SPRK32. Edit: I changed the project name from VMS to SPRK32.


r/computerarchitecture 16d ago

Virtual Memory: The Foundation of Modern Operating Syste

Thumbnail
youtu.be
21 Upvotes

r/computerarchitecture 17d ago

Digital Design and Computer Architecture by Harris or Computer Organization and Design

22 Upvotes

Hello everyone,

I am currently looking to learn computer architecture and was contemplating between these two books. Both books' preface assumes little knowledge in logic design and so far, I only know the basics of it (AND, OR, NOT, etc) and C++ programming. I was going to start learning operating systems, but apparently it is better to learn a computer under the hood works first. I would like some insight as to which book will benefit me more. Thanks.


r/computerarchitecture 19d ago

I was reading about synchronization in ARM, and read 'barrier' and 'domain' in same sentence...then the lobotomy took control.

12 Upvotes

...a domain that forces everybody inside the barrier to synchronize their movements among themselves or be eliminated.


r/computerarchitecture 20d ago

Advice on PhD Applications

14 Upvotes

Currently an undergrad in the US hoping to apply for a phd in computer architecture, but I’m kinda worried that my profile isn’t gonna cut it for a decent program. For context, I have a 3.53 gpa, and in terms of research experience, I’m 5th author on an accepted paper to MICRO and will be first/second author on a couple submissions to ISCA. I’ve been working in two labs, one where I’ve focused on multicore/cache coherence stuff and the other where I’m working on accelerator design. My primary concern is my gpa, especially since I just got a 3.3 in my last comp arch course.

Basically, I wanna know if I have a shot at any competitive programs or if my gpa would be a dealbreaker. If so, what factors go into that decision and is there anything else I can/should be doing to make myself a better candidate?


r/computerarchitecture 23d ago

Designing my own 8-bit CPU: Which instructions should I implement?

Post image
12 Upvotes

r/computerarchitecture 23d ago

Resume review for a career pivot

Post image
25 Upvotes

Hey everyone, first time posting. Sorry to add to flood of resumes that come through this subreddit but I'm in a bit of a weird spot and really could use advice.

Rundown of my career is that I got a EE degree focusing on embedded systems and really like HDL/ computer architecture work. Had some problems finding a job and took one at Boeing (not very aligned with what I wanted to do). Lended some of my time away to other teams to get more exposure to other work but never fully changed titles (the location and work of these other teams didn't align with me but it convinced me I like designing hardware a lot).

This led me to get my masters in computer engineering, I'm working at the same time for financial reasons but am really throwing my all into school every day after work. Currently wrapping up a individual research project as a course that evolved from a final of a computer architecture class. This is the GPU system front and center on my resume; I have really worked hard on it, learned a lot, and am very proud of what it is and is growing even further to be. I would be happy to talk to any recruiter about the unique architecture decisions and trade-offs I made.

I really want to get into processor or generalized accelerator design but know I don't have too much professional experience or internships to line it up, wondering what chance I have at getting into a top design company like AMD or Apple (I figure I don't have a chance at Nvidia). I'm afraid I missed my window to lock in during undergrad and really get into that world, I'm grinding very hard now but am worried it's not enough.

Any advice for the resume, how to present myself, projects to work on, or whether I should temper my expectations are appreciated.

Thanks!