17.01.2013 Views

AULA 1 Alfabetização Digital - Cead - Unimontes

AULA 1 Alfabetização Digital - Cead - Unimontes

AULA 1 Alfabetização Digital - Cead - Unimontes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

e-Tec Brasil/CEMF/<strong>Unimontes</strong><br />

Escola Técnica Aberta do Brasil<br />

Informática<br />

Arquitetura de<br />

Computadores<br />

Gilmara Aparecida de Freitas Dias<br />

Ministério da<br />

Educação


e-Tec Brasil/CEMF/<strong>Unimontes</strong><br />

Escola Técnica Aberta do Brasil<br />

Informática<br />

Arquitetura de<br />

Computadores<br />

Gilmara Aparecida de Freitas Dias<br />

Montes Claros - MG<br />

2011


Presidência da República Federativa do Brasil<br />

Ministério da Educação<br />

Secretaria de Educação a Distância<br />

Ministro da Educação<br />

Fernando Haddad<br />

Secretário de Educação a Distância<br />

Carlos Eduardo Bielschowsky<br />

Coordenadora Geral do e-Tec Brasil<br />

Iracy de Almeida Gallo Ritzmann<br />

Governador do Estado de Minas Gerais<br />

Antônio Augusto Junho Anastasia<br />

Secretário de Estado de Ciência, Tecnologia<br />

e Ensino Superior<br />

Alberto Duque Portugal<br />

Reitor<br />

João dos Reis Canela<br />

Vice-Reitora<br />

Maria Ivete Soares de Almeida<br />

Pró-Reitora de Ensino<br />

Anete Marília Pereira<br />

Diretor de Documentação e Informações<br />

Huagner Cardoso da Silva<br />

Coordenador do Ensino Profissionalizante<br />

Edson Crisóstomo dos Santos<br />

Diretor do Centro de Educação Profissonal e<br />

Tecnólogica - CEPT<br />

Juventino Ruas de Abreu Júnior<br />

Diretor do Centro de Educação à Distância<br />

- CEAD<br />

Jânio Marques Dias<br />

Coordenadora do e-Tec Brasil/<strong>Unimontes</strong><br />

Rita Tavares de Mello<br />

Coordenadora Adjunta do e-Tec Brasil/<br />

CEMF/<strong>Unimontes</strong><br />

Eliana Soares Barbosa Santos<br />

Coordenadores de Cursos:<br />

Coordenador do Curso Técnico em Agronegócio<br />

Augusto Guilherme Dias<br />

Coordenador do Curso Técnico em Comércio<br />

Carlos Alberto Meira<br />

Coordenador do Curso Técnico em Meio<br />

Ambiente<br />

Edna Helenice Almeida<br />

Coordenador do Curso Técnico em Informática<br />

Frederico Bida de Oliveira<br />

Coordenador do Curso Técnico em<br />

Vigilância em Saúde<br />

Simária de Jesus Soares<br />

Coordenador do Curso Técnico em Gestão<br />

em Saúde<br />

Zaida Ângela Marinho de Paiva Crispim<br />

ARQUITETURA DE COMPUTADORES<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong><br />

Elaboração<br />

Gilmara Aparecida de Freitas Dias<br />

Projeto Gráfico<br />

e-Tec/MEC<br />

Supervisão<br />

Wendell Brito Mineiro<br />

Diagramação<br />

Hugo Daniel Duarte Silva<br />

Marcos Aurélio de Almeda e Maia<br />

Impressão<br />

Gráfica RB <strong>Digital</strong><br />

Designer Instrucional<br />

Angélica de Souza Coimbra Franco<br />

Kátia Vanelli Leonardo Guedes Oliveira<br />

Revisão<br />

Maria Ieda Almeida Muniz<br />

Patrícia Goulart Tondineli<br />

Rita de Cássia Silva Dionísio


<strong>AULA</strong> 1<br />

Apresentação <strong>Alfabetização</strong> e-Tec <strong>Digital</strong>Brasil/CEMF/<br />

<strong>Unimontes</strong><br />

Prezado estudante,<br />

Bem-vindo ao e-Tec Brasil/<strong>Unimontes</strong>!<br />

Você faz parte de uma rede nacional pública de ensino, a Escola<br />

Técnica Aberta do Brasil, instituída pelo Decreto nº 6.301, de 12 de dezembro<br />

2007, com o objetivo de democratizar o acesso ao ensino técnico público,<br />

na modalidade a distância. O programa é resultado de uma parceria entre<br />

o Ministério da Educação, por meio das Secretarias de Educação a Distancia<br />

(SEED) e de Educação Profissional e Tecnológica (SETEC), as universidades e<br />

escola técnicas estaduais e federais.<br />

A educação a distância no nosso país, de dimensões continentais e<br />

grande diversidade regional e cultural, longe de distanciar, aproxima as pessoas<br />

ao garantir acesso à educação de qualidade, e promover o fortalecimento<br />

da formação de jovens moradores de regiões distantes, geograficamente<br />

ou economicamente, dos grandes centros.<br />

O e-Tec Brasil/<strong>Unimontes</strong> leva os cursos técnicos a locais distantes<br />

das instituições de ensino e para a periferia das grandes cidades, incentivando<br />

os jovens a concluir o ensino médio. Os cursos são ofertados pelas<br />

instituições públicas de ensino e o atendimento ao estudante é realizado em<br />

escolas-polo integrantes das redes públicas municipais e estaduais.<br />

O Ministério da Educação, as instituições públicas de ensino técnico,<br />

seus servidores técnicos e professores acreditam que uma educação<br />

profissional qualificada – integradora do ensino médio e educação técnica,<br />

– não só é capaz de promover o cidadão com capacidades para produzir, mas<br />

também com autonomia diante das diferentes dimensões da realidade: cultural,<br />

social, familiar, esportiva, política e ética.<br />

Nós acreditamos em você!<br />

Desejamos sucesso na sua formação profissional!<br />

Ministério da Educação<br />

Janeiro de 2010<br />

Arquitetura de Computadores<br />

5<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


<strong>AULA</strong> 1<br />

<strong>Alfabetização</strong> <strong>Digital</strong><br />

Indicação de ícones<br />

Os ícones são elementos gráficos utilizados para ampliar as formas<br />

de linguagem e facilitar a organização e a leitura hipertextual.<br />

Atenção: indica pontos de maior relevância no texto.<br />

Saiba mais: oferece novas informações que enriquecem o assunto ou<br />

“curiosidades” e notícias recentes relacionadas ao tema estudado.<br />

Glossário: indica a definição de um termo, palavra ou expressão utilizada<br />

no texto.<br />

Mídias integradas: possibilita que os estudantes desenvolvam atividades<br />

empregando diferentes mídias: vídeos, filmes, jornais, ambiente AVEA e<br />

outras.<br />

Atividades de aprendizagem: apresenta atividades em diferentes níveis<br />

de aprendizagem para que o estudante possa realizá-las e conferir o seu<br />

domínio do tema estudado.<br />

Arquitetura de Computadores<br />

7<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


<strong>AULA</strong> 1<br />

<strong>Alfabetização</strong> <strong>Digital</strong><br />

Sumário<br />

Palavra do professor conteudista ........................................... 11<br />

Projeto instrucional ........................................................... 13<br />

Aula 1 - O computador e os sistemas numéricos .......................... 15<br />

1.1 Sistemas numéricos e mudança de base ......................... 15<br />

1.2 Sistemas numéricos binários....................................... 16<br />

Resumo ................................................................... 18<br />

Atividades de aprendizagem ........................................... 18<br />

Aula 2 – Organização de sistemas de computação e seus subsistemas 19<br />

2.1 Sistemas de computação ........................................... 19<br />

2.2 Softwares ............................................................ 19<br />

2.3 Hardware ............................................................. 20<br />

2.4 Barramento .......................................................... 31<br />

Resumo ................................................................... 34<br />

Atividades de aprendizagem ........................................... 34<br />

Aula 3 – Computadores e linguagens de programação ................... 35<br />

3.1 Os computadores e o desenvolvimento de algoritmos e sistemas 35<br />

3.2 Algoritmos ........................................................... 36<br />

3.3 Linguagem de programação ....................................... 38<br />

Resumo ................................................................... 40<br />

Atividades de aprendizagem ........................................... 41<br />

Aula 4 – Instruções e modos de endereçamento de memória ........... 43<br />

4.1 A memória ........................................................... 43<br />

4.2 Endereçamento de memória ...................................... 43<br />

4.3 Memória virtual ..................................................... 44<br />

Resumo ................................................................... 48<br />

Atividades de aprendizagem ........................................... 49<br />

Aula 5 – Caracterização das interfaces paralelas e seriais .............. 51<br />

5.1 Interfaces de transmissão .......................................... 51<br />

5.2 Interface serial ...................................................... 51<br />

5.3 Interface paralela ................................................... 54<br />

5.4 Comparativo entre interface serial e paralela .................. 55<br />

Resumo ................................................................... 56<br />

Atividades de aprendizagem ........................................... 56<br />

Aula 6 – Caracterização de arquiteturas RISC e CISC .................... 57<br />

6.1 Arquitetura RISC .................................................... 57<br />

6.2 Arquitetura CISC .................................................... 58<br />

6.3 Comparativo entre as arquiteturas RISC e CISC ................ 59<br />

Arquitetura de Computadores<br />

9<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 10<br />

Resumo ................................................................... 60<br />

Atividades de aprendizagem ........................................... 61<br />

Referências .................................................................... 62<br />

Currículo do professor conteudista ......................................... 63


<strong>AULA</strong> 1<br />

<strong>Alfabetização</strong> <strong>Digital</strong><br />

Palavra do professor conteudista<br />

Prezados alunos, sejam bem-vindos às aulas da disciplina de Arquitetura<br />

de Computadores.<br />

A arquitetura de computadores estuda sobre os componentes, as<br />

arquiteturas e os processos contidos no computador.<br />

Estuda, ainda, sobre como os computadores são programados e<br />

como uma linguagem pode ser interpretada pela máquina.<br />

Permite-nos entender os dispositivos de entrada, saída e armazenamento,<br />

e nos faz compreender como são feitos os endereçamentos de<br />

memória e a transmissão de dados pelos sistemas.<br />

Compreender os princípios da arquitetura de computadores é de<br />

grande importância para aqueles que se interessam pela Tecnologia da Informação,<br />

e principalmente para aqueles que escolheram fazer, nela, a sua<br />

carreira profissional. Não tem como entender os princípios da computação<br />

sem antes compreender os elementos da arquitetura de computadores.<br />

Você sabe quais as arquiteturas utilizadas no desenvolvimento dos<br />

processadores? Sabe como os dados são alocados na memória? O que controla<br />

os dispositivos de entrada, de saída e de armazenamento? Essas e outras respostas,<br />

encontraremos durante o nosso estudo da disciplina de Arquitetura<br />

de Computadores.<br />

Para alcançarmos os objetivos da disciplina, não nos limitaremos<br />

apenas em conceitos, mas utilizaremos também estudos de casos e situações<br />

do nosso cotidiano. Isso facilitará o entendimento e a aplicação dos pontos<br />

aqui abordados.<br />

Sinta-se convidado a participar dessas aulas de forma atuante e<br />

participativa. Desejo-lhe sucesso, pois a disciplina de Arquitetura de Computadores<br />

espera por você.<br />

Gilmara Aparecida de Freitas Dias<br />

Arquitetura de Computadores<br />

11<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


<strong>AULA</strong> 1<br />

<strong>Alfabetização</strong> <strong>Digital</strong><br />

Projeto instrucional<br />

Disciplina: Arquitetura de Computadores (carga horária: 60h).<br />

Ementa: Conceituação de sistemas numéricos e mudança de base.<br />

Caracterização da organização de sistemas de computação e detalhamento<br />

de subsistemas - memória, processador, dispositivos de entrada e de saída<br />

de dados e barramentos. Caracterização e análise das formas de tradução<br />

de programas de uma linguagem de alto nível para um programa executável.<br />

Estudo de um conjunto de instruções e dos modos de endereçamento utilizados<br />

por um sistema de computação. Caracterização das interfaces paralela e<br />

serial. Caracterização de arquiteturas RISC e CISC.<br />

<strong>AULA</strong> OBJETIVOS DE APRENDIZAGEM MATERIAIS<br />

1 O computador e os sistemas numéricos<br />

2<br />

3<br />

4<br />

5<br />

6<br />

Organização de sistemas de computação<br />

e seus subsistemas<br />

Computadores e linguagens de programação<br />

Instruções e modos de endereçamento<br />

de memória<br />

Caracterização das interfaces paralela<br />

e serial<br />

Caracterização de arquiteturas RISC e<br />

CISC<br />

Arquitetura de Computadores<br />

livro didático<br />

e atividades<br />

online<br />

livro didático<br />

e atividades<br />

online<br />

livro didático<br />

e atividades<br />

online<br />

livro didático<br />

e atividades<br />

online<br />

livro didático<br />

e atividades<br />

online<br />

livro didático<br />

e atividades<br />

online<br />

CARGA<br />

HORÁRIA<br />

13<br />

8 h/a<br />

12 h/a<br />

12 h/a<br />

14 h/a<br />

8 h/a<br />

6 h/a<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


<strong>AULA</strong> 1<br />

Aula <strong>Alfabetização</strong> 1 - O computador <strong>Digital</strong> e os sistemas nu-<br />

méricos<br />

Objetivos<br />

Olá, aluno! Seja bem-vindo à nossa primeira aula de Arquitetura de<br />

Computadores.<br />

O objetivo desta aula é apresentar os sistemas numéricos e as suas<br />

origens, familiarizá-lo com as bases matemáticas e as unidades utilizadas<br />

pelos computadores.<br />

1.1 Sistemas numéricos e mudança de base<br />

De acordo com Nordon (1991), os comutadores baseiam-se em reproduzir<br />

ou imitar funções executadas pelos seres humanos. Bem como o<br />

aparelho de som imita a música, o computador imita e cria modelos de<br />

trabalho utilizando números e aritmética. Ou seja, os computadores não<br />

têm uma linguagem clara, não utilizam um idioma específico, mas, sim, entendem<br />

números. Esses números não são definidos de forma aleatória, são<br />

definidos através de sistemas numéricos.<br />

Um dos sistemas numéricos é o binário, ou seja, sistemas escritos<br />

apenas por dois símbolos numéricos, o “0” e o “1”, também chamado de sistema<br />

de base dois. Mas os sistemas numéricos podem estar em outras bases,<br />

como três, quatro, seis, dez, entre outras. O que importa é que tenha, no<br />

mínimo, dois símbolos (0 e 1).<br />

Dois símbolos apenas não permitiriam confrontar o computador e a<br />

Matemática, uma vez que ela tem expressões complexas e envolve diversas<br />

operações. Para resolver esse problema, criou-se a aritmética binária. Ou<br />

seja, criou-se o sistema numérico decimal.<br />

O sistema numérico decimal trabalha com a simbologia de dez números,<br />

ou seja, é representado por dez símbolos numéricos de “0” a “9”.<br />

Com esse conjunto de símbolos é possível criar ou representar qualquer outro<br />

número.<br />

Para uma melhor compreensão, vamos estudar um pouco mais sobre<br />

os sistemas numéricos binários, por ser o sistema numérico de menor<br />

base utilizado pelo computador.<br />

Arquitetura de Computadores<br />

15<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 16<br />

1.2 Sistemas numéricos binários<br />

Historicamente, há diversos sistemas de numeração, cada um deles<br />

trabalha com base distinta. Os sistemas binários (base 2), sistemas octais<br />

(base 8), sistemas decimais (base 10) e sistemas hexadecimais (base 16) são<br />

exemplos de sistemas de numeração.<br />

O primeiro sistema numérico foi o sistema decimal ou de base 10.<br />

Acredita-se que esse sistema foi criado baseado nos dedos das mãos, pois<br />

facilitava a representação de quantidades.<br />

Mas, por regra, qualquer número inteiro maior ou igual a um pode<br />

ser usado como base de numeração.<br />

Os computadores trabalham sempre com sistemas numéricos binários<br />

(base 2) ou hexadecimais (base 16). Nos sistemas binários, os dados são<br />

transformados nos símbolos 0 ou 1 (zero e um). Cada dígito binário ocupa<br />

um espaço de memória do computador, chamado bit. Um bit ou binary digit<br />

(digito binário) é a menor e a mais fundamental unidade de um computador;<br />

sua representação lógica é o 0 ou o 1 (zero ou um), que representam, respectivamente:<br />

desligado e ligado; falso e verdadeiro; não e sim.<br />

Já os sistemas hexadecimais ou de base 16 equivalem aos algarismos<br />

de 0 a 15 e são representados da seguinte maneira: 0, 1, 2, 3, 4, 5, 6,<br />

7, 8, 9, A, B, C, D, E e F. Os algarismos alfabéticos representam, respectivamente:<br />

10, 11, 12, 13, 14 e 15. Ou seja, A=10 e F=15. Utilizando esse sistema,<br />

os computadores trabalham com uma unidade chamada byte, que consiste<br />

no agrupamento de oito bits.<br />

Todos os caracteres são definidos por uma tabela chamada ASCII<br />

(Tabela 1); esses caracteres têm um número correspondente e são convertidos<br />

para o formato binário pelo método da divisão.<br />

Tabela 1: Modelo da tabela ASCII<br />

código caractere código caractere código caractere código caractere<br />

128 Ç 160 Á 192 + 224 Ó<br />

129 ü 161 Í 193 - 225 ß<br />

130 é 162 Ó 194 - 226 Ô<br />

131 â 163 Ú 195 + 227 Ò<br />

132 ä 164 Ñ 196 - 228 õ<br />

133 à 165 Ñ 197 + 229 Õ<br />

134 å 166 ª 198 ã 230 µ<br />

135 ç 167 º 199 Ã 231 þ<br />

136 ê 168 ¿ 200 + 232 Þ<br />

137 ë 169 ® 201 + 233 Ú<br />

138 è 170 ¬ 202 - 234 Û<br />

139 ï 171 ½ 203 - 235 Ù<br />

140 î 172 ¼ 204 ¦ 236 ý<br />

141 ì 173 ¡ 205 - 237 Ý


142 Ä 174 « 206 + 238 ¯<br />

143 Å 175 » 207 ¤ 239 ´<br />

144 É 176 _ 208 ð 240 ¬<br />

145 æ 177 _ 209 Ð 241 ±<br />

146 Æ 178 _ 210 Ê 242 _<br />

147 ô 179 ¦ 211 Ë 243 ¾<br />

148 ö 180 ¦ 212 È 244 <br />

149 ò 181 Á 213 i 245 §<br />

150 û 182 Â 214 Í 246 ÷<br />

151 ù 183 À 215 Î 247 ¸<br />

152 ÿ 184 © 216 Ï 248 °<br />

153 Ö 185 ¦ 217 + 249 ¨<br />

154 Ü 186 ¦ 218 + 250 •<br />

155 ø 187 + 219 _ 251 ¹<br />

156 £ 188 + 220 _ 252 ³<br />

157 Ø 189 ¢ 221 ¦ 253 ²<br />

158 × 190 ¥ 222 Ì 254 _<br />

159 ƒ 191 + 223 _ 255<br />

Fonte: Disponível em: . 2010.<br />

Como dito anteriormente, na conversão binária, os caracteres são<br />

transformados em caracteres binários pelo método da divisão. Como exemplo<br />

de conversão por meio de divisão binária, utilizaremos o número 59.<br />

O número 59 será dividido n vezes pelo número dois; o que será<br />

relevante nessa divisão é o resto, que deverá ser lido de baixo para cima, ou<br />

seja, de trás para frente. O que significa que 59 = 111011.<br />

Outro exemplo é a conversão binária do número 12. Observe:<br />

Deste modo, o resultado da conversão binária de 12 será 1100. Assim,<br />

observa-se que é possível converter qualquer número inteiro, maior ou<br />

igual a um, para um sistema numérico binário.<br />

Arquitetura de Computadores 17<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


Resumo<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 18<br />

Nesta aula, exploraram-se os computadores e os sistemas binários;<br />

com isso, você aprendeu que:<br />

• o primeiro sistema numérico foi o sistema decimal;<br />

• o computador trabalha com sistemas numéricos, binários e hexadecimais;<br />

• um bit ou binary digit (digito binário) é a menor e mais fundamental<br />

unidade de um computador, e sua representação lógica<br />

é 0 ou 1;<br />

• o byte consiste no agrupamento de oito bits;<br />

• os caracteres trabalhados no computador utilizam-se de uma tabela<br />

de códigos binários, chamada de tabela ASCH;<br />

• qualquer número inteiro maior ou igual a um pode ser usado<br />

como base de numeração;<br />

• é possível converter qualquer número inteiro, maior ou igual a<br />

um, para um sistema numérico binário.<br />

Atividades de aprendizagem<br />

1) O que é a tabela ASCH e qual a sua finalidade?<br />

2) Preencha a tabela a seguir com os caracteres correspondentes aos códigos<br />

da tabela ASCH.<br />

código caractere código caractere<br />

129 146<br />

159 245<br />

198 132<br />

252 161<br />

3) Sabe-se que um bit, ou seja, um dígito binário é a menor e mais fundamental<br />

unidade de um computador. Quais as possíveis representações lógicas<br />

de um bit?<br />

4) Convertam, em bases binárias, os números:<br />

a) 65<br />

b) 46<br />

c) 15<br />

d) 24<br />

e) 97<br />

f) 35<br />

5) Explique o que é o sistema hexadecimal e a sua representação.


<strong>AULA</strong> 1<br />

Aula <strong>Alfabetização</strong> 2 – Organização <strong>Digital</strong> de sistemas de<br />

computação e seus subsistemas<br />

Objetivos<br />

Prezado aluno! Seja bem-vindo à segunda aula de Arquitetura de<br />

Computadores.<br />

O objetivo desta aula é apresentar os sistemas de computação e<br />

como são vinculados os subsistemas. Veremos, ainda, sobre sistemas abertos<br />

e fechados, sobre softwares e hardwares, além de permitir o reconhecimento<br />

dos periféricos de entrada, de saída e de armazenamento.<br />

2.1 Sistemas de computação<br />

Entende-se por sistema um conjunto de elementos interconectados<br />

que trabalham independentemente, visando alcançar um objetivo comum.<br />

O computador é um conjunto de subsistemas distintos que trabalham<br />

juntos para solucionar os problemas a ele destinados. Os dois subsistemas<br />

aqui tratados são os hardwares e os softwares.<br />

Os sistemas podem ser abertos ou fechados. Sistemas abertos são<br />

aqueles que têm interação com o meio ambiente através de entradas e saídas,<br />

adaptando-se às condições desse meio ambiente. Já os sistemas fechados<br />

são aqueles que têm comportamento determinístico e que produzem<br />

saídas invariáveis.<br />

2.2 Softwares<br />

Os softwares constituem os componentes lógicos dos sistemas, ou<br />

seja, trata-se de um conjunto de instruções que permite o funcionamento do<br />

hardware. Também chamados de programas de computador, fazem com que<br />

o computador e seus periféricos funcionem adequadamente.<br />

Os softwares podem ser categorizados como softwares de sistema<br />

ou softwares aplicativos.<br />

Os softwares de sistema abrangem todos os programas relacionados<br />

com as funções operacionais do computador, incluindo os sistemas operacionais,<br />

os compiladores de linguagens de programação e vários programas utilitários.<br />

Os sistemas operacionais, também chamados de softwares de segundo<br />

plano ou ocultos, servem de intermediários entre o software aplicativo e<br />

o hardware, funcionando como um controlador de acessos entre o hardware<br />

e o software. Na verdade, o sistema operacional é composto por um conjunto<br />

de programas responsáveis por manter os recursos do computador com a CPU<br />

Arquitetura de Computadores<br />

19<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 20<br />

e memórias, estabelecer interface com os usuários e possibilitar o acesso aos<br />

softwares aplicativos.<br />

Os softwares aplicativos são aqueles utilizados normalmente pelo<br />

usuário para a execução de suas tarefas. Esses softwares podem ser personalizados<br />

ou comercializados em forma de pacotes. Os mais comuns são os<br />

softwares orientados a tarefas ou softwares de produtividade; são eles: as<br />

planilhas eletrônicas, os editores de texto, os aplicativos de comunicação, as<br />

agendas eletrônicas e outros aplicativos que têm a função de facilitar a vida<br />

do usuário e tornar suas tarefas mais rápidas.<br />

Os softwares são adquiridos de formas distintas, podendo ser freeware,<br />

de domínio público, open-source, shareware ou comerciais.<br />

Software gratuito ou freeware é aquele que o autor disponibiliza a<br />

utilização gratuitamente para todos os usuários. Esses softwares são protegidos<br />

por direitos autorais, permitindo que o autor tenha propriedade legal, o<br />

que permite a ele impor restrições de uso.<br />

Os softwares de domínio público são aqueles que não são protegidos<br />

por direitos autorais e podem ser utilizados e alterados sem restrições.<br />

Geralmente, os softwares desenvolvidos por universidades e instituições de<br />

pesquisa subsidiados pelo governo são de domínio público.<br />

Open-source ou softwares de código aberto são variações do software<br />

gratuito. Porém, o software é disponibilizado como código-fonte, permitindo<br />

que qualquer pessoa possa utilizá-lo e modificá-lo. Um exemplo de<br />

software de código aberto é o sistema operacional Linux.<br />

O shareware costuma ser confundido com freeware, uma vez que<br />

também é distribuído gratuitamente. Entretanto, sua utilização tem caráter<br />

experimental. Ou seja, tem período de ativação determinado pelo fabricante; a<br />

continuidade de utilização está condicionada à compra de licença de uso.<br />

Softwares comerciais são aqueles protegidos por direitos autorais<br />

e disponibilizados aos usuários através de licenças de acesso ou aquisição<br />

completa do produto. A utilização ilegal desses tipos de softwares pode ser<br />

trazer punições penais legais aos infratores.<br />

2.3 Hardware<br />

Compõem o hardware todo e qualquer componente físico do computador,<br />

independentemente se são componentes internos ou externos.<br />

Dividem-se em quatro categorias: dispositivos de entrada, processadores,<br />

dispositivos de saída e dispositivos de armazenamento.<br />

Imagine quando estamos trabalhando com o computador, mais especificamente<br />

com a digitação de um texto. Ligamos o computador em um<br />

botão específico do gabinete, abrimos o editor de textos por meio do mouse,<br />

digitamos o texto no teclado e as informações ficam mantidas na tela<br />

enquanto as editamos. Essas informações podem ser salvas (guardadas para<br />

uso posterior) ou descartadas. Caso o computador desligue antes do salva-


mento das informações digitadas, todo o trabalho será perdido. E como é<br />

perdido, se você estava visualizando-o no monitor enquanto estava digitando?<br />

Bem, o computador consegue armazenar informações temporariamente<br />

em uma memória primária, chamada memória RAM. Caso tivesse sido salvo,<br />

utilizaria um espaço reservado que complementa a memória primária, são<br />

os discos rígidos, pendrives, CDs, DVDs. Ao digitar o texto, estamos trabalhando<br />

com os periféricos de entrada (mouse e teclado), periféricos de<br />

armazenamento (memórias), periféricos de saída (monitor) e processador.<br />

2.3.1 Dispositivos de entrada<br />

Dispositivos de entrada são aqueles que permitem ao usuário interagir<br />

com o computador, inserindo dados a serem processados. Ou seja, são<br />

dispositivos que permitem a inserção de dados externos na máquina.<br />

Ao digitar um texto no Microsoft Word, você utiliza o teclado para<br />

escrever, o mouse para formatar, talvez um scanner para inserir uma imagem<br />

ou um texto. Esses elementos são dispositivos de entrada. Você está inserindo<br />

seus dados no computador com o auxílio de um desses componentes.<br />

Como exemplos de dispositivos de entrada, podemos citar: joystick<br />

(Figura 1), microfone (Figura 2), scanner (Figura 3), leitora de código de<br />

barras (Figura 4), leitores biométricos (Figura 5), teclado (Figura 6), mouse<br />

(Figura 7) e mouse touchpad (Figura 9).<br />

Figura 1: Dispositivo de entrada - joystick.<br />

Fonte: Disponível em: .<br />

2010.<br />

Arquitetura de Computadores 21<br />

Memória RAM – Random<br />

Access Memory<br />

(Memória de Acesso<br />

Randômico)<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 22<br />

Figura 2: Dispositivo de entrada - microfone.<br />

Fonte: Disponível em: . 2010.<br />

Figura 3: Dispositivo de entrada - scanner.<br />

Fonte: Disponível em: .<br />

2010.<br />

Figura 4: Dispositivo de entrada – leitora de código de barras.<br />

Fonte: Disponível em: . 2010.


Figura 5: Dispositivo de entrada – leitor biométrico.<br />

Fonte: Disponível em: .<br />

2010.<br />

Figura 6: Dispositivo de entrada – teclado.<br />

Fonte: Disponível em: .<br />

2010.<br />

Figura 7: Dispositivo de entrada – mouse.<br />

Fonte: Disponível em: . 2010.<br />

Arquitetura de Computadores 23<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 24<br />

Figura 8: Dispositivo de entrada – mouse touchpad.<br />

Fonte: Disponível em: . 2010.<br />

De uma forma mais simples, podemos entender os dispositivos de<br />

entrada como sendo aqueles dispositivos que nos permitem introduzir dados<br />

e instruções diretamente na máquina.<br />

2.3.2 Dispositivos de saída<br />

Dispositivos de saída são aqueles que retornam as informações trabalhadas<br />

na máquina para o usuário. Ou seja, externalizam as informações<br />

contidas no computador.<br />

Ao digitar um texto no Microsoft Word, você utiliza o monitor para<br />

visualizar as informações contidas no documento, ou as que estão sendo<br />

inseridas naquele instante. Ou seja, você está utilizando um dispositivo que<br />

te permite interagir com a CPU, visualizando o que está sendo trabalhado.<br />

Mas podemos visualizar essas informações também de forma impressa; utilizamos,<br />

então, a impressora. Enquanto utilizamos o computador, gostamos<br />

de ouvir música; podemos ouvi-las utilizando as caixas de som do próprio<br />

computador. Assim, todas as informações externalizadas pelo computador<br />

dependem de um dispositivo de saída.<br />

São exemplos de dispositivos de saída: impressora (Figura 10), caixa<br />

de som, monitor (Figura 9) e plotter (Figura 11).


Figura 9: Dispositivo de saída - monitor.<br />

Fonte: Disponível em: .<br />

2010.<br />

Figura 10: Dispositivo de saída - impressora.<br />

Fonte: Disponível em: . 2010.<br />

Arquitetura de Computadores 25<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 26<br />

Figura 11: Dispositivo de saída - plotter.<br />

Fonte: Disponível em: . 2010.<br />

Observe que, ao contrário dos dispositivos de entrada, os dispositivos<br />

de saída nos permitem visualizar os dados e as informações armazenadas<br />

e processadas internamente pela máquina, como a impressão de um texto,<br />

a visualização de uma imagem no vídeo ou uma música que pode ser ouvida<br />

por intermédio do computador.<br />

2.3.3 Dispositivos de armazenamento<br />

Assim como dependemos dos dispositivos de entrada e de saída<br />

para inserir ou visualizar informações contidas no computador, precisamos<br />

também de dispositivos que mantenham essas informações guardadas na<br />

máquina. Isso permite que os dados inseridos tenham um lugar certo para<br />

armazenagem e que possam ser manipulados e visualizados quando for necessário.<br />

Os dispositivos que guardam essas informações, como o pendrive, o<br />

disco rígido, o CD, o DVD, a fita dat, o disquete, os cartões de memória e a<br />

memória RAM são os dispositivos de armazenamento.<br />

Dispositivos de armazenamento são as memórias, que estão divididas<br />

em memória principal e secundária.<br />

Memória secundária é aquela que armazena dados ou programas de<br />

modo permanente ou até que o usuário julgue necessário, além do sistema<br />

operacional e dos programas utilizados no computador. São elas: disco rígido<br />

(Figura 13 e Figura 14), pendrive (Figura 12), disquete, CD (Figura 15), DVD,<br />

cartão de memória ou qualquer dispositivo de armazenamento, independentemente<br />

de se está ou não dentro do computador.


Figura 12: Memória secundária - pendrive.<br />

Fonte: Disponível em: .<br />

2010.<br />

Figura 13: Memória secundária – HD externo.<br />

Fonte: Disponível em: . 2010.<br />

Figura 14: Memória secundária – disco rígido.<br />

Fonte: Disponível em: . 2010.<br />

Arquitetura de Computadores 27<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 28<br />

Figura 15: Memória secundária – CDs.<br />

Fonte: Disponível em: . 2010.<br />

Memória primária ou memória central pode ser RAM (Figura 16)<br />

ou ROM. A primeira, armazena os dados temporariamente, essa memória é<br />

volátil, , ou seja, o conteúdo é perdido com o desligamento do computador.<br />

Já a segunda é não volátil. Desse modo, o conteúdo é mantido mesmo após<br />

o desligamento do computador. Esse tipo de memória é definido pelo fabricante<br />

da máquina e pode ser lido ou usado pela CPU para fins específicos do<br />

equipamento.<br />

Figura 16: Memória primária – memória RAM.<br />

Fonte: Disponível em: .<br />

2010.


A memória ROM ou ROM-BIOS (Read-Only Memory Basic Input/Output<br />

System – Sistema Básico de Entrada/Saída em Memória Somente de Leitura),<br />

conforme apresentada na Figura 17, é um grupo de programas residente<br />

no computador e é responsável por realizar operações de controle e de<br />

supervisão nos processos de nível mais básico da máquina.<br />

Fundamentalmente, o ROM-BIOS é um tradutor entre o hardware e<br />

os softwares executados nos computadores. Os softwares armazenados permanentemente<br />

nos circuitos de ROM recebem o nome de firmware.<br />

Figura 17: Memória primária – memória ROM-BIOS.<br />

Fonte: Disponível em: . 2010.<br />

2.3.3.1 Capacidade de armazenamento da memória<br />

As memórias têm capacidades de armazenamento medidas em Kilobytes.<br />

Essa capacidade de armazenamento é que define a quantidade de<br />

informações que podem ser guardadas ou trabalhadas simultaneamente no<br />

computador. Isso quer dizer que, quanto mais bytes a memória tiver, mais<br />

informações poderão ser armazenadas.<br />

Um byte equivale a 8 bits. As demais medidas são múltiplas de<br />

1024, ou seja, múltiplos de 210 (dois na base 10). Observem, na Tabela 2, as<br />

unidades de medida baseadas em bytes.<br />

Tabela 2 - Unidades de medidas das memórias<br />

Unidade de medida Equivalência<br />

1 byte 8 bits<br />

1 kilobyte (KB) 1024 bytes<br />

1 megabyte (MB) 1024 kilobytes<br />

1 gigabyte (GB) 1024 megabytes<br />

1 terabytes (TB) 1024 gigabytes<br />

1 petabyte (PB)<br />

Fonte: Própria, 2010.<br />

1024 terabytes<br />

Arquitetura de Computadores 29<br />

Firmware é o conjunto<br />

de instruções<br />

operacionais<br />

programadas<br />

diretamente no<br />

hardware, ou seja,<br />

nos circuitos dos<br />

equipamentos<br />

eletrônicos.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


CPU - Central<br />

Processing Unit (ou<br />

UCP - Unidade Central<br />

de Processamento)<br />

- é responsável por<br />

comandar periféricos<br />

através de comandos<br />

específicos da máquina.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 30<br />

2.3.4 Processador<br />

O processador é considerado um dos principais componentes do<br />

computador, pois ele é responsável por executar todas as operações. O processador<br />

precisa do auxílio dos dispositivos de entrada, de saída e de armazenamento<br />

para receber os dados do usuário, processá-los e retornar os<br />

resultados. Todos os procedimentos realizados pelo computador são processados<br />

por ele.<br />

O processador (Figura 18) ou CPU é composto por um conjunto de<br />

circuitos eletrônicos que manipula os dados de entrada, transformando-os<br />

em informação. Na verdade, o processador é responsável por executar instruções<br />

específicas do computador para possibilitar a resolução dos problemas<br />

a ele especificados ou atribuídos.<br />

Figura 18: Processadores.<br />

Fonte: Disponível em: . 2010.<br />

Os processadores possuem relógios (clocks) de sistemas que produzem<br />

pulsos, definindo taxas fixas para a sincronização das operações executadas<br />

pelo computador. Esse relógio de sistema é um chip distinto para essa<br />

função, não tendo relação com o relógio da máquina.<br />

Cada modelo de processador trabalha com conjuntos específicos de<br />

instruções, como adicionar e mover. Essas instruções são armazenadas na<br />

memória e localizadas através do endereçamento de memória.


2.4 Barramento<br />

Para que os componentes contidos na máquina interajam, é necessário<br />

fazer uma conexão entre eles; para isso, utilizamos os barramentos.<br />

Desse modo, podemos definir os barramentos como sendo uma via interna de<br />

tráfego responsável por transmitir sinais elétricos entre os diversos componentes<br />

do computador. Esses barramentos são classificados como barramentos<br />

de sistemas e barramentos de expansão.<br />

2.4.1 Barramento de sistema<br />

Os barramentos de sistema geralmente são revestidos de cobre sobre<br />

a superfície da placa-mãe, transportando dados entre a CPU e as memórias.<br />

A quantidade de bits transmitidos simultaneamente por esses barramentos<br />

são definidos pela largura de barramento.<br />

A largura de barramento depende do projeto da CPU, que pode<br />

permitir maior quantidade de dados a serem transmitidos simultaneamente,<br />

números maiores de endereçamento de memória e maior número de instruções<br />

trabalhadas.<br />

O barramento, afeta o desempenho do sistema. Quanto maior a<br />

largura de barramento, mais rápida é a transmissão dos dados através do<br />

sistema.<br />

Placa-mãe ou placa principal de circuito impresso é composta por<br />

um conjunto de chips e conexões que centralizam as atividades do computador,<br />

vinculando componentes como o processador e as memórias.<br />

2.4.2 Barramento de expansão<br />

Barramentos de expansão ou placas de extensão, geralmente, são<br />

conectados a slots (encaixe) de expansão na placa-mãe. Também são conhecidos<br />

como cartões de interface ou cartões adaptadores, que podem ser<br />

conectados aos slots ou em conectores externos (portas). As portas podem<br />

ser seriais ou paralelas; a primeira transmite dados utilizando um bit por vez.<br />

Já a segunda transmite grupos de bits em conjunto.<br />

A Figura 19 apresenta uma placa-mãe com quatro slots de memória,<br />

sendo que apenas um está ocupado. Isso permitiria que outros três dispositivos<br />

de memória pudessem ser incorporados ao hardware.<br />

Arquitetura de Computadores 31<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 32<br />

Figura 19: Slots de memória.<br />

Fonte: Disponível em: . 2010.<br />

Os mais comuns barramentos de expansão são os apresentados a seguir.<br />

1) Barramento ISA (Industry Standard Architecture), apresentado na<br />

Figura 20, é o mais antigo barramento de expansão. Utiliza 8 ou 16 bits e é<br />

utilizado para dispositivos mais lentos, como o mouse e o modem.<br />

Figura 20: Slot ISA.<br />

Fonte: Disponível em: . 2010.<br />

2) Barramento PCI (Peripheral Component Interconect), apresentado<br />

na Figura 21, é usado para conectar dispositivos de alta velocidade, como<br />

discos rígidos e placas de rede.<br />

Figura 21: Slot PCI.<br />

Fonte: Disponível em: . 2010.


3) Barramento AGP (Accelerated Graphics Port), mostrado na Figura<br />

22, possui função principal de melhorar o desempenho do vídeo, pois não<br />

interfere em outros dispositivos, apenas estabelece conexão individual entre<br />

a memória e a placa gráfica AGP.<br />

Figura 22: Barramento AGP.<br />

Fonte: Disponível em: . 2010.<br />

4) Barramento USB (universal Serial Bus), ilustrado na Figura 23,<br />

é um barramento de expansão externo. Os dispositivos que utilizam esse<br />

barramento podem estar interligados em série, eliminando a necessidade<br />

de placas de expansão. Podem ser conectados ou desconectados a qualquer<br />

instante, sem a necessidade de desligar o computador.<br />

Figura 23: Barramento USB.<br />

Fonte: Disponível em: .<br />

2010.<br />

Arquitetura de Computadores 33<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


Resumo<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 34<br />

Nesta aula, você aprendeu que:<br />

• os sistemas computacionais são divididos em subsistemas que<br />

visam trabalhar de maneira independente e interconectados<br />

para garantir o funcionamento do computador e os problemas a<br />

ele impostos;<br />

• hardwares são os elementos físicos do computador;<br />

• softwares são os arquivos lógicos, também chamados de programas;<br />

• os hardwares são divididos em dispositivos de entrada, de saída<br />

e de armazenamento;<br />

• os dispositivos de armazenamento possuem regras de endereçamento<br />

que facilitam a localização dos espaços de memória<br />

dentro do dispositivo;<br />

• o processador ou CPU é um conjunto de circuitos eletrônicos responsável<br />

por comandar periféricos através de comandos específicos<br />

da máquina, manipulando os dados e gerando informação;<br />

• barramentos transmitem sinais elétricos entre os diversos componentes<br />

do computador;<br />

• os barramentos são divididos em barramentos de sistema e barramento<br />

de expansão.<br />

Atividades de aprendizagem<br />

1) O que é um sistema computacional e por que ele se utiliza de subsistemas?<br />

2) Cite exemplos de softwares aplicativos e as suas aplicações.<br />

3) Qual a diferença entre memória primária e memória secundária? Cite<br />

exemplos.<br />

4) Qual a diferença entre software gratuito e de código aberto?<br />

5) Quais os sistemas operacionais que você conhece?<br />

6) Se considerarmos 6144 GB (gigabytes), qual será a sua equivalência em TB<br />

(terabytes)?<br />

7) Crie um esquema de endereçamento de memória para um computador<br />

que usa palavras de 16 bytes.<br />

8) O que é a ROM-BIOS e qual a sua importância?<br />

9) O que é um barramento? E como eles são classificados?<br />

10) Cite exemplos de:<br />

a) cinco dispositivos de entrada;<br />

b) quatro dispositivos de saída;<br />

c) três dispositivos de armazenamento.


<strong>AULA</strong> 1<br />

Aula <strong>Alfabetização</strong> 3 – Computadores <strong>Digital</strong> e linguagens de<br />

programação<br />

Objetivos<br />

Caro aluno! Seja bem-vindo à terceira aula de Arquitetura de Computadores.<br />

O objetivo desta aula é apresentar os princípios básicos sobre o<br />

desenvolvimento de sistemas, permitindo-o conhecer e criar algoritmos em<br />

descrição narrativa, fluxograma e pseudocódigo, além de possibilitar a diferenciação<br />

das linguagens de programação dos algoritmos, classificando-as de<br />

acordo com a sua funcionalidade.<br />

3.1 Os computadores e o desenvolvimento de<br />

algoritmos e sistemas<br />

Os computadores foram criados com o objetivo de auxiliar o usuário<br />

em seus trabalhos, diminuindo esforços e economizando tempo. O computador<br />

é capaz de executar várias tarefas, mas não tem iniciativa própria e<br />

necessita de instruções detalhadas para que possa executá-las. Essas instruções<br />

são os algoritmos.<br />

Os algoritmos são as instruções detalhadas passo a passo, mas não<br />

é uma linguagem entendida pelo computador. Para que esse entendimento<br />

seja possível, os algoritmos são convertidos em linguagens de programação e<br />

transformados em programas.<br />

Ao desenvolver um software, deve-se escrevê-lo em uma linguagem<br />

que tanto o computador quanto o desenvolvedor entendam. Essa linguagem<br />

é chamada de linguagem de programação.<br />

Para desenvolver o software, é necessário passar por três etapas<br />

básicas: análise, algoritmo e codificação.<br />

• Fase de análise: estuda o enunciado do problema para definir os<br />

dados de entrada, o processamento e os dados de saída.<br />

• Elaboração do algoritmo: utiliza ferramentas específicas para<br />

descrever o problema e as suas possíveis soluções.<br />

• Codificação: é a transformação do algoritmo em códigos pela<br />

linguagem de programação escolhida pelo desenvolvedor.<br />

Arquitetura de Computadores<br />

35<br />

Segundo ASCENCIO<br />

(2007), um programa<br />

é a codificação de um<br />

algoritmo em uma<br />

determinada linguagem<br />

de programação.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


Para HOLLOWAY<br />

(2006), aprender a<br />

projetar e implementar<br />

algoritmos aperfeiçoará<br />

a sua habilidade em<br />

pensamentos lógicos;<br />

isto lhe dará uma<br />

base para avaliar os<br />

resultados e simulações<br />

realizados por<br />

computador (...).<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 36<br />

3.2 Algoritmos<br />

Há três tipos de algoritmos: descrição narrativa, fluxograma e pseudocódigo.<br />

Descrição narrativa é um método algorítmico baseado na análise<br />

do enunciado do problema e na sua escrita, utilizando linguagem natural<br />

(ou seja, seu próprio idioma). Aqui, são definidos os passos a serem seguidos<br />

para a resolução de um determinado problema.<br />

O fluxograma utiliza-se de símbolos gráficos pré-definidos, permitindo<br />

decidir os passos a serem seguidos para a resolução do problema.<br />

O pseudocódigo ou portugol utiliza-se de regras pré-definidas para<br />

a resolução do problema.<br />

Para exemplificar os tipos de algoritmos, temos o seguinte enunciado:<br />

crie um algoritmo que imprima a soma de dois números.<br />

Resolução em descrição narrativa:<br />

Passo 1: ler dois números.<br />

Passo 2: somar os dois números.<br />

Passo 3: imprimir a soma.<br />

Resolução em fluxograma:


Resolução em português estruturado:<br />

Início.<br />

Declare.<br />

Numérico: número1, número2, soma.<br />

Leia: número1, número2.<br />

Soma: ← número1 + número2.<br />

Imprima: soma.<br />

Fim_algoritmo.<br />

As três resoluções referem-se ao mesmo enunciado. Todas resolvem<br />

o mesmo problema utilizando estruturas algorítmicas distintas.<br />

A estrutura algorítmica mais utilizada é o português estruturado,<br />

pois a sua estrutura é muito semelhante à estrutura de algumas linguagens,<br />

como a Pascal e a C.<br />

Para criarmos um algoritmo, é necessário definir variáveis. Essas<br />

variáveis nada mais são do que a definição de um espaço de memória onde<br />

serão gravados e manipulados os dados trabalhados no algoritmo. Voltemos<br />

ao algoritmo feito em pseudocódigo ou portugol.<br />

Início<br />

Declare<br />

Numérico Numero1, Numero2, Soma;<br />

Leia Numero1, Numero2;<br />

Soma ← Numero1 + Numero2;<br />

Imprima Soma;<br />

Fim_algoritmo.<br />

Observe que temos várias instruções indicando o que deve ser feito:<br />

declare, leia e imprima. Porém, temos alguns elementos que não são instruções,<br />

que são as variáveis. São esses elementos que receberão os dados<br />

inseridos pelo usuário e guardarão os resultados da operação.<br />

O algoritmo, aqui exemplificado, imprime a soma de dois números.<br />

Imagine que o usuário digite 3 e 4, de modo que o resultado seja 7. Como<br />

o computador saberá quais números ler? E onde essa soma será calculada?<br />

Você se lembra de quando estudamos os dispositivos de entrada,<br />

saída e armazenamento? Então, o usuário digitará os dados por meio de um<br />

dispositivo de entrada. Esses dados serão guardados nos dispositivos de armazenamento<br />

para serem processados, e retornam o resultado utilizando-se<br />

dos dispositivos de saída.<br />

Então, fica fácil; se preciso armazenar esses dados, temporariamente<br />

ou de forma permanente, precisarei de memória (dispositivo de armazenamento).<br />

Sendo assim, darei nomes àqueles espaços de memória que<br />

serão utilizados pelo meu algoritmo e, sempre que precisar daquele dado,<br />

saberei onde ele está, independentemente do valor armazenado nele.<br />

Arquitetura de Computadores 37<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


áveis.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 38<br />

Se somaremos 3 e 4 para obter 7, precisaremos declarar três vari-<br />

Declare<br />

Numérico Numero1, Numero2, Soma;<br />

Desse modo, o primeiro número digitado será armazenado na variável<br />

Numero1, o segundo será armazenado na variável Numero2 e, por fim, o<br />

cálculo da soma será armazenado na variável Soma.<br />

Se o nosso algoritmo pretendesse encontrar o resultado da expressão<br />

X=((N+K)*Y)/2, precisaríamos de quatro variáveis para armazenar N, K,<br />

Y e X.<br />

Se precisássemos calcular a média aritmética de três números, poderíamos<br />

montar a expressão Media=(Num1+Num2+Num3)/3. Então, declararíamos<br />

quatro variáveis: Media, Num1, Num2 e Num3.<br />

Essas variáveis deveriam ter um tipo, ou seja, a que esse dado se<br />

refere. É um texto? É um número? É uma condição? Por isso, antes de declarar<br />

as variáveis, informamos que elas eram do tipo numérico.<br />

3.3 Linguagem de programação<br />

Linguagem de programação nada mais é do que a codificação dos<br />

algoritmos de modo que a máquina entenda aquilo que foi especificado pelo<br />

programador. Formalmente, pode-se definir linguagem de programação<br />

como um conjunto de termos (vocabulários) e regras (sintaxe) que permite a<br />

formulação de instruções ao computador.<br />

São muitas as linguagens de programação, dentre elas, podemos<br />

citar: Pascal, C, C++, Delphi e Java.<br />

As linguagens de programação são classificadas segundo o seu modo<br />

estrutural. Essas estruturas foram surgindo a partir dos avanços tecnológicos<br />

e da necessidade de linguagens mais robustas e adequadas a determinados<br />

tipos de utilização.<br />

A classificação delas pode ser: linguagem de baixo nível, linguagem<br />

não-estruturada, linguagem estruturada, linguagem procedural, linguagem<br />

funcional, linguagem orientada a objetos, linguagem específica, linguagem<br />

visual ou de quarta geração.<br />

3.3.1 Linguagens de baixo nível<br />

São linguagens que possuem instruções muito próximas dos códigos<br />

de máquina. A quantidade e tipos de instruções correspondentes a essa linguagem<br />

variam de acordo com o processador, ou seja, a sua estruturação e<br />

a quantidade de linhas e comandos estarão diretamente vinculadas ao hardware<br />

que a executará. Um exemplo desse tipo de linguagem é o Assembly.


3.3.2 Linguagens não-estruturadas<br />

As linguagens não-estruturadas não estão vinculadas a um processador,<br />

como no caso das linguagens de baixo nível; isso garante maior flexibilidade<br />

no seu uso. A forma em que seus termos são escritos é genérica,<br />

podendo ser utilizada em diferentes plataformas sem alteração da sintaxe.<br />

São linguagens não-estruturadas o Cobol e o Basic.<br />

3.3.3 Linguagens procedurais<br />

Essas linguagens possuem estrutura de controle, organizando de<br />

forma mais eficiente e clara a sintaxe de um programa. Essa sintaxe é definida<br />

por meio de espaçamentos específicos e por outras regras particulares<br />

das linguagens, tornando o seu entendimento e a sua manipulação mais<br />

fáceis para os desenvolvedores. A exemplo dessas linguagens, pode-se citar:<br />

Pascal, C, Fortran, Ada, Modula2 e Modula3.<br />

3.3.4 Linguagens funcionais<br />

Esse tipo de programação tem, como forma funcional, não apenas<br />

a estruturação de comandos ou das regras de linguagem. Seu objetivo principal<br />

é a avaliação de expressões formadas com a utilização de funções que<br />

procuram combinar valores básicos, e não simplesmente executar comandos,<br />

como as linguagens estruturadas. Exemplos: Prolog, Lisp e Scheme.<br />

3.3.5 Linguagens orientadas a objetos<br />

A programação orientada a objetos baseia-se em princípios da programação<br />

estruturada combinados a novos conceitos, que permitem que os<br />

programas sejam decompostos em subgrupos ou subprogramas inter-relacionados;<br />

esses subgrupos são chamados de objetos. Estes podem ser implementados<br />

individualmente e incorporados ou retirados de um sistema maior<br />

sempre que necessário.<br />

3.3.6 Linguagens específicas<br />

São aquelas implementadas para atividades específicas, como a<br />

SQL (Structure Query Language), utilizada em bancos de dados, e o Matlab,<br />

para simulações matemáticas.<br />

3.3.7 Linguagens de quarta geração ou visuais<br />

São linguagens desenvolvidas especificamente para os novos sistemas<br />

operacionais dotados de interface gráfica, como o Windows Xp, Windows<br />

Arquitetura de Computadores 39<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 40<br />

7 e Umbuntu. Esses sistemas operacionais são robustos e apresentam aos<br />

usuários telas amigáveis e interativas. As linguagens evoluíram junto com os<br />

sistemas operacionais para poder atender a esses recursos gráficos, interativos,<br />

e também a outras necessidades mais especificas, como as aplicações<br />

de rede e as conexões aos bancos de dados.<br />

Resumo<br />

Nesta aula, foi possível entender que:<br />

• para desenvolver o software, é necessário passar por três etapas<br />

básicas: análise, algoritmo e codificação;<br />

• o computador é capaz de executar várias tarefas, mas não tem<br />

iniciativa própria e necessita de instruções detalhadas para poder<br />

executá-las. Essas instruções são algoritmos;<br />

• há três tipos de estruturas algorítmicas: descrição narrativa, fluxograma<br />

e portugol;<br />

• linguagem de programação é o conjunto de termos e regras que<br />

permite a formulação de instruções ao computador;<br />

• as linguagens de programação podem ser classificadas como: linguagem<br />

de baixo nível, linguagem não-estruturada, linguagem<br />

estruturada, linguagem procedural, linguagem funcional, linguagem<br />

orientada a objetos, linguagem específica, linguagem visual<br />

ou de quarta geração.


Atividades de aprendizagem<br />

1) Qual a diferença entre algoritmo e linguagem de programação?<br />

2) Identifique a classificação das linguagens a seguir, segundo a sua forma<br />

estrutural.<br />

a) Cobol<br />

b) Pascal<br />

c) Assembly<br />

d) Scheme<br />

e) C<br />

f) Fortran<br />

g) SQL<br />

h) Java<br />

i) Lisp<br />

j) Delphi<br />

k) Basic<br />

l) Prolog<br />

3) Relacione a segunda coluna de acordo com a primeira:<br />

( a ) Pseudocódigo<br />

( b ) Descrição narrativa<br />

( c ) Fluxograma<br />

(__) Utiliza-se de símbolos gráficos pré-definidos,<br />

permitindo determinar os passos a serem<br />

seguidos para a resolução do problema.<br />

(__) Método algorítmico baseado na analise do<br />

enunciado do problema e na sua escrita, utilizando<br />

linguagem natural.<br />

(__) Utiliza-se de regras pré-definidas para a resolução<br />

do problema.<br />

4) O que é uma variável e qual a sua importância no algoritmo?<br />

5) Quantas variáveis serão necessárias para criar um algoritmo que resolva a<br />

seguinte expressão: SalarioNovo=(SalarioBase * 1.25)?<br />

6) Elabore um algoritmo que leia um número e imprima o dobro.<br />

7) Crie um algoritmo que imprima o cubo de um número.<br />

Arquitetura de Computadores 41<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


<strong>AULA</strong> 1<br />

Aula <strong>Alfabetização</strong> 4 – Instruções <strong>Digital</strong> e modos de endere-<br />

çamento de memória<br />

Objetivos<br />

Prezado aluno! Seja bem-vindo à quarta aula de Arquitetura de<br />

computadores.<br />

Nesta aula, aprenderemos sobre os tipos de memória e como os<br />

dados devem ser armazenados de forma adequada para que possam ser encontrados,<br />

trabalhados e manipulados de modo rápido e seguro, por meio do<br />

endereçamento de memória.<br />

4.1 A memória<br />

Como visto na Aula 2, o computador utiliza-se de dispositivos de<br />

armazenamento para guardar seus dados e informações. Mas não podemos<br />

guardar essas informações de forma aleatória e sem organização. Para isso,<br />

utilizamos os endereçamentos de memória.<br />

A memória fornece à CPU um espaço para o armazenamento e a<br />

manipulação de dados e programas. A característica principal da memória<br />

é que ela permite que a CPU acesse e manipule as instruções e os dados de<br />

forma rápida e eficiente. Isso se dá por meio dos endereçamentos de memória.<br />

Esse endereçamento pode ser comparado aos nossos endereços de<br />

correspondência. Servem para facilitar a localização de um determinado objeto<br />

ou imóvel. Imagine localizar uma casa, em uma cidade de 300 mil habitantes,<br />

sem ter em mãos o endereço correto? Quanto tempo você levaria<br />

para localizá-la? Por isso, é importante o endereçamento. Um dado armazenado<br />

na memória do computador também fica mais fácil de ser encontrado<br />

quando se define o endereço de armazenamento.<br />

4.2 Endereçamento de memória<br />

Cada posição da memória é constituída por um grupo de oito elementos.<br />

Cada uma delas é numerada, sempre iniciando em zero.<br />

Os endereços são permanentes e já vêm definidos de fábrica, não<br />

podendo ser modificados pelo programador. Quando o computador usa palavras<br />

de 4 bytes, os endereços serão: 0-4-8-12-16-20, e assim sucessivamente.<br />

Ou seja, cada bloco terá 4 bytes. Para melhor entendimento, observe o esquema<br />

apresentado na Figura 24.<br />

Arquitetura de Computadores<br />

43<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


Memória virtual é a<br />

técnica utilizada pela<br />

memória principal e<br />

auxiliar para otimizar a<br />

utilização dos sistemas.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 44<br />

Figura 24: Blocos de endereçamento.<br />

Fonte: Adaptado de Velloso(2004), 2010.<br />

O endereçamento tem o objetivo de criar uma estrutura para a<br />

organização do funcionamento do computador, de modo que os dados armazenados<br />

nos blocos de memória possam ser alterados, mas o endereçamento<br />

deles não.<br />

Capron e Johnson (2004) comparam o endereçamento de memória<br />

com as caixas postais na entrada de apartamentos. Os endereços permanecem<br />

os mesmos, mas o conteúdo delas pode mudar.<br />

4.3 Memória virtual<br />

Memória virtual é a técnica que visa melhorar os recursos do sistema,<br />

especialmente da CPU e da memória principal. Velloso (2004) define<br />

memória virtual como endereços virtuais mapeados em endereços reais. Isso<br />

ocorre quando o conjunto de endereços da memória principal, disponíveis<br />

para um ou mais programas, passa a ser maior do que a capacidade real de<br />

endereçamento nessa memória.<br />

O espaço de endereço virtual é dividido em unidades chamadas<br />

páginas, e as unidades correspondentes a elas, na memória física, são camadas<br />

de memória principal. As páginas e a memória principal devem ter o<br />

mesmo tamanho. Mas, para que possamos manipular essa memória virtual, é<br />

necessário um terceiro dispositivo, o dispositivo de acesso direto ou memória<br />

auxiliar, conforme apresentado na Figura 25.<br />

Figura 25: Acesso à memória virtual.<br />

Fonte: FEDELI; Ricardo Daniel. Introdução à Ciência da Computação, 2003.


O trânsito de páginas e a conversão dos seus respectivos endereços<br />

virtuais em reais são feitas por meio da tradução dinâmica de endereços<br />

(DAT – Dynamic Addess Tranlation).<br />

Quando não é possível reconhecer o endereço virtual na memória<br />

principal, a DAT guarda o endereço virtual na memória auxiliar, até encontrar<br />

na memória principal uma página disponível para alocar esse endereço.<br />

Depois disso, o endereço real é liberado para ser preenchido pela página<br />

requisitada.<br />

A maior parte dos programas será armazenada na memória auxiliar,<br />

mesmo durante a sua execução. Na memória principal, estarão apenas as<br />

instruções e os dados que estão sendo executados naquele momento.<br />

Os programas são executados por meio de endereçamento virtual,<br />

independentemente de suas posições físicas. A DAT tem a responsabilidade<br />

de identificar esse endereço virtual e guardá-lo na memória principal. Isso é<br />

feito através de tabelas executadas pela DAT. Essa operação é chamada de<br />

paginação de demanda.<br />

Vale ressaltar que a performance do sistema de paginação está diretamente<br />

ligada aos fabricantes de computadores e aos modelos de dispositivos<br />

escolhidos.<br />

4.3.1 Paginação<br />

A técnica de paginação é um método de criação de endereços virtuais,<br />

mesmo em computadores sem memória virtual. Ao utilizar a memória<br />

virtual, utiliza-se a unidade de gerenciamento de memória (MMU – Memory<br />

Management Unit), que é composta por um chip ou por um conjunto de chips<br />

responsável por mapear os endereços virtuais para os endereços de memória<br />

físicos, como pode ser observado na Figura 26.<br />

Figura 26: Unidade de gerenciamento de memória.<br />

Fonte: Adaptado de Tanenbaum, 2000.<br />

Arquitetura de Computadores 45<br />

Vale lembrar que a<br />

memória principal<br />

sempre se reporta à<br />

CPU, e as instruções<br />

executadas pela CPU<br />

estão gravadas na<br />

memória principal. Já a<br />

memória auxiliar referese<br />

aos dispositivos de<br />

acesso direto, sendo<br />

utilizados para guardar<br />

informações que não<br />

são necessárias para<br />

o uso imediato. Os<br />

programas armazenados<br />

na memória auxiliar<br />

somente poderão<br />

ser processados se<br />

chamados para a<br />

memória principal<br />

antes de qualquer outra<br />

providência.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 46<br />

O espaço de endereço virtual é dividido em unidades chamadas<br />

páginas, e as unidades correspondentes a elas na memória física são camadas<br />

de molduras de página. As páginas e as molduras de página devem ter o<br />

mesmo tamanho.<br />

Quando não há mapeamento de página, ocorre uma interrupção<br />

(como visto na Figura 27). Essas interrupções são chamadas falhas de páginas.<br />

Caso isso ocorra, o sistema operacional seleciona uma moldura de<br />

página pouco utilizada para gravar o seu conteúdo no disco e a instrução<br />

interrompida é reiniciada.<br />

Figura 27: Mapeamento de página.<br />

Fonte: TANEMBAUM; Andrew, Sistemas Operacionais Modernos, 2003.<br />

Paginação é a movimentação de blocos de tamanhos constantes<br />

entre a memória principal e a auxiliar.<br />

4.3.2 Tabela de endereços virtuais<br />

A tabela de endereços virtuais e as tabelas de segmentos de página<br />

são mantidas pelo sistema operacional na memória principal e são usadas pelo<br />

hardware para traduzir endereços virtuais referenciados nos endereços reais.


As tabelas são criadas por um programa responsável por instituir<br />

os designadores de segmento e de página, identificando, assim, o endereço<br />

virtual. As entradas de endereçamento possuem 8 bits, sempre os primeiros,<br />

expressando símbolos que indicam a condição da página: está reservada<br />

ou não, está gravada na memória principal ou não, está sendo acessada ou<br />

transcrita, entre outras ações referentes ao endereçamento de memória.<br />

O processo de tradução é feito pelo hardware através de recursos<br />

lógicos. Esse processo requer aproximadamente quatro ciclos de memória<br />

para gerar um endereço real. A Figura 30 apresenta o processo de tradução.<br />

Figura 28: Tabelas de endereçamento.<br />

Fonte: FEDELI; Ricardo Daniel, Introdução à Ciência da Computação, 2003.<br />

Ao iniciar o processo de tradução, há uma pesquisa nas tabelas<br />

procurando obter o endereço-base na tabela de segmento. O endereço-base<br />

é inserido nos bits reservados aos segmentos virtuais, preenchendo, assim, a<br />

entrada da tabela de segmento, que contém o endereço-base na tabela de<br />

páginas.<br />

Assim que o endereço é localizado, é gerada uma interrupção, possibilitando<br />

a paginação.<br />

Arquitetura de Computadores 47<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


O ciclo de memória é o<br />

intervalo mínimo entre<br />

dois acessos sucessivos<br />

à memória.<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 48<br />

4.3.3 Memória cache<br />

A memória cache tem a função de identificar e armazenar quais<br />

posições de memória são mais solicitadas pelo processador. Ela pode ser interposta<br />

entre o processador e a memória principal ou inserida diretamente<br />

no processador.<br />

A cache contém um subconjunto de posições equivalente à memória<br />

principal; pode ser obtida através de índice de bloco, mapeamento<br />

associativo ou mapeamento de conjunto.<br />

4.3.4 Tempo de acesso e ciclo de memória<br />

Neste item, será apresentado o tempo necessário para que um<br />

sistema de computador seja capaz de localizar uma posição de memória<br />

e transferir informações para esse endereço. A fórmula para calcular esse<br />

tempo é:<br />

T ac = T loc + T tr<br />

O tempo de latência ou de localização (Tloc) deve ser utilizado<br />

apenas para as memórias secundárias, sendo desprezível para a memória<br />

principal.<br />

O tempo de transferência (Ttr) varia de acordo com a natureza da<br />

operação a ser processada, que é múltipla de um valor básico, chamado de<br />

ciclo de memória; este tem valor especifico, de acordo com o equipamento.<br />

Resumo<br />

Nesta aula, foi possível entender que:<br />

• a memória é um espaço para o armazenamento e a manipulação<br />

de dados e programas;<br />

• o endereçamento de memória permite que a CPU acesse e manipule<br />

as instruções e os dados, de forma rápida e eficiente, na<br />

memória do computador;<br />

• memória virtual é a técnica que visa melhorar os recursos do<br />

sistema, especialmente da CPU e da memória principal;<br />

• o espaço de endereço virtual é dividido em unidades chamadas<br />

páginas, e as unidades correspondentes a elas na memória física<br />

são camadas memória principal;<br />

• a maior parte dos programas será armazenada na memória auxiliar,<br />

mesmo durante a sua execução. Na memória principal,<br />

estarão apenas as instruções e os dados que estão sendo executados<br />

naquele momento;<br />

• os programas são executados por meio de endereçamento virtual,<br />

independentemente de suas posições físicas;


• a técnica de paginação é um método de criação de endereços<br />

virtuais, mesmo em computadores sem memória virtual;<br />

• a tabela de endereços virtuais e as tabelas de segmentos de página<br />

são mantidas pelo sistema operacional na memória principal;<br />

são usadas pelo hardware para traduzir endereços virtuais<br />

referenciados nos endereços reais;<br />

• a memória cache tem a função de identificar e armazenar quais<br />

posições de memória são mais solicitadas pelo processador. Ela<br />

pode ser interposta entre o processador e a memória principal<br />

ou inserida diretamente no processador;<br />

• o ciclo de memória é o intervalo mínimo entre dois acessos sucessivos<br />

à memória.<br />

Atividades de aprendizagem<br />

1) O que você entende sobre endereçamento de memória?<br />

2) Como a memória do computador pode ser dividida?<br />

3) O que é memória virtual e como é o seu funcionamento?<br />

4) Qual a diferença entre memória principal e memória auxiliar?<br />

5) Quais as vantagens de utilizar a memória virtual?<br />

6) Para que serve a memória cache?<br />

Arquitetura de Computadores 49<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


<strong>AULA</strong> 1<br />

Aula <strong>Alfabetização</strong> 5 – Caracterização <strong>Digital</strong> das interfaces<br />

paralelas e seriais<br />

Objetivos<br />

Caro aluno! Seja bem-vindo à quinta aula de Arquitetura de Computadores.<br />

Nesta aula, estudaremos o modo como os dispositivos de entrada,<br />

de saída e de armazenamento compartilham dados para que as tarefas desejadas<br />

sejam executadas de forma satisfatória pelo computador.<br />

5.1 Interfaces de transmissão<br />

Como visto na aula 2, o computador contém dispositivos que permitem<br />

a interação do usuário com a máquina. São os dispositivos de entrada<br />

e os dispositivos de saída. Esses dispositivos transmitem os dados por meio<br />

de interfaces distintas, paralelas ou seriais. O tipo de interface é que define<br />

como os dados serão transmitidos. Esses dados são transmitidos como bits.<br />

Observe a Figura 29; ela apresenta os modelos de portas de interface<br />

serial e paralela.<br />

Figura 29: Portas seriais e paralelas.<br />

Fonte: Disponível em: , 2011.<br />

5.2 Interface serial<br />

A interface serial transmite os dados em série, ou seja, bit por bit,<br />

um a um, isto é, um após o outro até que o dado seja completamente transmitido.<br />

A implementação dessa interface é barata, uma vez que a remontagem<br />

Arquitetura de Computadores<br />

51<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 52<br />

dos dados transmitidos ocorre de forma comparativa. Observe a Figura 30;<br />

ela mostra como os bits são remontados. Eles são agrupados de 8 em 8, reconstituindo<br />

os bytes originais. Isso faz com que o controle e a remontagem<br />

serial sejam mais simples e mais baratos do que a paralela.<br />

Figura 30: Interface serial.<br />

Fonte: Disponível em: . 2011.<br />

Todos os bits são transferidos por intermédio do mesmo meio físico,<br />

fazendo com que haja uma transmissão mais lenta. Outro problema é que, se<br />

houver qualquer anomalia, todos os bits serão igualmente afetados.<br />

Figura 31: Mouse serial.<br />

Fonte: Disponível em: . 2010.<br />

A Figura 31 apresenta uma das aplicações da interface serial; por<br />

ser um processo de transmissão lento, não é indicado para dispositivos mais<br />

rápidos. Deve ser utilizado apenas em periféricos lentos, como teclados,<br />

mouses e modems.<br />

A transmissão serial possui apenas duas linhas para o envio de mensagem,<br />

sendo uma delas reservada à referência (ground) e outra reservada à<br />

linha de sinal. Isso faz com que os bits sejam transmitidos individualmente,<br />

um por vez, dependendo, assim, de um protocolo entre transmissor e receptor.<br />

Essa transmissão pode ser síncrona ou assíncrona, como visto a seguir.


5.2.1 Transmissão serial assíncrona<br />

Na transmissão serial assíncrona, enviam-se os bytes um a um, utilizando-se<br />

de caracteres especiais que marcam o início e o fim do byte, como<br />

se observa na Figura 32.<br />

Figura 32: Transmissão serial assíncrona.<br />

Fonte: Própria, 2011.<br />

O bit inicial, ou bit star”, é a referência de que os próximos bits<br />

serão os dados a serem transmitidos. Um bit final, ou bit stop, identifica o<br />

término da transmissão do byte.<br />

Essa transmissão tem como característica bits adicionais para cada<br />

byte enviado para que haja reconhecimento correto dos dados transmitidos.<br />

Nessa aplicação, utilizamos conceitos de paridade. Isso significa que, ao enviar<br />

8 bits de dados, pode-se utilizar 10 bits para a paridade desligada e 11<br />

bits para a paridade ligada. A paridade objetiva detectar erros no byte.<br />

5.2.2 Transmissão serial síncrona<br />

Na transmissão serial síncrona, os bits de dados são enviados em<br />

forma de blocos. Não há bits start nem stop. Podemos visualizar essa transmissão<br />

observando a Figura 33.<br />

Figura 33: Transmissão serial síncrona.<br />

Fonte: Própria, 2011.<br />

O bloco sincronizador é responsável por identificar que a transmissão<br />

dos dados poderá ser iniciada. O bloco de dados é o conjunto de bits a<br />

ser transmitido; esses bits têm, anexados a eles, cabeçalhos. Por fim, o BCC<br />

identifica o final da mensagem, verificando se houve ou não a ocorrência de<br />

erros durante a transmissão.<br />

Algumas das vantagens da transmissão serial síncrona: garantia de<br />

uma maior eficiência de transmissão, maior segurança na sincronização, melhores<br />

métodos de detecção de erros e maior velocidade de transmissão. Por<br />

outro lado, tem o custo alto e apresenta maior índice de erros de sincronização<br />

ou transmissão.<br />

Arquitetura de Computadores 53<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 54<br />

5.3 Interface paralela<br />

A interface paralela transmite os bits em blocos, ou seja, vários<br />

bits ao mesmo tempo. A Figura 34 mostra um exemplo de cabo paralelo para<br />

impressora.<br />

Figura 34: Cabo paralelo de impressora.<br />

Fonte: Disponível em: . 2010.<br />

O processo de transferência na interface paralela é mais complexo<br />

do que na serial. Isto o torna mais caro. A propagação dos sinais no meio físico,<br />

ou seja, a conexão entre o dispositivo e a interface deve permitir que os<br />

bits correspondentes a cada byte cheguem simultaneamente à extremidade<br />

oposta do cabo, onde então serão reagrupados em bytes. Observe a Figura<br />

35; ela representa a transferência de dados por meio da interface paralela.<br />

Figura 35: Interface paralela.<br />

Fonte: Disponível em: 2010.


Esse tipo de interface pode sofrer diferenciação na velocidade de<br />

propagação de acordo com os meios físicos que transmitirão os dados. Há<br />

fios que conduzem sinais de forma rápida e outros de forma lenta. Isso pode<br />

causar problemas na transmissão, como bits fora de ordem, o que corromperia<br />

a informação. A solução para isso é limitar o tamanho do cabo. Até 1,5<br />

metros de comprimento, o tempo de perda (throughput) não comprometeria<br />

a transmissão dos dados.<br />

Geralmente, a interface paralela é utilizada em aplicações que demandam<br />

taxas altas de transferência, como os discos rígidos, as impressoras<br />

e os drives de CD e DVD.<br />

A transmissão serial utiliza uma estrutura de 10 linhas para poder<br />

executar a transmissão dos dados; oito linhas são reservadas para a transmissão<br />

dos dados, uma linha para cada bit, isto porque oito bits equivalem<br />

a um byte. Uma linha é reservada para as instruções de referência, são as<br />

grounds. Por fim, mais uma linha: strobe (STB). O strob é responsável por<br />

identificar e validar a tensão correta (1 ou 0) de todas as linhas, permitindo<br />

que o receptor leia as informações transmitidas. Por necessitar de grande<br />

quantidade de linhas, a transmissão torna-se onerosa, mas rápida, pois possibilita<br />

a transmissão do byte de uma só vez e por completo.<br />

5.4 Comparativo entre interface serial e paralela<br />

Ao comparar as interfaces paralelas e seriais, podemos observar<br />

que elas têm aplicações distintas, sendo utilizadas de acordo com a necessidade<br />

de cada dispositivo. Para comunicações de alta velocidade, com distância<br />

curta, deve-se utilizar a interface paralela. Já para distâncias longas,<br />

com velocidade menor, utiliza-se de interface serial. Observe alguns itens<br />

apresentados na Tabela 3.<br />

Tabela 3: Tabela comparativa de transmissão serial e paralela<br />

Serial Paralela<br />

Tipo de Dados Dados simples Dados complexos<br />

Comunicação Utiliza apenas um canal Utiliza mais de um canal<br />

de comunicação<br />

de comunicação<br />

Velocidade de transmis- Menor velocidade de Maior velocidade de<br />

são<br />

transmissão<br />

transmissão<br />

Fonte: Própria (2010)<br />

Esta tabela comparativa não tem o objetivo de qualificar uma transmissão<br />

como melhor do que a outra, e sim apresentar, de forma resumida,<br />

a diferença entre elas. É esse comparativo que nos permite identificar qual<br />

delas é mais adequada para cada tipo de dispositivo.<br />

Arquitetura de Computadores 55<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


Resumo<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 56<br />

Nesta aula, foi possível entender que:<br />

• interface serial transmite dados em série, ou seja, bit por bit,<br />

um a um, isto é, um após o outro até que o dado seja completamente<br />

transmitido;<br />

• interface paralela transmite bits em blocos, ou seja, vários bits<br />

ao mesmo tempo;<br />

• na interface serial, os bits são agrupados de 8 em 8 para serem<br />

remontados, reconstituindo os bytes originais. Isso faz o controle<br />

e a remontagem serial mais simples e mais barata do que a paralela;<br />

• a transmissão serial possui apenas duas linhas para o envio de<br />

mensagem, sendo uma delas reservada à referência (ground) e<br />

outra à linha de sinal;<br />

• a transmissão serial pode ser síncrona ou assíncrona;<br />

• o processo de transferência na interface paralela é mais complexo<br />

do que na serial, o que o torna mais caro;<br />

• a interface paralela geralmente é utilizada em aplicações que<br />

demandam taxas altas de transferência com distâncias curtas.<br />

Atividades de aprendizagem<br />

1) Qual a diferença da interface serial e paralela?<br />

2) A interface serial divide-se em interface serial síncrona e assíncrona. Explique<br />

cada uma delas.<br />

3) Para a comunicação de dados via linha discada, a conexão de um modem,<br />

deve-se utilizar a interface:<br />

a) SCSI.<br />

b) Serial.<br />

c) Paralela.<br />

d) Roteamento.<br />

4) Com relação às modalidades de transmissão serial e paralela, pode-se<br />

afirmar que:<br />

a) a transmissão serial é bit por bit; a paralela é por blocos de caracteres.<br />

b) a transmissão paralela é bit por bit; a serial, caractere por caractere.<br />

c) a transmissão paralela é por bit e a serial por caractere.<br />

d) a transmissão serial é bit por bit; a paralela, caractere por caractere.


<strong>AULA</strong> 1<br />

Aula <strong>Alfabetização</strong> 6 – Caracterização <strong>Digital</strong> de arquiteturas<br />

RISC e CISC<br />

Objetivos<br />

Oi, aluno! Seja bem-vindo à sexta e última aula de Arquitetura de<br />

Computadores.<br />

Nesta aula, estudaremos sobre as arquiteturas RISC (Reduced Instruction<br />

Set Computer) e CISC (Complex Instruction Set Computer), suas<br />

principais características quais as vantagens de cada uma delas. Veremos,<br />

ainda, os processadores híbridos que se utilizam dos princípios das duas arquiteturas,<br />

simultaneamente.<br />

6.1 Arquitetura RISC<br />

Inicialmente, o conceito da arquitetura RISC (Reduced Instruction<br />

Set Computer) era utilizar um conjunto reduzido de instruções de linguagem<br />

de máquina. Porém, os primeiros processadores necessitavam de programadores<br />

altamente especializados para escrever os programas, uma vez que<br />

era necessário conhecer o processador e escrever códigos em linguagem de<br />

máquina pura.<br />

Por essa razão, os projetistas de hardware desenvolveram a técnica<br />

de microprogramação, ou seja, foi possível introduzir funções específicas<br />

diretamente no hardware. Os processadores passaram a utilizar o número<br />

excessivo de funções, inviabilizando a utilização da microprogramação. Isso<br />

fez com que fosse criada a arquitetura CISC, capaz de trabalhar um conjunto<br />

de instruções complexas.<br />

Com o passar do tempo, aumentou-se a velocidade da memória e a<br />

sua capacidade de armazenamento. Isso permitiu a utilização de softwares<br />

para substituir a microprogramação. Por outro lado, apresentou desvantagens,<br />

como problemas de cálculos em ponto flutuante e em execução de<br />

multiplicações.<br />

A primeira máquina moderna a utilizar a arquitetura RISC foi o IBM<br />

801, por volta de 1975. Em 1980, foram criados processadores com arquitetura<br />

RISC, batizados como RISC I, RISC II e MIPS. Esses processadores foram<br />

testados e utilizados pela IBM e pela Sun Microsystems.<br />

A arquitetura RISC favorece a utilização de um conjunto simples e<br />

pequeno de instruções, além de alta velocidade de execução. Alguns dos processadores<br />

modernos que utilizam essa arquitetura são: DEC Alpha, SPARC,<br />

MIPS e PowerPC. São usados também em videogames.<br />

Arquitetura de Computadores<br />

57<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 58<br />

A arquitetura RISC possui as seguintes características:<br />

• conjunto de instruções reduzido e simples;<br />

• instruções regulares e em formato simples;<br />

• utiliza sempre registros para a sua execução;<br />

• modo simples de endereçamento de memória;<br />

• operação elementar por cclo de via de dados; e<br />

• utiliza princípios de pipeline.<br />

A arquitetura RISC trabalha, ainda, com três princípios básicos: ciclo<br />

da via de dados, LOAD/STORE e pipeline. O ciclo da via dos dados é a utilização<br />

dos recursos e das instruções de máquina para aumentar o desempenho<br />

do processamento, fazendo bom uso dos dados. O ciclo de via dos dados<br />

depende de diversos recursos da CPU, como a memória cache, o gerenciador<br />

de memória e os coprocessadores de ponto flutuante. O LOAD/STORE é uma<br />

arquitetura responsável por referenciar a memória. O pipeline é a utilização<br />

de instruções baseada em ciclos, isto é, uma instrução só pode ser executada<br />

quando a anterior tiver sido finalizada. É a realização de tarefas por estágios.<br />

6.2 Arquitetura CISC<br />

No início da década de 1970, havia uma grande limitação nos computadores<br />

por causa dos processadores que não suportavam executar determinados<br />

softwares. O desenvolvedor tinha que ter domínio sobre as funções<br />

do processador e desenvolver seus programas baseados nele, ou seja, escrever<br />

seus programas em linguagem de máquina pura; isso limitava as funcionalidades<br />

do software.<br />

Para que as instruções escritas em linguagem de alto nível pudessem<br />

ser convertidas em Assembly, necessitar-se-ia de compiladores mais fáceis<br />

de escrever. O que pouparia tempo e esforço para os programadores,<br />

reduzindo os custos com o desenvolvimento de softwares, e tornaria o código<br />

mais compacto, economizando espaço na memória.<br />

Em razão disso, foi desenvolvida uma nova técnica pelos projetistas<br />

de hardware, a microprogramação, possibilitando que instruções sejam<br />

inseridas diretamente no hardware, permitindo, assim, que o programador<br />

do software não se preocupe com o equipamento e desenvolva aplicações<br />

independentes. Por outro lado, o excesso de microcódigos sobrecarregava<br />

os processadores, tornando-os mais lentos. Isso faz com que o processador<br />

necessite de maior velocidade de processamento, e essa velocidade fica<br />

atrelada ao meio físico, ou seja, não há como aumentar a velocidade sem<br />

aumentar o tamanho do processador.<br />

A arquitetura CISC (Complex Instruction Set Computer) tem como<br />

alguns dos seus objetivos:<br />

• simplificar a escrita dos compiladores;<br />

• reduzir os custos de desenvolvimento de software;<br />

• melhorar a semântica entre linguagens de programação e a máquina;


• melhorar a compactação do código;<br />

• facilitar a utilização de linguagem de alto nível; e<br />

• possibilitar a detecção e a correção de erros.<br />

A arquitetura RISC fez parte de algumas das gerações anteriores<br />

de processadores, como os da família M680x0, da Motorola, e os da ix86, da<br />

Intel.<br />

6.3 Comparativo entre as arquiteturas RISC e<br />

CISC<br />

Não há como afirmar qual das duas arquiteturas é a melhor. Esse é<br />

um assunto que causa polêmica entre os desenvolvedores de softwares e os<br />

projetistas de hardware. Na década de 1980, a tendência era a utilização de<br />

processadores com instruções complexas, ou seja, o CISC. Entretanto, essa<br />

ideia não agradava a todos e alguns fabricantes preferiram utilizar instruções<br />

simples, seguindo o padrão RISC .<br />

As duas arquiteturas são contrárias; a CISC utiliza estruturas complexas<br />

e a RISC executa apenas poucas instruções simples.<br />

Os processadores baseados na tecnologia RISC possuem poucos circuitos<br />

internos, podendo receber frequências mais altas. Além disso, a baixa<br />

quantidade de instruções possibilita a otimização dos processos, resultando<br />

em melhor desempenho.<br />

Os processadores baseados na arquitetura CISC são capazes de<br />

executar diversas instruções distintas, porém poucas são recorrentes. Desse<br />

modo, várias instruções não são executadas ou são executadas poucas vezes.<br />

É fato que algumas tarefas são mais bem executadas em CISC do que em<br />

RISC, pois elas contêm mais instruções, possibilitando uma maior diversidade<br />

de recursos. Com isso, foram desenvolvidos os processadores híbridos, que<br />

são criados em arquitetura CISC, mas utilizam recursos da arquitetura RISC.<br />

O inverso também pode ocorrer.<br />

Atualmente, a maior parte dos processadores é híbrida. Exemplos:<br />

MIPS R10000, HP PA-8000 e os processadores da família x86 (Pentium II, Pentium<br />

III e AMD Athlon).<br />

Uma vantagem da arquitetura CISC é que muitas instruções são<br />

armazenadas no processador, facilitando o trabalho dos programadores. Já<br />

na arquitetura RISC, o programador tem disponível somente as instruções<br />

simples, sendo necessário combinar várias instruções para executar tarefas<br />

mais complexas.<br />

Os processadores CISC costumam utilizar modos de endereçamento<br />

de memória para facilitar a tarefa dos compiladores. Isso facilita a execução<br />

dos mais diversos tipos de operação dos dados armazenados na memória.<br />

Como visto anteriormente, os processadores RISC utilizam dois tipos<br />

de instruções: LOAD/STORE, para acesso à memória, utilizando somente<br />

o modo direto, e demais operações matemáticas do processador. Essas ins-<br />

Arquitetura de Computadores 59<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong> 60<br />

truções fazem com que o desenvolvimento do projeto e a implementação<br />

das instruções sejam simplificados, reduzindo os ciclos de via de dados. O<br />

pipelining é utilizado em larga escala na arquitetura RISC. Isso facilita a execução<br />

das instruções referentes ao ciclo de via de dados.<br />

Outra comparação entre os processadores RISC e CISC é a de que<br />

os processadores RISC possuem instruções simples e tendem a consumir mais<br />

instruções em um programa do que os processadores CISC.<br />

Resumo<br />

Nesta aula, foi possível aprender que:<br />

• a arquitetura RISC (Reduced Instruction Set Computer), utiliza<br />

um conjunto reduzido de instruções em linguagem de máquina;<br />

• microprogramação é a técnica responsável por possibilitar a introdução<br />

de funções específicas diretamente no hardware;<br />

• a primeira máquina moderna a utilizar a arquitetura RISC foi o<br />

IBM 801, por volta de 1975. Em 1980, foram criados processadores<br />

com arquitetura RISC, batizados como RISC I, RISC II e MIPS;<br />

• a arquitetura RISC favorece a utilização de conjuntos simples e<br />

pequenos de instruções, além de alta velocidade de execução;<br />

• a arquitetura RISC trabalha com três princípios: ciclo da via de<br />

dados, LOAD/STORE e pipeline;<br />

• a arquitetura CISC (Complex Instruction Set Computer) possui<br />

poucos circuitos internos, podendo receber frequências altas.<br />

Além disso, a baixa quantidade de instruções possibilita a otimização<br />

dos processos, resultando em melhor desempenho;<br />

• os processadores CISC costumam utilizar modos de endereçamento<br />

de memória para facilitar a tarefa dos compiladores. Isso<br />

facilita a execução dos mais diversos tipos de operação dos dados<br />

armazenados na memória;<br />

• uma vantagem da arquitetura CISC é que muitas instruções são<br />

armazenadas no processador, facilitando o trabalho dos programadores;<br />

• os processadores baseados na arquitetura CISC são capazes de<br />

executar diversas instruções distintas, porém, poucas são recorrentes.


Atividades de aprendizagem<br />

1) Aponte e comente as principais diferenças entre as arquiteturas RISC e<br />

CISC.<br />

2) Foi possível definir qual das duas arquiteturas é a melhor? Justifique a sua<br />

resposta.<br />

3) O que é a microprogramação e qual a sua contribuição para a criação da<br />

arquitetura CISC?<br />

4) O que são processadores híbridos e qual a sua aplicação?<br />

5) A que se refere o ciclo da via de dados, o LOAD/STORE e o pipeline?<br />

6) Identifique as principais vantagens da arquitetura CISC e da arquitetura<br />

RISC.<br />

Arquitetura de Computadores 61<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


Referências<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong> 62<br />

ASCENCIO, A. F. G.; Campos, E. A. V. - Fundamentos da Programação de<br />

Computadores - Algoritmos, Pascal, C/C++ e Java. São Paulo: Prentice Hall,<br />

2007.<br />

BORGES; Álvaro, LOPES; Danilo, RIBEIRO; Romildo. RISC Vs. CISC. Disponível<br />

em: Acessado<br />

em 28 de janeiro de 2011.<br />

FIDELI; Daniel Ricardo, POLLONI; Enrico G. Franco, PERES; Fernando Eduardo.<br />

Introdução à Ciência da Computação. São Paulo: Pioneira Thomson<br />

Learning, 2003.<br />

NORTON; Peter. Desenvolvendo o PC e o OS/2. Rio de Janeiro: Campus, 1991.<br />

TANENBAUM; Andrew. Sistemas Operacionais Modernos. 2. Ed. São Paulo:<br />

Prentice Hall, 2003.<br />

VELLOSO, Fernando de Castro. Informática: conceitos básicos. 4. ed. rev.<br />

atual. Rio de Janeiro: Campus, 1999.<br />

ROESLER; Valter. Características da transmissão. Disponível em <br />

Acessado em 12 de fevereiro de<br />

2011.


Currículo do professor conteudista<br />

Gilmara Aparecida de Freitas Dias<br />

Graduada em Tecnologia em Informática pela Universidade Estadual de<br />

Minas Gerais - UEMG -, Passos, em 2001. Especialista em Administração de Sistemas<br />

de Informação pela Universidade Federal de Lavras, no ano de 2005. Mestranda em<br />

Administração pela FEAD, Belo Horizonte.<br />

Atuou como analista de sistemas e gerente de TI da Fadenor (Fundação de<br />

Apoio ao Desenvolvimento de Ensino Superior do Norte de Minas), de fevereiro de<br />

2005 a julho de 2008. De julho de 2008 até o presente momento, atua como coordenadora<br />

de informática da Facomp (Faculdade de Computação de Montes Claros).<br />

Desde agosto de 2009, coordena os laboratórios de informática do Centro de Ciências<br />

Exatas e Tecnológicas da <strong>Unimontes</strong> (Universidade Estadual de Montes Claros).<br />

Professora do ensino superior desde 2005, lecionando disciplinas relacionadas<br />

à computação, como Administração de Sistemas de Informação, Gestão da<br />

Informação, Administração de Redes, Segurança de Redes, Algoritmos I, Algoritmos<br />

II, Introdução à Ciência da Computação, Sistemas Operacionais, Modelagem de Dados,<br />

Análise e Desenvolvimento de Sistemas Estruturados, Administração e Controle<br />

de Sistemas, Segurança e Auditoria de Sistemas, Informática da Educação, Tópicos<br />

Avançados em Sistemas de Informação, Lógica Matemática, Fundamentos de Sistemas<br />

de Informação, Sistemas de Apoio à Decisão, Bancos de Dados, Informática<br />

Aplicada à Contabilidade, Introdução à Informática, Informática I, Informática II.<br />

Professora na <strong>Unimontes</strong>, vinculada ao Departamento de Ciências da<br />

Computação desde outubro de 2005. Atualmente, lecionando as disciplinas de Modelagem<br />

de Dados, Fundamentos em Sistemas de Informação e Administração de<br />

Redes.<br />

Professora das Faculdades Integradas Pitágoras de Montes Claros desde<br />

agosto de 2006. Atualmente, lecionando a disciplina de Introdução à Ciência da<br />

Computação, no curso de Engenharia de Produção.<br />

Professora da Facomp, lecionando, atualmente, as disciplinas: Sistemas<br />

Operacionais II, Sistemas de Apoio à Decisão, Administração e Controle de Sistemas,<br />

Segurança e Auditoria de Sistemas e Gestão da informação, nos cursos de Análise e<br />

Desenvolvimento de Sistemas e Sistemas de Informação.<br />

De fevereiro a dezembro de 2008, foi professora na FACIT (Faculdade de<br />

Ciência e Tecnologia de Montes Claros), lecionando as disciplinas de Algoritmos e<br />

Programação de Computadores I, Algoritmos e Programação de Computadores II e<br />

Bancos de Dados.<br />

Tem experiência na área de Ciência da Computação, com ênfase em Sistemas<br />

de Informação, atuando principalmente nas áreas de: Administração e Controle<br />

de Sistemas de Informação, Engenharia de Software, Análise de Sistemas e Administração<br />

de Redes e de Sistemas.<br />

Arquitetura de Computadores 63<br />

e-Tec Brasil/CEMF/<strong>Unimontes</strong>


e-Tec Brasil/CEMF/<strong>Unimontes</strong><br />

Escola Técnica Aberta do Brasil

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!