Fundamentos da Computação
Modelos de Computadores: Introdução
Rodrigo Lange
Instituto Federal Rio Grande do Sul
Câmpus Restinga
rodrigo.lange@restinga.ifrs.edu.br
14 de março de 2016
Fundamentos da Computação
Introdução
Portas Lógicas podem ser combinadas em circuitos
A
B
C
D
X
Fundamentos da Computação
Introdução
Existem circuitos que executam funções especı́ficas
Comparador de palavras binárias
A[0]
B[0]
A[1]
B[1]
A[2]
B[2]
A[3]
B[3]
X
Fundamentos da Computação
Introdução
Computador básico
I Circuitos que executam funções especı́ficas
podem ser combinados para formar um
computador;
I É mais simples entender como estes circuitos são
agrupados usando um modelo de computador
Fundamentos da Computação
Introdução aos modelos de computador
Introdução aos modelos de computador
Existem diversos modelos para arquiteturas de
computadores:
I von Neumann
I Harward
I etc
Fundamentos da Computação
Introdução aos modelos de computador
Modelo de von Neumann
I Proposto na década de 1940;
I Base para muitos computadores modernos (ex:
PC).
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
Fundamentos da Computação
Introdução aos modelos de computador
Elementos Funcionais
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
I Memória;
I Unidade de Controle;
I Unidade Operacional;
I Dispositivos de Entrada e
Saı́da
Fundamentos da Computação
Introdução aos modelos de computador
Elementos Funcionais
Elementos Funcionais são compostos por elementos
digitais:
I somador;
I comparador;
I etc.
Componentes digitais são ativados por sinais de
controle
Fundamentos da Computação
Introdução aos modelos de computador
Barramentos
Dados são transferidos entre elementos funcionais
através de caminhos fı́sicos chamados barramentos
I Largura do barramento é dado em número de
bits;
I Dados no barramento: apenas de uma fonte por
vez.
Fundamentos da Computação
Introdução aos modelos de computador
Memória
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
I Armazena informações:
I Modelo de von Neumann: dados ou instruções
I Dividida em palavras;
I Cada palavra possui um endereço
único;
I Registradores:
I Registrador de Endereço de Memória (REM);
I Registrador de Dados de Memória (RDM).
Memória
REM
RDM
Escrita
Leitura
Fundamentos da Computação
Introdução aos modelos de computador
Unidade Operacional
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
I Executa as transformações dobre os
dados;
I Unidade Lógica e Aritmetica (ULA);
I Registradores de uso geral;
I Barramentos de interligação.
Fundamentos da Computação
Introdução aos modelos de computador
Unidade Lógica e Aritmética
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
I Operações lógicas ou aritméticas
sobre um ou dois operandos;
I Sinais de condição:
I overflow
I Sinal do Resultado
I Carry (vai-um ou vem-um)
I Zero
Operandos
Controle
Resultado
Códigos
de
Condição
Fundamentos da Computação
Introdução aos modelos de computador
Unidade Lógica e Aritmética
Operandos
Controle
Resultado
Códigos
de
Condição
I A ULA não armazena operandos,
resultados ou códigos;
I Armazenamento de resultados: no
acumulador:
I Armazena um operando e/ou um resultado de
controle fornecido pela ULA
I Um sinal de controle especı́fico dispara a cópia
de um dado da ULA para o acumulador
Fundamentos da Computação
Introdução aos modelos de computador
Unidade de Controle
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
I Gerencia os sinais de controle;
I Sinais de controle:
I Gerenciam o fluxo interno de dados;
I Gerenciam o instante em que ocorrem as
transferências de uma unidade para outra;
I Comandam uma micro-instrução
I Seleção de operação da ULA;
I Ativação de memória;
I Carga de um Registrador;
I etc;
Fundamentos da Computação
Introdução aos modelos de computador
Unidade de Controle
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
RI Unidade
de
Controle
RST
Sinais de
controle
I RI: Registrador de Instruções
I Instrução que está sendo executada
I RST: Registrador de Status
I Códigos de condição gerados pela ULA
Fundamentos da Computação
Introdução aos modelos de computador
Registradores
Fundamentos da Computação
Introdução aos modelos de computador
Registradores
Elementos chave da arquitetura de von Neumann
O que são?
I Componentes da arquitetura de memória
I Pequenos, mais rápidos e mais caros
I Mesma tecnologia do processador
Fundamentos da Computação
Introdução aos modelos de computador
Registradores
Dois tipos:
I Registradores visı́veis ao usuário
I Registradores de controle e estado
Fundamentos da Computação
Introdução aos modelos de computador
Registradores visı́veis ao usuário
Pode ser referenciado pelo programador
I Uso geral
I Dados
I União de dois registradores
I Endereços
I Códigos condicionais (flags)
Fundamentos da Computação
Introdução aos modelos de computador
Registradores de controle e estado
Utilizados para controlar a operação do processador
Exemplos:
I Contador de programas (PC)
I contém o endereço de uma instrução a ser lida
I Registrador de instrução
I contém a instrução lida mais recentemente (instrução atual)
I Registrador de endereço de memória (MAR)
I Registrador de buffer de memória
I Palavra de dados para ser escrita na memória, ou a palavra
lida mais recentemente
I Acumulador
I Armazena o resultado de uma operação lógica ou aritmética
(saı́da da ULA)
Fundamentos da Computação
Introdução aos modelos de computador
Registradores do 8086
Fundamentos da Computação
Ciclo de Instrução
Ciclo de Instrução
Fundamentos da Computação
Ciclo de Instrução
Modelo de von Neumann
Memória
Unidade Lógica
e Aritmetica
Unidade Central de Processamento
UCP (CPU)
Acumulador
Entrada
Saída
Registrador de
Instrução (RI)
Contador de
Instrução (CI)
Unidade de
Controle
Fundamentos da Computação
Ciclo de Instrução
Ciclo da Instrução
Buscar a próxima
instrução a ser
executada no
endereço
armazenado no CI
Incrementa o CI
Armazena a
instrução a ser
executada no RI
Decodifica a
instrução usando o
Opcode
Tem
Operandos
?
Busca
Operandos
Sim
Não
Executar a
operação
Escrever o
resultado
Calcular o
endereço da
próxima instrução
Início
Fundamentos da Computação
Ciclo de Instrução
Instrução
Instrução
I Operação executada por um processador
Formato geral de uma instrução:
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Fundamentos da Computação
Ciclo de Instrução
Instrução
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Código da operação (Opcode)
I Código da operação a ser executada
I NULL
I ADD R1, R2
I outros...
Fundamentos da Computação
Ciclo de Instrução
Instrução
“Nı́vel elétrico”
Registrador
de
Instrução
Decodificador UC
Sinais de
controle
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Fundamentos da Computação
Ciclo de Instrução
Instrução
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Operadores: valores com os quais será realizada a
operação
I Constantes
I Valores armazenados em uma posição de memória
I Valores armazenados em um registrador
I Endereços de memória
I Etc...
Exemplo: ADD R1, R2 → Soma o valor
armazenado em R1 com o valor armazenado em R2
e armazena o resultado em R1
Fundamentos da Computação
Ciclo de Instrução
Instrução
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Operandos:
Utilizados pela instrução. Exemplo: MOV R1, 4
Que valores vão nestes campos? O que significam
estes valores?
Fundamentos da Computação
Ciclo de Instrução
Operandos
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Os campos dos operandos podem conter, por
exemplo, valores, números de registradores,
endereços de memória e outros
Modos de endereçamento: como os dados contidos
em um campo de operandos devem ser tratados
para encontrar, efetivamente, o operando que será
utilizado na instrução.
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento imediato
I O campo contém o próprio operando (e NÃO um
endereço)
I Denominado operando imediato
I Desvantagem: apenas para valores constantes
I Ex: MOV R1, #4 (move o valor “4” para o registrador
R1)
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento direto
I O campo contém o endereço de memória onde o
operando está armazenado
I Desvantagem: o endereço de memória é fixo e não pode
ser alterado durante a execução do programa
I Ex: MOV R1, (0x4) (move o valor contido no endereço de
memória 0x4 para o registrador R1)
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento de registrador
I O campo especifica um registrador. É utilizado o valor
armazenado no registrador
I Um dos modos de endereçamento mais comuns
I Ex: MOV R1, #4 (move o valor 4 para o registrador R1)
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento indireto de registrador
I O campo especifica um registrador que contém o
endereço de memória onde o operando está armazenado
I O famoso ponteiro
I Ex. de uso: acesso aos elementos de um vetor em um
laço de repetição
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento indexado
I O campo contém um registrador mais um deslocamento
constante.
I Ex. de uso: acesso a um elemento especı́fico de um vetor
I Ex: MOV R4,(R2+#A)
I Se A=1000 e R2 contém 0, R4 recebe o valor contido no
endereço de memória 1000
I Se A=1000 e R2 contém 4, R4 recebe o valor contido no
endereço de memória 1004
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento de base indexado
I O campo contém um registrador contendo o endereço de
memória base e outro registrador contendo um ı́ndice
I Ex. de uso: acesso a um elemento especı́fico de um vetor
I Ex: MOV R4,(R2+R3)
I Se R2 contém 1000 e R3 contém 0, R4 recebe o valor contido
no endereço de memória 1000
I Se R2 contém 1000 e R3 contém 4, R4 recebe o valor contido
no endereço de memória 1004
Fundamentos da Computação
Ciclo de Instrução
Modos de endereçamento
Código Operação
(Opcode)
Operando 2 Operando n
Operando 1
Endereçamento de pilha
I O campo aponta para uma pilha
Fundamentos da Computação
Bibliografia
Bibliografia
Mario A. Monteiro
Introdução à Organização de Computadores, 5a Ed.
LTC, 2007.
Raul Fernando Weber
Fundamentos de Arquiteturas de Computadores, 4a Ed.
Bookman, 2012

05-ModeloDeVonNeumann.pdf

  • 1.
    Fundamentos da Computação Modelosde Computadores: Introdução Rodrigo Lange Instituto Federal Rio Grande do Sul Câmpus Restinga rodrigo.lange@restinga.ifrs.edu.br 14 de março de 2016
  • 2.
    Fundamentos da Computação Introdução PortasLógicas podem ser combinadas em circuitos A B C D X
  • 3.
    Fundamentos da Computação Introdução Existemcircuitos que executam funções especı́ficas Comparador de palavras binárias A[0] B[0] A[1] B[1] A[2] B[2] A[3] B[3] X
  • 4.
    Fundamentos da Computação Introdução Computadorbásico I Circuitos que executam funções especı́ficas podem ser combinados para formar um computador; I É mais simples entender como estes circuitos são agrupados usando um modelo de computador
  • 5.
    Fundamentos da Computação Introduçãoaos modelos de computador Introdução aos modelos de computador Existem diversos modelos para arquiteturas de computadores: I von Neumann I Harward I etc
  • 6.
    Fundamentos da Computação Introduçãoaos modelos de computador Modelo de von Neumann I Proposto na década de 1940; I Base para muitos computadores modernos (ex: PC). Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle
  • 7.
    Fundamentos da Computação Introduçãoaos modelos de computador Elementos Funcionais Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle I Memória; I Unidade de Controle; I Unidade Operacional; I Dispositivos de Entrada e Saı́da
  • 8.
    Fundamentos da Computação Introduçãoaos modelos de computador Elementos Funcionais Elementos Funcionais são compostos por elementos digitais: I somador; I comparador; I etc. Componentes digitais são ativados por sinais de controle
  • 9.
    Fundamentos da Computação Introduçãoaos modelos de computador Barramentos Dados são transferidos entre elementos funcionais através de caminhos fı́sicos chamados barramentos I Largura do barramento é dado em número de bits; I Dados no barramento: apenas de uma fonte por vez.
  • 10.
    Fundamentos da Computação Introduçãoaos modelos de computador Memória Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle I Armazena informações: I Modelo de von Neumann: dados ou instruções I Dividida em palavras; I Cada palavra possui um endereço único; I Registradores: I Registrador de Endereço de Memória (REM); I Registrador de Dados de Memória (RDM). Memória REM RDM Escrita Leitura
  • 11.
    Fundamentos da Computação Introduçãoaos modelos de computador Unidade Operacional Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle I Executa as transformações dobre os dados; I Unidade Lógica e Aritmetica (ULA); I Registradores de uso geral; I Barramentos de interligação.
  • 12.
    Fundamentos da Computação Introduçãoaos modelos de computador Unidade Lógica e Aritmética Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle I Operações lógicas ou aritméticas sobre um ou dois operandos; I Sinais de condição: I overflow I Sinal do Resultado I Carry (vai-um ou vem-um) I Zero Operandos Controle Resultado Códigos de Condição
  • 13.
    Fundamentos da Computação Introduçãoaos modelos de computador Unidade Lógica e Aritmética Operandos Controle Resultado Códigos de Condição I A ULA não armazena operandos, resultados ou códigos; I Armazenamento de resultados: no acumulador: I Armazena um operando e/ou um resultado de controle fornecido pela ULA I Um sinal de controle especı́fico dispara a cópia de um dado da ULA para o acumulador
  • 14.
    Fundamentos da Computação Introduçãoaos modelos de computador Unidade de Controle Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle I Gerencia os sinais de controle; I Sinais de controle: I Gerenciam o fluxo interno de dados; I Gerenciam o instante em que ocorrem as transferências de uma unidade para outra; I Comandam uma micro-instrução I Seleção de operação da ULA; I Ativação de memória; I Carga de um Registrador; I etc;
  • 15.
    Fundamentos da Computação Introduçãoaos modelos de computador Unidade de Controle Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle RI Unidade de Controle RST Sinais de controle I RI: Registrador de Instruções I Instrução que está sendo executada I RST: Registrador de Status I Códigos de condição gerados pela ULA
  • 16.
    Fundamentos da Computação Introduçãoaos modelos de computador Registradores
  • 17.
    Fundamentos da Computação Introduçãoaos modelos de computador Registradores Elementos chave da arquitetura de von Neumann O que são? I Componentes da arquitetura de memória I Pequenos, mais rápidos e mais caros I Mesma tecnologia do processador
  • 18.
    Fundamentos da Computação Introduçãoaos modelos de computador Registradores Dois tipos: I Registradores visı́veis ao usuário I Registradores de controle e estado
  • 19.
    Fundamentos da Computação Introduçãoaos modelos de computador Registradores visı́veis ao usuário Pode ser referenciado pelo programador I Uso geral I Dados I União de dois registradores I Endereços I Códigos condicionais (flags)
  • 20.
    Fundamentos da Computação Introduçãoaos modelos de computador Registradores de controle e estado Utilizados para controlar a operação do processador Exemplos: I Contador de programas (PC) I contém o endereço de uma instrução a ser lida I Registrador de instrução I contém a instrução lida mais recentemente (instrução atual) I Registrador de endereço de memória (MAR) I Registrador de buffer de memória I Palavra de dados para ser escrita na memória, ou a palavra lida mais recentemente I Acumulador I Armazena o resultado de uma operação lógica ou aritmética (saı́da da ULA)
  • 21.
    Fundamentos da Computação Introduçãoaos modelos de computador Registradores do 8086
  • 22.
    Fundamentos da Computação Ciclode Instrução Ciclo de Instrução
  • 23.
    Fundamentos da Computação Ciclode Instrução Modelo de von Neumann Memória Unidade Lógica e Aritmetica Unidade Central de Processamento UCP (CPU) Acumulador Entrada Saída Registrador de Instrução (RI) Contador de Instrução (CI) Unidade de Controle
  • 24.
    Fundamentos da Computação Ciclode Instrução Ciclo da Instrução Buscar a próxima instrução a ser executada no endereço armazenado no CI Incrementa o CI Armazena a instrução a ser executada no RI Decodifica a instrução usando o Opcode Tem Operandos ? Busca Operandos Sim Não Executar a operação Escrever o resultado Calcular o endereço da próxima instrução Início
  • 25.
    Fundamentos da Computação Ciclode Instrução Instrução Instrução I Operação executada por um processador Formato geral de uma instrução: Código Operação (Opcode) Operando 2 Operando n Operando 1
  • 26.
    Fundamentos da Computação Ciclode Instrução Instrução Código Operação (Opcode) Operando 2 Operando n Operando 1 Código da operação (Opcode) I Código da operação a ser executada I NULL I ADD R1, R2 I outros...
  • 27.
    Fundamentos da Computação Ciclode Instrução Instrução “Nı́vel elétrico” Registrador de Instrução Decodificador UC Sinais de controle Código Operação (Opcode) Operando 2 Operando n Operando 1
  • 28.
    Fundamentos da Computação Ciclode Instrução Instrução Código Operação (Opcode) Operando 2 Operando n Operando 1 Operadores: valores com os quais será realizada a operação I Constantes I Valores armazenados em uma posição de memória I Valores armazenados em um registrador I Endereços de memória I Etc... Exemplo: ADD R1, R2 → Soma o valor armazenado em R1 com o valor armazenado em R2 e armazena o resultado em R1
  • 29.
    Fundamentos da Computação Ciclode Instrução Instrução Código Operação (Opcode) Operando 2 Operando n Operando 1 Operandos: Utilizados pela instrução. Exemplo: MOV R1, 4 Que valores vão nestes campos? O que significam estes valores?
  • 30.
    Fundamentos da Computação Ciclode Instrução Operandos Código Operação (Opcode) Operando 2 Operando n Operando 1 Os campos dos operandos podem conter, por exemplo, valores, números de registradores, endereços de memória e outros Modos de endereçamento: como os dados contidos em um campo de operandos devem ser tratados para encontrar, efetivamente, o operando que será utilizado na instrução.
  • 31.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento imediato I O campo contém o próprio operando (e NÃO um endereço) I Denominado operando imediato I Desvantagem: apenas para valores constantes I Ex: MOV R1, #4 (move o valor “4” para o registrador R1)
  • 32.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento direto I O campo contém o endereço de memória onde o operando está armazenado I Desvantagem: o endereço de memória é fixo e não pode ser alterado durante a execução do programa I Ex: MOV R1, (0x4) (move o valor contido no endereço de memória 0x4 para o registrador R1)
  • 33.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento de registrador I O campo especifica um registrador. É utilizado o valor armazenado no registrador I Um dos modos de endereçamento mais comuns I Ex: MOV R1, #4 (move o valor 4 para o registrador R1)
  • 34.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento indireto de registrador I O campo especifica um registrador que contém o endereço de memória onde o operando está armazenado I O famoso ponteiro I Ex. de uso: acesso aos elementos de um vetor em um laço de repetição
  • 35.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento indexado I O campo contém um registrador mais um deslocamento constante. I Ex. de uso: acesso a um elemento especı́fico de um vetor I Ex: MOV R4,(R2+#A) I Se A=1000 e R2 contém 0, R4 recebe o valor contido no endereço de memória 1000 I Se A=1000 e R2 contém 4, R4 recebe o valor contido no endereço de memória 1004
  • 36.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento de base indexado I O campo contém um registrador contendo o endereço de memória base e outro registrador contendo um ı́ndice I Ex. de uso: acesso a um elemento especı́fico de um vetor I Ex: MOV R4,(R2+R3) I Se R2 contém 1000 e R3 contém 0, R4 recebe o valor contido no endereço de memória 1000 I Se R2 contém 1000 e R3 contém 4, R4 recebe o valor contido no endereço de memória 1004
  • 37.
    Fundamentos da Computação Ciclode Instrução Modos de endereçamento Código Operação (Opcode) Operando 2 Operando n Operando 1 Endereçamento de pilha I O campo aponta para uma pilha
  • 38.
    Fundamentos da Computação Bibliografia Bibliografia MarioA. Monteiro Introdução à Organização de Computadores, 5a Ed. LTC, 2007. Raul Fernando Weber Fundamentos de Arquiteturas de Computadores, 4a Ed. Bookman, 2012