Software Engineer: CPU and Memory Hierarchy
Santa Clara Valley (Cupertino) , California , United States
Posted: Jan 13, 2022
Weekly Hours: 40
Role Number: 200331318
Imagine what you could do here. At Apple, new ideas have a way of becoming extraordinary products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Dynamic, smart people and inspiring, innovative technologies are the norm here. The people who work here have reinvented entire industries with all Apple Hardware products. The same passion for innovation that goes into our products also applies to our practices strengthening our commitment to leave the world better than we found it. Join us to help deliver the next groundbreaking Apple product. Are you passionate about changing the world? We have a critical impact on getting high quality functional products to millions of customers quickly and we are hiring all levels from junior to senior roles. The Silicon Validation team is responsible for validating functional behavior and exercising interactions between different IP blocks in the SoC. Join a team of expert software engineers with diverse backgrounds (graphics, video encoding, video processing, file systems, CPUs and caching, kernel programming, embedded systems) in developing low-level software to test code to drive the CPUs, the caches, the fabric, the memory controller, and the coherency point with the goal of finding bugs.
- Work closely with designers and architects to understand the architectural and operational details of the various functional blocks
- Write directed and random tests to push the blocks to their limits
- Integrate these tests into an existing test framework
- Use these tests, other tests, and this framework to find issues pre-silicon, and post-silicon
- Debug issues pre-silicon or post-silicon using this test framework
Experience with low-level CPU code interacting with the MMU and dealing with load/store units. Experience with finding bugs in SoC designs and implementations Deep understanding of CPUs, and memory hierarchy Assembly language knowledge a must Skilled and interested in validation and debugging Ability to work well on a team, but to be responsible and self-driven.
Education & Experience
BS or MS in EE or CS with 5+ years