Responsibilities:
Microarchitecture Design: Design and develop the microarchitecture of CPU cores, accelerators, memory subsystems, and other components of computer processors and SoCs
Performance Optimization: Optimize microarchitectural designs for performance, power efficiency, area utilization, and other key metrics, considering design constraints and objectives
Instruction Set Architecture (ISA): Define and refine the instruction set architecture (ISA) of processor cores, including instruction encoding, pipeline stages, execution units, and memory hierarchy
Pipeline Design: Design and optimize the pipeline structure of processor cores, including instruction fetch, decode, execute, memory access, and write-back stages, to achieve high performance and efficiency
Cache Design: Design cache hierarchies, including L1, L2, and L3 caches, cache coherence protocols, prefetching mechanisms, and cache replacement policies, to enhance memory access performance and data locality
Interconnect Design: Design on-chip interconnects, such as buses, crossbars, and networks-on-chip (NoCs), to facilitate efficient communication and data transfer between processor cores, memory subsystems, and peripherals
Power Management: Implement power management features and techniques, such as clock gating, power gating, dynamic voltage and frequency scaling (DVFS), and low-power modes, to optimize power consumption while meeting performance requirements
Verification and Validation: Collaborate with verification engineers to develop test plans, perform functional verification, and validate microarchitectural designs using simulation, emulation, and hardware prototyping
Documentation and Communication: Create detailed design specifications, architecture documents, design reviews, and presentations to communicate design decisions, trade-offs, and implementation details to cross-functional teams and stakeholders
Technology Trends: Stay updated with the latest technology trends, advancements, and industry standards in microarchitecture design, computer architecture, semiconductor technology, and system-on-chip design methodologies
Qualifications:
Education: Bachelor's, Master's, or Ph.D. degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field, with a focus on computer architecture, VLSI design, or microelectronics
Experience: Several years of experience in microarchitecture design, CPU design, SoC design, or related roles, with a strong understanding of computer architecture principles and design methodologies
Design Tools: Proficiency in using industry-standard design tools and software for microarchitecture design, simulation, synthesis, and verification, such as Verilog, VHDL, SystemVerilog, Cadence, Synopsys, and Mentor tools
Programming Skills: Strong programming skills in languages like C/C++, Python, or scripting languages for design automation, modeling, and performance analysis
Analytical and Problem-Solving Skills: Excellent analytical skills, critical thinking, and problem-solving abilities to analyze complex design challenges, identify bottlenecks, and propose innovative solutions
Communication and Collaboration: Effective communication, teamwork, and collaboration skills to work closely with cross-functional teams, including architects, designers, verification engineers, software developers, and project managers
Creativity and Innovation: Ability to think creatively, explore new ideas, and innovate in microarchitecture design to achieve performance, power, and area goals for next-generation processors and SoCs
Any graduate