Escolar Documentos
Profissional Documentos
Cultura Documentos
ii
Monografia apresentada como exigncia parcial para a obteno do Ttulo de Bacharelado em Cincia da Computao Banca Examinadora da Universidade da Amaznia, elaborada sob a orientao do Professor Doutor Jos Augusto Furtado Real.
iii
iv
AOS
amizade, amor e carinho com os quais sou presenteado em todos os dias da minha vida.
AO
incentivo.
vi
Priscila Lima
Gisely
Paes
AO
Furtado
nosso
orientador,
Jos
Augusto
Real
pela
sua
ajuda
pela
disposio com que orientou nosso estudo, as professoras Jacqueline Teixeira e Regiane Francs pelo apoio no momento mais
vii
de modo direto ou indireto, nos deram o apoio e o estmulo necessrios para a concretizao deste trabalho.
viii
Vanessa Beta
LISTA DE GRFICOS
Grfico 1: Grfico comparativo do desempenho entre PENTIUM x ATHLON. Grfico 2: Grfico comparativo entre as arquiteturas 47 48
ix
LISTA DE TABELAS
Tabela 1: Configurao dos computadores utilizados no teste. Tabela 2: Resultados obtidos com base na execuo do Sisoftware Sandra 2002. Tabela 3: Comparao dos resultados com mquina de referncia.
46 46
48
LISTA DE ABREVIATURAS
CISC Complex-Instruction-Set-Computing. CPI Clock cycles per Instruction. CPU Central Processing Unit. MFLOPS Millions of Floating Point Operations per Second. MIPS Millions of Instruction per Second. MWIPS Millions of I instruction Whetstone per Second. PC Personal Computer. RISC Reduced-Instruction-Set-Computing SPEC System Performance Evaluation Cooperative.
xi
RESUMO
Este estudo objetiva especificamente analisar microprocessadores dos
fabricantes Intel e AMD, buscando identificar aquele de melhor desempenho em relao a operaes aritmticas. Para isso, foram analisados os principais programas que realizam testes de desempenho, entre eles o Sisoftware SANDRA 2002, que um programa capaz de efetuar esses testes nos microcomputadores da linha IBM-PC. Alm disso, foram feitos testes de desempenho em computadores com vrias configuraes. Os resultados parecem indicar que a arquitetura do ATHLON mostrou ser mais eficiente tanto em clculos aritmticos e manipulao de strings quanto em operaes que envolvem ponto flutuante.
xii
Abstract
This essay will only analyse Intel and AMD microprocessors searching to identify wich one is best to perform mathematical operations. For that, we used the main programs to test the performance of the microprocessors, the Sisoftware SANDRA 2002, that is a program capable of alnalysing IBM-PC microprocessors. After that, tests were made in computers of several configurations. The results seem to point that Athlon architecture showed to be more efficient either in Mathematical operations or in Strings manipulation in operations that use floating points.
xiii
SUMRIO
1. INTRODUO 2. FUNDAMENTOS TERICOS 2.1. MTRICAS DE DESEMPENHO 2.1.1. MIPS 2.1.2. MFLOPS 3. BENCHMARKS 3.1. BENCHMAK WHETSTONE 3.2. BENCHMAK DHRYSTONE 3.3. BENCHMAK LIVERMORE LOOPS 3.4. BENCHMAK LINPACK 3.5. BENCHMAK SPEC 4. CONSIDERAES SOBRE ANLISE DE DESEMPENHO DA CPU 4.1. CACHE 4.1.1. Cache L1 4.1.2. Cache L2 4.2. PIPELINE 4.3. ARQUITETURA SUPERESCALAR 4.4. BARRAMENTO EXTERNO 4.5. QUANTIDADE DE REGISTRADORES 5. UMA APLICAO PENTIUM 4 VERSUS ATHLON 6. CONCLUSO 15 21 21 22 26 28 30 31 33 34 36 39 39 39 40 41 42 43 43 45 51
xiv
7. BIBLIOGRFIAS
52
1. Introduo
importante que na escolha de por determinado microcomputador, o usurio faa uma comparao entre os disponveis no mercado levando em conta, principalmente, o parmetro desempenho. Entretanto, na maioria das vezes esta comparao feita com base em dados gerais disponibilizados pelos fabricantes e em informaes fornecidas pelos revendedores informaes estas que na maioria das vezes so superficiais e que nem sempre consideram a necessidade real do consumidor. O objetivo deste trabalho de concluso de curso , realizar um estudo dos mtodos de analise de desempenho de CPU (Central Processing Unit) evitando analises baseada em informaes subjetivas do consumidor. No somente os usurios esto preocupados com o desempenho, os projetistas e fabricantes de
microcomputador, necessitam de dados especficos e precisos sobre o desempenho da mquina para se poder, por exemplo, projetar uma arquitetura com maior capacidade de processamento. Por este motivo, o estudo de mtodos para avaliao de desempenho uma rea de pesquisa importante no desenvolvimento de arquitetura de computadores. Por outro lado, o crescimento acelerado da tecnologia e o aumento da complexidade dos sistemas computacionais fazem da avaliao de desempenho uma questo no muito simples de ser resolvida [3]. Uma forma de avaliar o desempenho de um sistema computacional atravs de ferramentas capazes de quantificar em dados o desempenho de um computador. Essas ferramentas so conhecidas como Benchmarks, e so programas desenvolvidos
16
especialmente para trabalhar na medida de desempenho. Atravs de um benchmark, possvel determinar se um sistema em particular pode processar adequadamente uma carga real, se as caractersticas de custo e desempenho so adequadas para um determinado problema e quais as melhores opes de configurao de hardware e software, considerando se um sistema em particular [2]. Alm disso, os benchmarks podem ser utilizados na avaliao de sistema j em operao, neste caso deseja-se verificar se uma alterao em um determinado parmetro do sistema, seja de hardware ou em software, resultar na melhoria do desempenho. Neste caso preciso que haja condies de submeter o benchmark ao sistema alterado antes de consolidar definitivamente a modificao. Pois existem casos em que no possvel interromper a operao de um sistema, neste caso, uma soluo disponibilizar um outro sistema no qual possam ser efetuados os testes antes de alterar o sistema em operao. Toda e qualquer atividade envolvida no processo computacional pode e deve ser medida e avaliada, a fim de que se possa ter a certeza que ela adequada aplicao para a qual foi projetada e que corresponde s expectativas em termos de eficincia e confiabilidade. Existem vrias medidas para quantificar o desempenho de um sistema computacional, as mtricas utilizadas so relacionadas a aspectos histricos envolvidos. At o final dos anos 80, as medidas dominantes de desempenho de computadores eram MIPS (milhes de instrues por segundo) e MFLOPS (milhes de operaes de ponto-flutuante por segundo). Essas medidas tiveram origem na percepo do conjunto de instrues que representava a carga de trabalho de um sistema. Entretanto, medidas baseadas no conjunto de instrues tm provado ser um critrio no muito adequado para a comparao de desempenho. Devido s diferenas
17
existentes nos conjuntos de instrues dos diversos processadores. Alm do mais, o aspecto de desempenho em relao ao conjunto de instrues representa um critrio do uso de benchmark voltado somente as operaes que envolvem CPU. A evoluo das famlias RISC (reduced-instruction-set-computing) e CISC (complex-instruction-setcomputing)1 mostra que medidas de MIPS e MFLOPS so inadequadas para indicar com preciso as mtricas de desempenho [6]. Um benchmark constitudo por cargas naturais e cargas artificiais. As cargas naturais correspondem exatamente carga real, onde estas so observadas nos sistemas em operao normal utilizando um determinado aplicativo real. J as cargas artificiais podem ser de duas espcies: as cargas sintticas, projetadas e implementadas sem nenhum compromisso em utilizar cargas reais, e as cargas hbridas, que se caracterizam em possuir partes de uma carga real. De um modo geral, as cargas naturais necessitam de perodos de medio muito longos para que se possa garantir um alto grau de representatividade, o que no ocorre com as cargas artificiais, pois so projetadas adequadamente apara analisar um certo aspecto do sistema (anlise de CPU, perifricos etc.) permitem aplicaes repetitiva e controlada. Isso constitui uma das razes bsicas pela qual as cargas artificiais so geralmente preferidas. Entre as cargas artificiais, as hbridas so, aparentemente, de obteno menos dispendiosa que as sintticas. Estas, entretanto, constituem os chamados benchmarks sintticos, so mais flexveis e, uma vez cuidadosamente ajustadas e validadas, permitem que alcance uma melhor representatividade igual num perodo de testes mais curto.
RISC so arquiteturas com o conjunto de instrues reduzidas e CISC o conjuntos de instrues so complexas.
18
Todavia, os profissionais da computao sempre quiseram estabelecer critrios de avaliao de um sistema. Dois Benchmarks comuns para medir o desempenho de computadores so do tipo kernel e sintticos usados como representaes de carga de trabalho para computadores. Programas kernel so segmentos de cdigo extrados de aplicaes reais e altamente representativas (inverso de matrizes e busca em rvores, por exemplo), enquanto programas sintticos so programas gerados artificialmente para tentar retratar as caractersticas de um grande conjunto de programas. Os testes mais comuns de benchmark baseados em kernel ou programas sintticos incluam os testes Dhrystone, Whetstone, Linpack e Livermore Loops, que so benchmarks comuns. MIPS foi derivado do Dhrystone e o MFLOP foi largamente influenciado pelo Linpack, apesar da contribuio do Livermore Loops [10]. Um outro benchmark muito conhecido chama-se System Performance Evaluation Corporative (SPEC) uma cooperativa formada por grandes fabricantes de computadores que buscam desenvolver, manter e apoiar um conjunto padronizado de benchmarks que possam ser aplicados a mais nova gerao de computadores de alto desempenho. O SPEC no exatamente o nome de um benchmark. Na verdade, tratase de um consrcio de vinte e duas empresas que tm como objetivo prover a indstria com um padro realstico para medir o desempenho de sistemas de computadores avanados [2]. Os benchmarks desenvolvidos por esta cooperativa de empresas so programas reais (o que os classifica como benchmarks de aplicao), que visam medir o desempenho da maior parte possvel de componentes do sistema, principalmente o processador, arquitetura de memria e compilador. O que se tem de mais recente no conceito de benchmark o acoplamento de um hardware ao processador, monitorando o seu desempenho. Os dados coletados por
19
esse hardware fornecem informaes de desempenho das aplicaes, do sistema operacional e do processador. Os dados podem guiar os esforos de obteno de desempenho fornecendo informaes que ajudam os programadores a melhorar os algoritmos utilizados pelas aplicaes, o sistema operacional e as seqncias de cdigo que implementam esses algoritmos [5]. Este trabalho de concluso de curso, objetiva especificamente analisar processadores dos fabricantes Intel e AMD, buscando identificar aquele que possui melhor desempenho em termos de clculos aritmticos. Para alcanar esse objetivo, foi realizado um estudo que consiste de trs fazes. A diviso em fazes necessria para uma anlise detalhada dos principais programas que realizam testes de desempenho, e consistem em: a) Escolha de um programa capaz de efetuar todos os testes de desempenho nos microcomputadores da linha IBM-PC; (Athlon e Pentium 4) b) Realizao dos testes de desempenho considerando-se vrias configuraes; c) Apresentao dos resultados dos teste de desempenho. O trabalho foi estruturado em cinco captulos o primeiro representado por esta introduo, que apresenta os objetivos principais, estado da arte em que se encontra a rea. O segundo captulo apresenta os fundamentos tericos, necessrios para a compreeno do trabalho. J o terceiro captulo focaliza os principais e mais comuns benchmarks encontrados na literatura computacional, dando maior nfase ao benchmark SPEC. O quarto captulo, por sua vez, discute os aspectos gerais envolvidos na anlise de desempenho de CPUs, enquanto o captulo quinto traz uma aplicao dos testes de benchmark realizados nos computadores Pentium 4 e Athlon, a partir de certos parmetros de comparao, da escolha da configurao, dos resultados
20
obtidos e da anlise desses resultados. A concluso do trabalho aborda as principais constataes resultantes dessa anlise e comenta a perspectiva de trabalhos futuros na rea.
21
22
tempo entre a solicitao de um saldo de conta em um terminal bancrio e a apresentao, no vdeo, da resposta, o saldo da conta. Uma outra unidade de medida de desempenho a vazo ("throughput"), que define a quantidade de aes ou transaes que podem ser realizadas por um sistema na unidade de tempo, por exemplo, pode-se mencionar a quantidade de atualizaes que so realizadas em um sistema de controle de estoque de uma empresa. Quando se faz referncia velocidade com que um determinado dispositivo de entrada ou de sada transfere ou recebe dados da CPU, utilizada uma unidade que mede a taxa de transferncia que o canal de ligao pode suportar, isto , a quantidade de bits por segundo que podem trafegar por aquele canal [4].
2.2.1 - MIPS
No contexto de medidas de desempenho de CPU, MIPS significa Milhes de Instrues por Segundo. A taxa de MIPS de uma CPU se refere ao nmero de instrues de cdigo de mquina um processador pode executar em um segundo. Infelizmente, usar este nmero como uma maneira de medir desempenho de processador algo completamente sem sentido, j que dois processadores individuais nunca usam o mesmo tipo de instrues, mtodos de execuo etc. Por exemplo, em um processador, uma simples instruo pode realizar vrias tarefas quando executadas como se observa na famlia CISC, enquanto em outro processador uma simples instruo pode fazer muito pouco, mas mais rpida de ser executada como ocorre na famlia RISC. Alm disso, instrues diferentes no mesmo processador quase sempre significam cargas muito diferentes de trabalho (por exemplo, uma simples instruo
23
aritmtica pode levar apenas um ciclo de clock para ser completada, enquanto fazer algo como uma diviso de ponto flutuante ou uma operao de raiz quadrada pode levar de 20 a 50 ciclos de clock). Os especialistas que desenvolvem processadores e as pessoas interessadas em saber como eles funcionam quase nunca utilizam a taxa de MIPS quando discutem desempenho porque isto intil (muitos ainda pensam que a taxa de MIPS o aspecto mais importante relativo ao desempenho). O nmero de MIPS de uma mquina geralmente muito alto em decorrncia da maneira como trabalham os processadores, porm, na verdade, o nmero de MIPS geralmente diz muito pouco sobre como o processador realmente funciona. Em um processador hipottico com uma taxa de MIPS menor que a de outro pode, na realidade, ser um processador melhor no aspecto de velocidade, uma vez que suas instrues teriam condies, por exemplo, de realizar mais trabalho por ciclo de clock do que um outro com uma taxa maior [2]. Vejamos uma ilustrao: imagine um processador de 32 bits rodando a 400 MHz, ele pode possuir uma taxa de 400 MIPS. J um processador de 64 bits rodando a 200 MHz pode ter uma taxa de 200 MIPS (assumindo um design simples em cada caso). Se a tarefa a ser realizada pelos processadores envolvesse processamento de ponto-flutuante de 64 bits (processamento de udio, por exemplo), o processador de 32 bits levaria muito mais ciclos de clock para completar uma simples multiplicao de ponto-flutuante de 64 bits, j que os seus registradores tm comprimento de palavra de 32 bits apenas. A CPU de 32 bits levaria pelo menos o dobro do tempo para realizar tal operao. Ento, para operaes de 64bits, o processador de 32 bits seria muito mais lento do que o de 64 bits. Em compensao, se a tarefa envolvesse operaes de 32 bits, se os registradores de 64 bits, na CPU de 64 bits, pudessem ser tratados como dois
24
registradores de 32 bits, a CPU de 32 bits seria muito mais rpida. Tudo dependeria dos requerimentos de processamento. A situao na vida real , entretanto, muito mais complicada, pois CPUs reais raramente realizam tarefas uma de cada vez em apenas um ciclo de clock. Operaes aritmticas simples podem levar apenas um ciclo de clock, uma multiplicao de inteiros pode levar dois ciclos, uma multiplicao de ponto-flutuante pode levar cinco ciclos, e assim por diante. Alm do mais, algumas CPUs foram projetadas para fazer mais do que uma operao do mesmo tipo ao mesmo tempo por exemplo, quando possuem mais de uma unidade de processamento. As CPUs modernas (entre elas as sries R10000 e PA8000) na maioria das vezes possuem duas ou mais unidades de processamento aritmtico para inteiros, duas ou mais unidades de processamento de ponto-flutuante e pelo menos uma unidade de load/store (instrues de mquina). s vezes, elas tambm podem ter unidades especiais para acelerar, por exemplo, clculos de raiz quadrada. Atualmente, h tecnologias tais como a MMX, da Intel que foi desenvolvida para permitir que um registrador aritmtico de 64 bits seja tratado como mltiplos registradores de 32 bits, 16 bits ou 8 bits. Existe ainda a MDMX (da MIPS Technologies Inc.) que faz o mesmo, mas mais poderosa devido ao fato de tambm permitir a mesma diviso do registrador para ser feita com registradores de ponto-flutuante [2]. Essas novas idias permitem que um nmero maior de clculos seja realizado simultaneamente em comparao a arquiteturas mais velhas. Um exemplo: o sombreamento Gouraud, que envolve operaes de ponto-flutuante de 32 bits, usando um registrador de 64 bits de ponto-flutuante como dois registradores de 32 bits
25
separados resulta na melhor das hipteses, no dobro da capacidade de processamento da CPU. A mtrica MIPS pode ser definida como [2]:
MIPS =
Onde CPI a media dos tempos gasto por todas as instrues executadas pelo programa e a taxa de clock a mdia de ciclos de clock por segundo de um microcomputador expressado em Mega Hertz (1 MHz sendo igual a 1 milho de ciclos por segundo). Segundo. A frmula mostra que, quanto maior a taxa de clock, maior o desempenho da mquina. E, quanto menor for o CPI, ou melhor, ciclos de clock por segundo (o valor mnimo 1), maior ser o desempenho medido em MIPS. O MIPS tem a grande vantagem de ser fcil de entender e bastante intuitivo quando se analisa a relao dos fatores envolvidos na frmula. Entretanto existem alguns problemas quando se utiliza MIPS para comparar o desempenho de duas arquiteturas diferentes. O primeiro problema que MIPS especifica a taxa de execuo de instrues de forma independente do conjunto de instrues. No razovel comparar mquinas com diferentes conjuntos de instruo usando MIPS, uma vez que o nmero de instrues de mquina vai ser diferente para cada caso. Segundo, os resultados obtidos com o uso do MIPS variam entre programas no mesmo computador impedindo, portanto, que determinada mquina tenha um nico valor MIPS [2].
26
2.2.2 - MFLOPS
definido, de uma forma geral, como o nmero de palavras de tamanho total de palavra resultante das operaes de multiplicao de ponto flutuante que podem ser realizadas por segundo. Obviamente, operaes de adio e subtrao de ponto flutuante levam menos tempo, sendo a diviso a mais lenta de todas. As CPUs mais antigas levam muitos ciclos de clock para completar uma operao de ponto flutuante e, mesmo considerando-se freqncias altas de clock, a taxa de operaes de ponto flutuante pode ser baixa. Como no caso do 486DX4 de 100 MHz que tem taxa de 6 MFLOPS, ao compar-lo ao R4400 de 200 MHz, que tem taxa de 35 MFLOPS, percebe-se que, para processadores mais antigos, a velocidade de clock no uma indicao clara de taxa de MFLOPS. Com o advento de novas arquiteturas o problema tornou-se ainda mais complexo, pois CPUs como a R10000 podem fazer duas operaes de ponto-flutuante a cada ciclo de clock, conseguindo isso a uma taxa de 400 MFLOPS a 200 MHz. O R8000 ainda mais complexo, pois possui duas unidades de execuo de pontosflutuantes, cada uma capaz de realizar duas operaes deste tipo por ciclo de clock a uma taxa de 360 MFLOPS a 900 MHz, dez vezes mais rpido que o P90 da Intel. Novamente, a tarefa a ser executada um aspecto importante. Uma CPU de 64 bits capaz de fazer 400 MFLOPS pode ser algo significativo, mas, se a tarefa a ser realizada precisa apenas de processamento de 32 bits, ento boa parte da capacidade da CPU est sendo desperdiada. Algumas CPUs tais como a R5000 tratam desse problema visando principalmente os mercados consumidores que no precisam de operaes de processamento de ponto-flutuante de 64 bits. Projetos futuros, como o
27
MDMX, resolvero o problema do desperdcio, mas tambm tornaro a medio do desempenho de CPUs ainda mais difcil. Apesar do que foi dito acima, h ainda um ponto a ser analisado: a velocidade de acesso memria. Uma CPU rpida um aspecto importante quando se refere ao desempenho de pico etc, mas, na realidade, a obteno do melhor desempenho possvel para uma CPU depende tambm da taxa em que ela pode acessar dados dos vrios tipos de memria (caches L1 e L2 e RAM principal). Em um sistema, uma CPU rpida com pouca memria ou de tempo de acesso lento, no ser capaz de obter desempenho semelhante ao desempenho de pico terico. Baseados nesses aspectos, conclui-se que difcil comparar duas arquiteturas tendo como base o desempenho em MFLOP, j que o conjunto de operaes de ponto flutuante das duas arquiteturas pode no ser coincidente. Assim, em caso de dvida sobre qual mtrica utilizar, uma boa estratgia adotar a do tempo de execuo [2].
28
3- Benchmarks
Este captulo, define o que vem a ser benchamrk, alm de apresentar os diferentes tipos e principais benchmarks existentes no mercado para a anlise de desempenho da CPU. Um teste de benchmark o processo que consiste na execuo de um determinado programa ou carga de trabalho em uma mquina ou sistemas especficos, medindo o desempenho resultante. Esta tcnica permite uma avaliao do desempenho desta mquina para a carga de trabalho utilizada que, em termos prticos, pode ser um conjunto de programas executados em um computador. Esses benchmarks podem ser aplicaes completas, sendo partes mais executadas de um programa que so os kernels, ou programas sintticos [10]. Os programas benchmarks podem ser classificados em quatro grupos: sintticos, kernel, algortimo e aplicao. Os benchmarks sintticos so aqueles cujo cdigo no faz nenhuma computao til, no representa nenhuma aplicao real, somente exercita alguns componentes bsicos do computador. Geralmente, tentam determinar uma freqncia mdia de instrues tpicas, comumente utilizadas, e recri-las em um programa. Os mais conhecidos so o Whetstone e o Dhrystone. Os do tipo Kernel so baseados no fato de que a maior parte da computao de um programa concentrada em uma pequena parte de seu cdigo. Esta pequena parte, chamada de ncleo (kernel), extrada do programa e usada como benchmark. Ressalte-se que eles no servem para avaliar completamente o desempenho de uma mquina. So bastante interessantes por sua simplicidade e pequeno tamanho. Um bom exemplo deste tipo de
29
programa o Livermore Loops. Os benchmarks do tipo algoritmos so aqueles que possuem seus algoritmos bem definidos, geralmente implementaes de mtodos conhecidos em computao numrica como, por exemplo, os mtodos de resoluo de equaes lineares (lgebra linear) que fazem parte do benchmark Linpack. Finalmente, os benchmarks do tipo aplicao so programas completos, que resolvem problemas cientficos bem definidos, entre eles o SPEC [13]. Um benchmark deve ser escolhido de tal forma a caracterizar uma carga de trabalho particular da qual se deseja medir o desempenho. Hoje em dia, est claro que o melhor benchmark o emprego de programas reais que sero usados no dia a dia da mquina. Porm, aplicaes reais no so usadas no caso de projetos de novos processadores. O uso de benchmarks sinttico tem algumas vantagens j que so programas pequenos e mais fceis de simular do que programas reais. Alm disso, a gerao de cdigo executvel de programas reais pode ainda nem estar disponvel nos compiladores. Mas para comparar o desempenho de um sistema computacional j no mercado, a melhor estratgia a utilizao de programas reais. Mais uma vez vale lembrar que o desempenho no uma medida absoluta. Para dois programas diferentes P1 e P2, um sistema A pode ter um melhor desempenho para o primeiro programa (P1) e o sistema B, para o segundo programa (P2). Na seo seguinte, sero conceituados os diferentes tipos de benchmarks, suas caractersticas e modo de funcionamento.
30
31
instrues do benchmark refletisse a freqncia mdia das instrues dos cdigos analisados anteriormente. Os resultados eram, ento, medidos em termos de MWIPS (Mega Whetstone Instructions per Second - Milhes de Instrues Whetstone por Segundo) [2]. As vantagens deste benchmark so o seu tamanho reduzido e simplicidade do cdigo, alm de explorar bastante as operaes em ponto-flutuante. Portanto, serve como comparativo para pequenas aplicaes cientficas em computadores de pequeno e mdio porte. Algumas vezes, para fins comerciais, o programa sofre pequenas alteraes como retirada dos comandos de impresso, o que pode eliminar partes importantes do cdigo. Para tentar resolver este tipo de problema, em 1988, uma nova verso em Pascal foi publicada.
32
as atividades da CPU nas aplicaes de computao de propsito mais geral. O resultado do teste do Dhrystone determinado atravs do clculo do tempo mdio que um processador leva para executar as muitas interaes de um simples lao que, por sua vez, contm uma seqncia fixada de instrues que compem o benchmark. Quando se menciona o Dhrystone, usualmente caracterizado como DMIPS (Dhrystone Millions of Instruction per Second) [10]. O Dhrystone tem um nmero de atributos que o levaram a ser amplamente usado no passado para medir desempenho de processadores. Em primeiro lugar, o Dhrystone compacto, tem alta disponibilidade no domnio pblico e simples de usar. O Dhrystone compara o desempenho do processador em anlise ao de uma mquina de referncia. Esta a vantagem que se tem sobre a utilizao direta do nmero de MIPS, j que usar uma mquina de referncia efetivamente compensa as diferenas na complexidade das instrues, etc. Assim, comparar literalmente os nmeros de MIPS de uma arquitetura RISC com os de uma CISC no importante, como dito anteriormente neste trabalho [2]. No passado, a indstria adotou o VAX 11/780 como uma mquina de referncia de 1 MIPS. O VAX 11/780 alcana 1757 D/S (Dhrystone por segundo). O resultado do benchmark Dhrystone calculado medindo o nmero de D/S para o sistema, e dividindo este nmero por 1757 (da mquina de referncia). Ento, 80 MIPS significam 80 MIPS VAX Dhrystone, o que, por sua vez, significa dizer que esta mquina 80 vezes mais rpida que a mquina de referncia VAX 11/780. Uma taxa de DMIPS/MHz leva esta normalizao ainda mais adiante, permitindo uma comparao de desempenho de processador para taxas diferentes de clock [2].
33
Entretanto, algumas das vantagens aparentes do Dhrystone tambm so fraquezas significativas deste benchmark. Os nmeros do Dhrystone refletem na verdade o desempenho do compilador da linguagem C e suas bibliotecas, provavelmente mais do que o desempenho do prprio processador. Alm disso, seu projeto foi baseado na anlise de vrios outros programas, escritos em diferentes linguagens e por diferentes autores, porm, voltados programao de sistemas (sistemas operacionais, compiladores, etc.). Esta uma caracterstica bastante relevante, pois, diferentes classes de aplicaes enfatizam diferentes tipos de operaes, como por exemplo, aplicaes numricas utilizam bastante vetores e aritmtica de ponto-flutuante; aplicaes comerciais utilizam predominantemente atividades de entrada/sada; e programao de sistemas utiliza bastante ponteiros, sentenas "IF ", chamadas de procedimentos, alm de conter menos laos e expresses numricas mais simples [13].
34
neste benchmark utilizam aplicaes com vetores, que so executados em trs dimenses diferentes [13]. A nfase deste benchmark est nas operaes em ponto-flutuante, alm da possibilidade de verificar a habilidade do compilador em gerar cdigos eficientes. Este benchmark originou a unidade de medida MFLOP/s [2].
3.4- Linpack
O Linpack um dos mais famosos benchmarks, utilizado inclusive nos testes das 500 mquinas mais rpidas existentes (Top500), por ser o que tem maior nmero de resultados reportados. Originalmente, o Linpack era um pacote de sub-rotinas que tinham por finalidade resolver sistemas de equaes lineares algbricas. Jack Dongarra, da Universidade do Tennessee (antigo Laboratrio Nacional Argonne), publicou-o em 1976, sem inteno de torn-lo um benchmark, incluindo apenas como um apndice no Guia do Usurio do Linpack, dados referentes ao desempenho de vinte e trs computadores [13]. O Linpack encaixa-se na classificao de benchmark tipo algoritmico. Ele contm dois conjuntos de rotinas: um para decomposio de matrizes e outro para resolver o sistema de equaes lineares baseados em decomposio. Dentre as vrias sub-rotinas contidas no pacote, a mais utilizada e a que consome a maior parte do tempo de execuo do programa a "saxpy". Ela contm somente 15 linhas de cdigo, em linguagem de baixo nvel e trabalha com vetores de apenas uma dimenso. As rotinas de mais alto nvel chamam-na vrias vezes e operam com vetores bi-dimensionais [13].
35
Este benchmark baseia-se em um subpacote de rotinas para operaes bsicas de lgebra linear, o BLAS (Basic Linear Algebra Subroutine - Subrotinas de lgebra Linear Bsica). A verso FORTRAN chamada FORTRAN BLAS e a verso Assembly, Coded BLAS, mas j no mais utilizada. Existem verses diferentes para o Linpack cada verso diferencia-se no tamanho das matrizes (a mais utilizada 100x100); na preciso, que pode ser dupla ou simples; e em relao aos tipos de laos (rolled/unrolled). Os laos unrolled so incrementados de 4 em 4, e o corpo do lao contm sentenas para ndices i, i+1, i+2 e i+3. Em algumas mquinas/compiladores o cdigo executa mais rpido desta maneira. Nas mquinas vetoriais mais modernas, o compilador j faz isto de maneira mais otimizada e, portanto, elas executam a verso "rolled" (laos incrementados de 1 em 1) mais rapidamente. Os resultados dos testes so reportados em MFLOPS (Millions of Floating Point Operations per Second), GFLOPS (Billions of Floating Point Operations per Second) ou at TFLOPS (Trillions of Floating Point Operations per Second) [2]. Sua aplicao visvel em mquinas que utilizam softwares para clculos cientficos e de engenharia, visto que as operaes mais utilizadas nestes tipos de aplicaes so em ponto-flutuante.
36
37
especificas. O SPECbase a medida de desempenho que mais se aproxima da vivncia em aplicaes reais [6]. Em 1995, houve mais uma atualizao do SPEC que apresentava novos programas, tanto inteiros quantos em ponto-flutuantes. Tambm foram eliminados outros tantos, ou por defeito do programa ou por no mais satisfazerem aos requisitos do desempenho desde a primeira verso [6]. A partir da continuou a incluso de novos conjuntos de benchmarks, alm dos anteriores cujo alvo era o desempenho do processador. O benchmark SDM (System Development Multitasking) compreende dois programas que so verses sintticas de carga de trabalho, tpicos de ambiente de desenvolvimento, com edies, compilaes, comandos de sistemas. O benchmark SFS (System-level File Server) uma carga de trabalho sinttica para teste de desempenho de um servidor de arquivos. Ambos os benchmark incluem componentes de entrada/sada e sistema operacional em vez de testar processadores. A mais recente atualizao do SPEC recebeu o nome de CPU2000 da SPEC que representa o conjunto de programas de benchmark mais cotado da SPEC. um benchmark padronizado para CPU, projetado para fornecer uma medida comparativa de desempenho nas reas mais amplas e prticas do que aquelas que a tecnologia de hardware de hoje abrange. Os benchmarks CPU2000 da SPEC foram desenvolvidos para aplicaes reais de usurios. Esses benchmarks medem o desempenho do processador, da memria e do compilador do sistema testado. O CPU2000 dividido em dois conjuntos principais de benchmarks: o SPECint e o SPECfp. O SPECint mede o desempenho das operaes aritmticas com inteiros do
38
sistema testado. Processamento de palavras, compresso de arquivos, e-mail e desempenho de database compreendem esta categoria. O SPECfp mede o desempenho das operaes de ponto-flutuante do sistema testado; jogos 3D e processamento de udio so exemplos de aplicaes de pontos-flutuantes. Um aspecto importante da metodologia utilizada pela SPEC para desenvolver o CPU2000 a percepo de que, com as complexas aplicaes que se tem hoje, quase impossvel e, mais importante ainda, ftil separar o desempenho da CPU do sistema de memria. Por exemplo, as aplicaes do SPECfp e as cargas de trabalho associadas a essas aplicaes tendem a requerer grandes quantidades de memria em adio a um bom desempenho computacional com pontos-flutuantes. Isto no um acidente, nem se deve a peculiaridades associadas s cargas de trabalho do SPECfp. As maiorias das aplicaes que utilizam processamentos de ponto-flutuante necessitam, por natureza, tanto um de bom processamento de pontos-flutuantes quanto de grandes quantidades de memria. este equilbrio delicado no comportamento das aplicaes que os benchmarks CPU2000 procuram expor [11].
39
4.1 - Cache
pouco provvel, um microprocessador hoje em dia sem cache de memria, um sistema que utiliza uma pequena quantidade de memria esttica como intermediria no acesso lenta memria RAM, embora o seu funcionamento varie de acordo com o mtodo organizacional empregado pelo controlador de cache, a finalidade a mesma: aumentar o desempenho do microcomputador, fazendo com que o estado de espera (wait stats) no seja necessrio [9]. inquestionvel a importncia do cache de memria em microcomputadores modernos, tanto que hoje em dia, tem-se dois tipos de cache de memria: cache L1 (interno, presente dentro do processador) e o cache L2 (tambm interno, atualmente presente dentro dos processadores mais novos).
4.1.1- Cache L1
Atualmente todos os processadores trabalham com um esquema chamado de multiplicao de clock. Dessa forma, a freqncia de operao interna s utilizada na execuo de instrues que no dependam da memria RAM, tais como: os clculos,
40
aritmticos e lgicos, por exemplo. No caso da instruo necessitar buscar um dado na memria, a velocidade do processador cair para mesma velocidade do barramento local, onde, ainda por cima, ter de utilizar os estados de espera no acesso memria RAM. O controlador de cache L1, que est embutido dentro do processador, carrega para a cache de memria interno dados que ela acredita que o processador necessitar durante os prximos pulsos de clock. Dessa forma, em vez de acessar dados na memria RAM, que lenta, o processador acessa uma cpia de tais dados no cache de memria L1. Como o processador capaz de acessar o cache L1 em sua freqncia de operao interna, os dados so lidos quase que instantaneamente [7].
4.1.2 Cache L2
Assim como o cache L1, o cache L2 tenta antecipar os prximos endereos a serem lidos pelo processador, colocando no cache de memria os dados l contidos. O acesso ao cache de memria feito sem a utilizao dos estados de espera e, com isso, o desempenho do processador mantido. Na maioria das vezes, o processador busca dados no da memria RAM, mas sim a cpia desses dados contida no cache de memria. Se precisasse ler a memria RAM, diminuiria o desempenho do micro por causa da utilizao dos estados de espera ou por causa da latncia da memria (tempo demorado para a memria devolver dados solicitados).
41
4.2 Pipeline
O pipeline uma tcnica de implementao em que mltiplas instrues so sobrepostas na execuo [9]. Existem trs tipos de pipeline. So eles os pipelines de instruo, os aritmticos e os superescalares. Um pipeline de instruo tpico possui as fases de busca, decodificao, busca de dados e write back (escrita dos resultados). Esses blocos so simples e geralmente so executados em apenas um ciclo de clock, com exceo do bloco de execuo que por ser mais complexo pode demorar vrios ciclos de clock para ser executado. Isso pode causar um desequilbrio j que as fases possuem tempos de execuo diferentes. Para resolver esse problema, duas tcnicas podem ser utilizadas. Uma delas consiste em subdividir a fase de execuo em vrios estgios e a outra consiste em alongar as fases mais curtas. Existem tambm pipelines utilizados para aumentar a velocidade das operaes aritmticas. Esses pipelines aritmticos so projetados para executar funes fixas. Eles efetuam separadamente as operaes em ponto fixo e ponto flutuante. Esse tipo de pipeline pode ter vrios blocos dependendo da aplicao implementada. Todas as operaes aritmticas (add, subtract, multiply, division, squaring, rooting, logarithm, etc.) podem ser implementadas atravs de um adicionador bsico e de operaes de deslocamento [9]. Os pipelines estticos so monofuncionais, pois executam apenas funes fixas, e os dinmicos so multifuncionais, pois podem realizar mais de uma funo. A diferena entre os dois que o esttico executa uma funo de cada vez, e diferentes
42
funes podem ser efetuadas em instantes diferentes, j o dinmico pode realizar vrias funes simultaneamente. Os pipelines superescalares so basicamente um conjunto de pipelines funcionando em paralelo. Consiste em se aumentar o nmero de pipelines, ao invs de um, tm-se dois ou trs pipelines em paralelo. As vantagens desse tipo de pipeline se d pelo paralelismo real, com dois ou mais instrues sendo processadas em paralelo, com melhora significativa do desempenho j as desvantagens consistem na necessidade do cdigo ser preparado, aumento de complexidade e problemas de dependncias e desvios.
43
44
Pelo fato dos registradores armazenar dados que sero requisitados pela CPU, e possurem o menor tempo de acesso, a quantidade de registradores influenciam no desempenho do processador, pois uma arquitetura que possui uma vasta quantidade de registradores pode armazenar vrios dados e evita que a CPU fique ociosa durante o seu processamento [7][12]. As informaes dadas no decorrer deste captulo, se fazem necessrias para o entendimento da justificativa mencionada no captulo 5 em relao anlise dos resultados dos testes de desempenho.
45
46
A configurao dos computadores escolhidos segue a tabela 1: Componente/perifrico Processador Placa Me Placa de Vdeo Memria Disco Rgido Sistema Operacional Cache Programa usado no teste Pentium 4 1.3 GHz Intel D850GB Geforce2 Mx 400 64 Mb 128 Rambus Maxtor 40 GB Windows 2000 Pro 256 kb Sisoftware Sandra 2002 Athlon 1.3 GHz Asus A7A 266 c/ som Geforce2 Mx 400 64 Mb 128 DDR266 Maxtor 40 GB Windows 2000 Pro 256 kb Sisoftware Sandra 2002
O uso destas configuraes se justifica pelo fato de ser o objetivo principal analisar isoladamente o desempenho dos processadores e memrias. Em virtude disso que se deu a escolha dessas duas configuraes, similares em relao a outros dispositivos. Realizados os testes, obtiveram-se os seguintes resultados: Whetstone (MFLOP com SSE2) 1546 1868 Dhrystone (MIPS) 2472 3741
Tendo como base os resultados obtidos pelos testes pode-se fazer uma anlise comparativa fornecendo quantas vezes o Athlon obteve o desempenho melhor que o Pentium 4 atravs da razo entre o resultado obtido pelo computador Athlon, o que
47
alcanou melhor desempenho, e o computador Pentium 4 que alcanou desempenho inferior. Aps a realizao destes clculos afirma-se que o desempenho do computador Athlon foi 1,208 vezes mais rpido perante o Pentium 4 ou ainda aproximadamente 18% mais rpido em relao ao clculo de ponto flutuante e, em relao a clculos aritmticos o Athlon foi 1,513 vezes mais rpido que o Pentium 4 ou ainda aproximadamente 34% mais veloz. Estes resultados foram esboados no grfico 1.
1000
2000
3000
4000
Neste captulo tambm foram comparados os resultados j citados com mquinas de referncia fornecidas pelo programa Sisoftware Sandra 2002. Visualizados na tabela 3.
48
ATHLON 1.2 MHz ATHLON 1.3 MHz ATHLON XP 1.4 MHz PENTIUM 4 1.2 MHz PENTIUM 4 1.3 MHz PENTIUM 4 1.6 MHz
Dhrystone (MIPS)
Whetstone (MFLOP)
1000
2000
3000
4000
Essas comparaes foram exibidas para ter uma melhor visualizao do desempenho nas principais mquinas fornecidas pelo mercado atualmente. Os testes de desempenho foram executados em microcomputadores de usurios, no qual houve uma troca de perifricos, com o intuito de equiparar as configuraes destes microcomputadores para que o desempenho no sofresse nenhuma modificao e que fossem testados apenas o processador destas mquinas. Uma justificativa do tipo de memria escolhida na configurao que no afeta o desempenho, pois, as rotinas dos benchmarks whetstone e dhrystone no fazem
49
nenhum acesso de memria RAM, essas rotinas rodam exclusivamente entre o processador e o cache. O processador Athlon possui uma arquitetura superescalar de nove pipelines funcionando em paralelo sendo que trs so para instrues de ponto flutuante, trs para instrues aritmticas e trs para microinstrues, e todos esses pipelines possuem onze estgios, possui tambm uma cache L1 de 128 KB sendo sessenta e quatro para dados e sessenta e quatro para instrues e uma cache L2 de 256 KB, e finalmente o seu barramento externo de 200MHz. O processador Pentium 4 possui um cache L1 de apenas 8 KB para dados, mas isso se justifica em duas inovaes que compensam esta aparente deficincia. A primeira que graas ao tamanho reduzido, o pequeno cache de dados tem um tempo de latncia menor, ou seja, mais rpido que o cache L1 encontrado no Pentium 3 e no Athlon. A segunda que o Cache de instrues por sua vez foi substitudo pelo Execution Trace Cache, que ao invs de armazenar instrues, armazena diretamente micro operaes, que so as instrues j decodificadas, prontas para serem processadas. Isto garante que o cache tenha apenas um ciclo de latncia, ou seja, o processador no perde tempo algum ao utilizar um dado armazenado no Trace Cache. Pelo fato do cache L1 ser pequeno o cache L2 bem mais requisitado com 256 KB operando na mesma freqncia do processador, o seu barramento duplo operando a 400 MHz, em sua arquitetura tambm superescalar o Pentium 4 possui cinco pipelines sendo dois para intrues aritmticas, dois para gerao de endereamento e apenas um para ponto flutuante. Essas pipelines so a linha de produo das unidades de execuo. Cada elemento da pipeline responsvel em executar certas micro operaes. O Pentium 4 utiliza uma pipeline que tem o dobro de estgios da de um
50
Pentium 3 (dez estgios) e praticamente o dobro da de um Athlon (onze estgios). O grande benefcio disso que a CPU pode operar com freqncias mais elevadas, pois os ncleos de processamento tornam-se mais simples e possuem menos portas lgicas. Quanto mais compacto maior a velocidade e escalabilidade. O longo pipeline uma das supostas razes que levou o Pentium 4 a perder para Athlon em termos de desempenho, preciso que ela atinja freqncias muitos mais elevadas do que de um processador de pipeline mais curta, se quiser competir. Outro problema dessa microarquitetura um erro de prognstico (tcnica utilizada para preencher a pipeline antecipadamente) ser muito mais crtico, pois vrios ciclos sero perdidos [12].
51
6- CONCLUSO
Ao longo deste trabalho foram apresentadas as tcnicas e os componentes bsicos para anlise de desempenho de computadores, utilizando programas pblicos e de fcil utilizao e execuo, alm dos aspectos tericos envolvidos no desempenho de computadores. A anlise dos resultados fornecidos pelos testes realizados durante o desenvolvimento do trabalho fornece indicadores mais consistentes sobre o desempenho esperado do microcomputador testado. Estes indicadores permitem que um pesquisador se sinta mais vontade em um processo de seleo e compra de equipamentos de acordo com as demandas do seu projeto de pesquisa. Em relao aos testes realizados entre os computadores da marca PENTIUM 4 e ATHLON concluiu-se que a arquitetura do ATHLON mostrou ser mais eficiente tanto em clculos aritmticos e manipulao de strings quanto em operaes que envolvem ponto flutuante. A expectativa deste trabalho, em futuras aplicaes, envolve verificar avaliaes mais concretas dos processadores, utilizando os demais tipos de benchmarks citados no decorrer do trabalho.
52
7. BIBLIOGRAFIAS
[1] JAIN, Raj. The Art of Computer Systems Performance Analisis. John Wiley & Songs, Inc, 1991. [2] PATTERSON, David. Hennessy, Jonh. Computer Organization & Design: the Hardware, Software. 2a.ed. San Francisco, Morgan Kaufmann, Inc, 1997. [3] SOSNOWSKI, J., JURKIEWICZ, R., NOWICKI, J. Experimental Evaluation of CPU Performance Features, Warsaw Univercity of Technology, Ul.Nowowiejska, 2001. [4] GONZLEZ, Antonio. Computer Performance Evaluation Techniques. Universidat Politcnica the Catalunya, Barcelona. [5] SPRUNT, Brinkley. The Basics of Performance Monitoring Hardware, Bucknell Univercity, Lewisburg, JulY/Augusto. 2002. [6] GILADI, Ran. SPEC as a Performance Evaluation Measure. IEEE, Univercity of The Negev, August.1995. [7] MONTEIRO, Mrio. Introduo Organizao de Computadores. 3a.ed. Rio de Janeiro: Livro Tcnicos e Cientficos AS.A. 1996. [8] SPEC, Standard Performance Evaluation Corporation. 1996/2000. Capturado OnLine em 19/05/2002, no site http://www.spec.org/osg/cpu2000/CPU2004/search_program.html [9] TORRES, Gabriel. Hardware Curso Completo. 3a.ed. Rio de janeiro: Axcels Books, 1999. [10] Weicker, R.P.Dhrystone: A synthetic systems programming benchmark, Comm.ACM 27:10(October). 1984.
53
[11] HENNING, Jonh. Spec CPU2000: Measuring CPU Performance in the new Millennium. JulY. 2000.
[12] TAKAHASHI, Alexandre. PCS Entendendo-Montando-Otimizando-Concertando. Pentium 4 vs.Athlon. N 27, So Paulo-SP. P.35-41, 2002.
54
ANEXO 1 Informaes sobre o Sisoftware Sandra 2002 Professional Quem / O que Sandra?
SiSoftware Sandra (the System ANalyser, Diagnostic and Reporting Assistant) ( o analisador de sistema, assistente de diagnstico de relatrio) um utilitrio de informao e diagnstico. Ele deve prover informaes (incluindo no documentadas) que voc precisa saber sobre o seu hardware, software e outros dispositivos de hardware e software. Sandra prove um nvel similar de informaes s do Norton SI, Quarterdeck, Winprobe/Manifest, etc. Ele nativo de aplicaes Win32 bits. Ele tambm prov informaes de windows 16 bits e DOS sem usar muitos outros programas de informao. Coisas Legais: Sandra um acrnimo e no tem conexo com nada nem ningum que viveu no passado, presente ou futuro. Qualquer semelhana pura coincidncia. A propsito, no pesquise pelo nome Sandra nos portais WWW. Voc ter pelo menos um milho de ocorrncias e nenhuma ir se referir a esta pgina. Pesquise por Sisoftware Sandra. Abaixo segue uma lista dos mdulos e das tecnologias suportadas na anlise de desempenho do sistema computacional.
55
Sumrio do Sitema. CPU/BIOS Info (inc. voltagem/temperatura). Mainboard/Chipset/System Monitors Info. APM & ACPI (Gerenciamento de Fora Avanado) Info (Professional). PCI & AGP bus and devices Info. Informaes de Vdeo (monitor, card, video bios, caps, etc.) Informao sobre OpenGL. Informao sobre DirectX (DirectDraw, Direct3D, DirectSound (3D), DirectMusic, DirectPlay, DirectInput).
Informao sobre Teclado. Informao sobre Mouse. Informao sobre Sound Card (wave, midi, aux, mix). Informao sobre Dispositivos MCI (mpeg, avi, seq, vcr, video-disc, wave). Informao sobre Joystick. Informao sobre Impressoras. Informao sobre Memria DOS (base, HMA, UMB, XMS, EMS, DPMI, VCPI). Informao sobre Memria Windows. Informao sobre Windows (& DOS SubSistema). Font (Raster, Vector, TrueType, OpenType) Informaes (Plus e Professional). Informao sobre Modem/ISDN TA (Plus e Professional). Informao sobre Rede (Professional).
56
Informao sobre Redes IP (Professional). Informao sobre WinSock (Internet). Informao sobre Drives (HDs removveis, Disks, CD-ROM/DVD, RamDrives, etc.).
Informao sobre Portas (Serial/Parallel). Acesso ao servio de conexes remotas (Dial-Up, Internet). Informao sobre Objetos OLE/Servidores (Professional). Informao sobre Processos (Tarefas, 32 & 16-bit) & Threads. Informao sobre Modulos (DLL, DRV, 32 & 16-bit) (Professional). Informao sobre Servios & Drivers de dispositivos. Informao sobre Drivers para DOS (Professional). Informao sobre SCSI (Professional). Informao sobre ATA/ATAPI (Professional). Informao sobre Fontes ODBC (Professional). Informao sobre CMOS/RTC (Plus e Professional). CPU Benchmark Aritmtico (Suporte MP/MT ). CPU Benchmark Multi-Media (including MMX, MMX Enh, 3DNow!, 3DNow! Enh, SSE(2)) (MP/MT support).
Benchmark Sistema de Arquivos (Removveis, HDs, Rede, RamDrives). CD-ROM/DVD Benchmark. Largura de Banda da Memria Benchmark (MP/MT support). Largura de Banda da Rede/LAN Benchmark . Uso de interrupo de Hardware (Plus e Professional). Software de interrupo em modo real (DOS SubSystem) Handlers .
57
Software de interrupo em modo protegido (Windows) Handlers (Professional). Uso do canal DMA (Plus e Professional). Uso das portas de I/O (Plus e Professional) . Uso do intervalo de memria (Plus e Professional). Enumerador Plug & Play (Professional). Configurao dos registros de hardware. Configurao de ambiente. Listagem dos sistemas de arquivos (.ini, .sys, .bat). Assistentes adicionar ou remover mdulos. Cria relatrio e assistentes de scripts (salvar, imprimir, fax ou e-mail no CIM (SMS/DMI), HTML, XML, RPT or TEXT format).
Assistentes que checam o desempenho (& Wizard). Assistentes que fazem atualizao automtica da verso pela WEB. Tip of the day (Dica do dia). Documentao extensive com mais de 450 dicas. Extensa documentao on-line em (HTML) com uma base de conhecimento de perguntas e respostas.
58
Sistemas Operacionais
Microsoft
o