Features. 3 rd Generation Processor 386. Intel Register Set Operating Modes.

Documentos relacionados
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

Gestão de memória - Memory Management Unit (MMU)

Gestão de memória - Memory Management Unit (MMU)

X86 - Modo Protegido (32bits) Introdução (parte 1)

Introdução aos Sistemas Computacionais

MATA49 Programação de Software Básico

Sistemas Operativos Cap. VII Gestão Memória

Gestão de Memória algoritmos e políticas

Microprocessadores. Família x86 - Evolução

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

Arquitectura de Computadores

Arquitectura de Computadores

Sumário. Estruturas de suporte à paginação Entrada de tabela de páginas Visão geral da tradução de um endereço virtual

Gerenciamento de Memória

Memória virtual. Sistemas Segmentados

Gerenciamento de Memória

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

Sumário. Sistemas Operativos 1

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

Sistemas Operativos 7ª parte - Gestão de Memória

KAA Um Núcleo Experimental para um Sistema Operacional Distribuído

IA32. Walter Fetter Lages. Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica.

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Sistemas Operacionais. Gerenciamento de Memória

Organização de um Sistema Operativo

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

Capítulo 8: Gestão de Memória

Sistemas Operacionais I

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte.

Gestão de Memória em Arquitecturas RISC

Sistemas Operacionais I

Gestão de Memória. Algoritmos de Gestão de Memória

Gerência de memória III

Gerência de memória II

2 - Processadores. CEFET-RS Curso de Eletrônica. Organização de Computadores. Profs. Roberta Nobre & Sandro Silva

Exceções no Fluxo de Execução: Interrupções e Traps

Gestão de Memória. Algoritmos de Gestão de Memória

Sistemas de Computação

MEMÓRIA LÓGICA E FÍSICA (1)

Sistemas de Memória III

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Modelação de algoritmos de substituição de páginas Anomalia Belady

Sistemas de Computação. Gerenciamento de memória

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Implementação de Tarefas em Kernel Completo

Gerenciamento de Memória. Prof. Raimundo Macêdo

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

GERENCIAMENTO DE PROCESSOS

Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

Algoritmos de Gestão de Memória

Capítulo 8: Memória Principal. Operating System Concepts 8th Edition

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Microprocessadores II - ELE 1084

Sistemas Operacionais. Prof. André Y. Kusumoto

Segmentação de Memória

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom)

Arquitetura do 8086/8088

Linguagem de Montagem

GERENCIAMENTO DE MEMÓRIA

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes.

Organização Funcional

Departamento de Engenharia Informática. Gestão de Memória. Parte II Algoritmos

Infra-Estrutura de Software

Microprocessadores II - ELE 1084

II Componentes de um computador

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Disciplina de Organização de Computadores I

Algoritmos de Gestão de Memória

Infra-Estrutura de Software

Arquitetura de Computadores I Prof. Ricardo Santos (Cap 2)

Programação de Sistemas

Infra-Estrutura de Software

UNIX Gerência de Memória

Arquitetura de Sistemas Operacionais

Aula 13. Gerência de Memória - Segmentação

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3

Arquitetura e Organização de Computadores

Gestão de Memória. Espaço de Endereçamento

Nível da Arquitetura do Conjunto das Instruções

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Microprocessadores II - ELE 1084

Evolução dos Processadores

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Aula 10 Processadores de Propósito Geral

Sistemas Operacionais

Sistemas Opera r cionais Gerência de Memória

Transcrição:

3 rd Generation Processor 386 P3 (386) = 3 rd Generation Processor Introduced: 0/985 Full 32b processor (32b registers. 32b internal and external databus. 32b address bus) 275k transistors. CM. 32-pin PGA package. (Supply current Icc=400mA. Roughly the same as 8086!) Clock speeds: 6-33MHz P3 processors were far ahead of their time: It took 0 years before 32b operating systems became mainstream! First 386 PCs early 987 (COMPAQ) 80386 Features 32b general and offset registers 6B prefetch queue Memory management unit with segmentation unit and paging unit 32b address and data bus 4GB physical address space 64TB virtual address space i387 numerical coprocessor Implementation of real, protected and virtual 8086 modes 06/03/2005 5 06/03/2005 52 Intel 80386 80386 Register Set Instruction Pointer 3 6 5 0 EFLAG Register 3 6 5 E0 EIP IP EFLAG FLAG General-Purpose Registers 3 6 5 8 7 0 EAX AH AL CS Segment Registers 5 0 EBX BH BL SS ECX CH CL DS EDX DH DL ES ESI EDI EBP SI DI BP FS GS ESP SP 80386 Operating Modes Coprocessor: i387 Protected Mode for Multitasking support Processes can run in Virtual 8086 mode. Real Mode (native 8086 mode) Processor powers up in Real Mode System Management Mode Power management or system security Processor switches to separate address space, while saving the entire context of the currently running program or task The hardware implementation of floating point processing in the i387 means floating point operations run at much higher speed. The i386 can execute all mathematical expressions using software emulation of the i387. 06/03/2005 55 06/03/2005 56

Sistema 386DX Endereçamento 386 Índice MOV EAX, [EBX+ESI*4+46] Base Deslocamento XCHG BX, [EBP+EDI*2] Escala,2,4,8 Base Índice Escala Deslocamento EAX ECX EDX EBX ESP EBP ESI EDI EAX ECX EDX EBX EBP ESI EDI 2 4 8 0 deslocamento de 8 bits deslocamento de 32 bits Endereço Efectivo Exemplo de Endereçamento 386 typedef struct { float x; float y; } Ponto2D; Segmentação Ponto2D Hexagono[6]; float xi = Hexagono[i].y; Pode ser compilado para: mov eax, [ EBX+ ESI*8 + 4 ] i y sizeof(ponto2d) Hexagono... yi xi... x y0 x0 Segmentação Descritor de Segmento Endereço lógico 6 32 Segmentação Endereço linear Tabela de segmentos Registo de base de tabela de segmentos 2

Memória segmentada Registos Descritores Protecção LDT / GDT Requester Privilege Level Níveis de Privilégio Níveis de Privilégio CPL (Current Privilege Level) Privilégio do código em execução RPL (Request Privilege Level) Privilégio solicitado para acesso à memória. EPL (Efective Privilege Level ) = MAX(CPL,RPL) 3

Protecção de dados Protecção de dados Acesso permitido CPL EPL<=DPL > EPL EPL>DPL RPL Acesso negado Protecção de dados exemplo Protecção de dados exemplo 2 O programa do code segment A consegue aceder ao data segment E utilizando o selector de segmento E porque: EPL = MAX ( CPL=2, RPL=2 ) = 2 <= DPL = 2 O programa do code segment B consegue aceder ao data segment E utilizando o selector de segmento E2 porque: EPL = MAX ( CPL=, RPL= ) = <= DPL = 2 Protecção de dados exemplo 3 Protecção de dados exemplo 4 O programa do code segment C não consegue aceder ao data segment E utilizando o selector de segmento E3 porque: EPL = MAX ( CPL=3, RPL=3 ) = 3 > DPL = 2 O programa do code segment D não consegue aceder ao data segment E utilizando o selector de segmento E3 porque: EPL = MAX ( CPL=0, RPL=3 ) = 3 > DPL = 2 4

Conforming segment contém código que pode ser chamado a partir de diversos níveis de privilégio mas é executado com o nível de privilégio do chamador. Numa chamada a uma rotima num segmento conforming, o CPL não é alterado. Nestes casos, o CPL (do CS) pode ficar diferente do DPL. Protecção de código Call Gate Call Gate Task Gate/ TSS Segmentação / Paginação Task State Structure 5

Alocação de memória linear Alocação process 8 process 9 process 9 process 0 Alocação de memória linear 2 Algoritmos de Alocação First Fit A lista de blocos livres é percorrida sequencialmente desde o início. É selecionado o primeiro bloco de tamanho suficiente. Next Fit Guarda a posição da última alocação Pesquisa sequencialmente para a frente. 8K 2K First Fit 8K 2K Best Fit Seleciona o menor bloco livre suficiente Worst Fit Seleciona o maior bloco livre. Buddy Com partição binária do espaço de memória Last Allocated Block (4K) 22K 8K 8K 6K 22K 2K Best Fit Next Fit bloco alocado bloco livre 6K 2K 8K 6K 6K 2K Wost Fit 36K bloco a alocar ( 6K) 20K Buddy Alocation Memória Paginada A Paginação permite que blocos de memória linear sejam alocados em zonas não contínuas da memória física page# frame# A memória física é dividida em frames. A memória linear é dividida em páginas da mesma dimensão. A tabela de páginas identifica a frame de cada página. 6

Paginação Paginação Alocação de memória paginada Alocação de memória paginada 2 4 5 6 Paginação a 2 níveis Paginação a 2 níveis Physical memory 7

Paginação 386 Page Table Entry Endereço linear 0 0 2 Paginação Página P - Present P = P = 0 A página está presente e pode ser acedida A página não está presente. Os restantes 3 bits pode ser utilizadospara, por exemplo, indexar a página no disco. Tabela de páginas Memória física A -Accessed D -Dirty U / S - User / Supervisor R / W - Read Write Registo de base de directório de páginas Directório de tabelas de páginas Valid bit TLB 386 With each page table entry a valid invalid bit is associated ( in-memory, 0 not-in-memory) Initially valid invalid but is set to 0 on all entries. Example of a page table snapshot. Frame # valid-invalid bit 0 0 0 page table During address translation, if valid invalid bit in page table entry is 0 page fault. 8