Initialization | Pintos Documentation
Unlike GPRs, the x86 FPU is different since it doesn’t have specific floating point registers that are independently addressable. Instead, it has a stack of registers, and the programmer interacts with the FPU by pushing and popping from the stack. For example, to compute the square root of 𝜋 π, you would first push 𝜋 π onto the stack, and then run the fsqrt instruction. This instruction will pop the top of the stack, compute the square root of that value, and push it onto the top of the stack. Now, 𝜋 π is at the top of the stack. Newly-created threads and processes generally cannot assume anything about the contents of GPRs, meaning GPRs do not have to be initialized to any particular values when a new thread or process is created. On the contrary, newly-created threads and processes in general should be able to assume that the FPU is clean (i.e. initialized/reset properly), meaning the FPU needs to be initialized at the operating system startup, thread/process creation, an
Initialization | Pintos Documentation Skip to main content Menu Expand (external link) Document Search Copy Copied Pintos Documentation Initialization Unlike GPRs, the x86 FPU is different since it doesn’t have specific floating point registers that are independently addressable. Instead, it has a stack of registers, and the programmer interacts with the FPU by pushing and popping from the stack. For example, to compute the square root of \(\pi\), you would first push \(\pi\) onto the stack, and then run the fsqrt instruction. This instruction will pop the top of the stack, compute the square
related reading
- Thread functions | Pintos Documentationcs162.org
- Intro - Putting the "You" in CPUcpu.land
- The "Basics" | Putting the "You" in CPUcpu.land
- Ken Shirriff's blogrighto.com
- 1. Introduction — PTX ISA 9.3 documentationdocs.nvidia.com
- Understanding threads | Pintos Documentationcs162.org
- Inside NVIDIA GPUs: Anatomy of high performance matmul kernels - Aleksa Gordićaleksagordic.com
- cs140e-24win/labs/13-ss-equiv/README.md at main · dddrrreee/cs140e-24wingithub.com
- GitHub - adam-maj/tiny-gpu: A minimal GPU design in Verilog to learn how GPUs work from the ground up · GitHubgithub.com
- How FPGAs work, and why you'll buy oneyosefk.com
- Floating point from scratch: Hard Mode · Tales on the wireessenceia.github.io
- General-purpose computing on graphics processing units - Wikipediaen.wikipedia.org