Superscalar Processor’s Architecture Team Federal University of Rio Grande do Sul Brazil - 1999 Prof. Philippe O. A. Navaux Prof. Tiaraju A. Divério Prof. Sergio Bampi APSE Introduction Members: Motivation Goals • Rafael R. Santos, PhD Student • Ronaldo A. L. Gonçalves, PhD Student SE Overview • Maurício Lima Pilla, PhD Student Evolution Steps • Rafael L. Sagula, Master Student • Tatiana G. S. Santos, Master Student Work In Progress • Guilherme Dal Pizzol, Undergraduate Student Memory Hierarchy • Leonardo Heredia, Undergraduate Student Speculative Fetch SEMPRE Covered Topics – Memory hierarchy – High bandwidth Fetch and Prefetch schemes – Branch Prediction – Speculative Execution – SMT and Multi-Path architectures – Analytical and Simulation Modeling Goals • To design more aggressive techniques and architecture models to obtain higher IPC rates • To design architectural support to handle the control and data dependencies in order to reduce their penalties • To develop analytical models performance indexes quickly to have draft • To develop simulators to keep track on the execution behavior of the new schemes getting closer to real situations APSE Project Evolution Scalar Pipeline Superscalar Pipeline Multi-path fetch “Speculative” Multi-path Execution Simultaneous Multithreaded f- buffer IC i- queue FU regs Development Steps Architecture Specification Analytical Modeling Simulation Performance Evaluation Work in Progress APSE Memory Hierarchy Prefetch (Tatiana) Speculative Fetch (Rafael) Cache (Rafael) Simultaneous Multithreaded Architecture (Ronaldo) Operating System Performance Evaluation Modeling (Sagula) Simulation (Pilla) UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO SEMPRE - Proposta de uma Arquitetura Multi-Tarefas Simultâneas com Capacidade de Execução de Processos Proposta de Tese de Doutorado Ronaldo A. L. Gonçalves Orientando Philippe O. A. Navaux Orientador INTRODUÇÃO: Motivação e Fundamentação Teórica • Hardware cada vez mais sofisticado • Desempenho atual ainda baixo (sobra hardware) • Necessidade de maximizar a utilização do hardware • Aplicações atuais possuem paralelismo limitado • Uma Solução: arquiteturas SMT • Limitação: dificuldade para programação multi-tarefas • Uma Extensão: usar processos • Benefícios e Efeitos Colaterais • Outra Extensão: suporte de hardware ARQUITETURA PROPOSTA - SEMPRE I-Cache BUSCA SLOT RDP FI ... FD FP FA RE DECODIFICAÇÃO D-Cache FRm FRd ... EXEC Desvio UF1 UFn L/S FT TÉRMINO RE CONCLUSÃO Bancos de Regs Br1 Br2 Br3 Br4 Br5 Br6 Brm INSTRUÇÕES PRIVILEGIADAS • Create, Kill, Suspend e Resume Inexistente ou Morto 1 Transições 2 3 4 Pronto “FP” 5 8 6 7 9 Em Trânsito “FT” 10 Suspenso “FP” 11 12 Ativo “FA” 1 - create 2 - kill 3 - kill ou execução irregular 4 - kill 5 - kill 6 - final de execução parcial do contexto 7 - suspend 8 - resume 9 - escalona (troca de contexto) 10 - suspend 11 - decodifica (inverte bit alternador) 12 - suspend PRÉ-BUSCA DE INSTRUÇÕES Memória L2 cache Pré-Busca P1 P2 P3 P4 P5 P6 : L1 i-cache TB P1 P2 P3 P4 próx p/ pré-buscar próx. p/ buscar Busca troca contexto P1 P2 P3 P4 P5 P6 P7 P8 P9 : miss-status 1 1 0 FP 0 0 MODELAGEM ANALÍTICA • Trabalho Cooperativo • Ferramenta DSPN - Redes de Petri • Objetivos • Alcance dos Modelos - Comportamental • Modelagens Ideal e com Pré-Busca • TOFI (Taxa de Ocupação das Filas de Instruções) • Capacidade de Despacho MODELAGEM DA BUSCA COM PRÉ-BUSCA Capacidade de Despacho x Acertos na I-cache 7 Capacidade de Despacho 6 5 4 SMT Ideal SEMPRE 3 SMT Normal 2 1 0 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 Taxa de Acertos na I-Cache 0,7 0,75 0,8 0,85 0,9 Capacidade de Despacho x Latência da Cache L2 7 Capacidade de Despacho 6 5 SEMPRE 90% 4 SMT Normal 90% SEMPRE 85% SMT Normal 85% SEMPRE 80% 3 SMT Normal 80% 2 1 0 1 2 3 4 5 6 7 8 9 10 Latência de L2 11 12 13 14 15 16 CONCLUSÕES • Propomos uma arquitetura que executa processos • Que aproveita paralelismo abundante • Que maximiza a utilização do hardware • Que otimiza a utilização da cache de instruções • Que facilita o trabalho do sistema operacional PRÓXIMOS PASSOS • Implementação do simulador • Técnica para otimizar a utilização da cache de dados TRABALHOS FUTUROS • Desenvolver sistema operacional PUBLICAÇÕES CACIC 98 - Argentina SBAC-PAD 98 - Brasil CLEI 99 - Paraguai SBAC-PAD 99 - Brasil * Superscalar Processors Architecture Team Federal University of Rio Grande do Sul Brazil - 1999