• No results found

Tegn på at barnet er utsatt for seksuelle overgrep

2. Teoridel

2.7. Bekymringsfull atferd som kjennetegner mishandlede barn

2.7.3. Tegn på at barnet er utsatt for seksuelle overgrep

Até a finalização deste texto, os temas abordados nesta tese resultaram nas seguintes publicações: (Silva, 2011), (Costa, 2012), (Casillo, 2012) e (Casillo, 2012a),

além de um capítulo do livro “Workshop Técnico-Científico de Computação”,

abordando o tema “Metodologia para projeto de processadores RISP”, a ser publicado em 2013 pela editora EDUFERSA. Os processadores didáticos projetados foram alvo de estudo ou ferramenta para diversos trabalhos de iniciação científica e artigos em congressos regionais e nacionais.

Dentre os trabalhos que exploram as características dos processadores, (Nunes, 2012) propôs uma técnica de implementação de um pipeline para processadores soft- core, utilizando como estudo de caso o processador CRASIS I, a partir da replicação de máquinas de estados (FSM). É possível criar várias linhas de execução, possibilitando que mais de uma instrução esteja em execução ao mesmo tempo. As FSMs são sobrepostas de modo similar a um pipeline, sem que o mesmo estado em estados de diferentes unidades fique ativo ao mesmo tempo. A grande maioria das instruções do CRASIS são executadas em um ciclo de relógio. Porém, instruções de acesso à memória e desvios, que são bastante recorrentes em programas comuns, são executadas em mais de um ciclo. No CRASIS, estas instruções podem durar até três ciclos de clock. No entanto, esta proposta não foi implementada neste trabalho para que fosse mantida a simplicidade do processador e sua comparação com o processador DIMBA, visto que este último não contém nenhuma técnica de aumento de desempenho em sua estrutura, sendo indicada a implementação das técnicas de pipeline nos processadores como trabalhos futuros.

100 As versões adaptadas dos processadores não contém operações de suporte ao sistema operacional, interrupção e exceção. Devido a estas limitações, as instruções syscall e break, presentes no conjunto de instruções MIPS-I, não foram implementadas, sendo ideias para futuras modificações em suas estruturas.

Este trabalho não considerou o consumo de potência de FPGAs como fator relevante na implementação das técnicas propostas. Segundo [Anderson & Najm, 2006], por carregarem o estigma de consumirem muita energia, os FPGAs geralmente são preteridos por processadores ASIC e de propósito gerais em razão de suas características de alto desempenho energético sem perdas de capacidade de processamento ou velocidade. Por consequência, os FPGAS hoje são utilizados como plataformas de simulação de sistemas digitais e como kits de desenvolvimento de trabalhos acadêmicos. Diversos trabalhos já foram temas de pesquisa acerca de técnicas de redução de potência em processadores reconfiguráveis, para poder expandir sua capacidade de processamento além de seu uso acadêmico.

Ao se obter um baixo consumo de potência de um FPGA, juntamente com a característica de alteração ou atualização de uma ISA em um processador reconfigurável, poderá ser possível o desenvolvimento de uma nova gama de utilizações de processadores RISP. Assim como são comumente realizadas atualizações do software via rede, e mais recentemente atualizações de firmware e BIOS de computadores, poderá ser viável atualizar uma unidade de controle como se fosse

efetuada a substituição do “kernel” da máquina, atualizando conjuntos de instruções de

uma mesma família (como MIPS-I e MIPS-II) ou mesmo adicionando instruções ao inserir novas funcionalidades como uma unidade de ponto flutuante.

101

Referências Bibliográficas

Adário, A. M. S.; Bampi, S.; Jacobi, R. P. (1997) Reconfigurable architectures. In: UFRGS MICROELECTRONICS SEMINAR. Porto Alegre, RS, Brasil: UFRGS MICROELECTRONICS SEMINAR, 1997. p. 133–136. ISBN T.I. - 650 – CPGCC. Altera (2013) website. Disponível em: http://www.altera.com

Altman, E. R., Kaeli, D., Sheefer, Y. Welcome to the opportunities of binary translation. Computer, v. 33. n. 3. p. 40-45. 2000.

Anderson, Jason H.; Najm, Farid N. (2006) Active Leakage Power Optimization for FPGA. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. [S.l], p. 423-437.

Athanas, P. M., Silverman, H. F. (1993) Processor Reconfiguration Through Instruction-Set Metamorphosis. IEEE Computer, Vol. 26, no. 3 pp.11-18. 1993.

Barat, F., Lauwereins, P. (2000) Reconfigurable Instruction Set Processors: A Survey,

in: RSP ’00: Proceedings of the 11th IEEE International Workshop on Rapid System

Prototyping (RSP 2000). Washington, DC, USA: IEEE Computer Society, 2000. p. 168. ISBN 0-7695-0668-2.

Barat, Francisco (2002) Reconfigurable Instruction Set Processors from a Hardware/Software Perspective, IEEE Transactions on Software Engineering, Vol. 28, Nº 9.

Beck, A. C. S., Carro, L. Dynamic reconfiguration with binary translation: breaking the ILP barrier with software compatibility. [S.1]:[s.n]. 2005. p. 732-737.

Beck, A. C. S., et al (2008) Transparent Reconfigurable Acceleration for Heterogeneous Embedded Applications. [S.1]:[s.n]. 2008. p. 1208-1213.

Brown, S., Francis, R., Rose, J., Vranesic, Z. (1992) Field-Programmable Gate Arrays, Kluwer Academic Publishers, Maio, 1992

Calazans, N.(2008) Organização de Computadores. UFRGS. Rio Grande do Sul. 2008. Carter, W., Duong, K., Freeman, R. H. Hsieh, H., Ja, J. Y., Mahoney, J. E., Ngo, L. T., Sze, S. L. (1986) A user programmable reconfiguration gate array, in Proceedings of the IEEE Custom Integrated Circuits Conference, pp. 233–235, May 1986.

102 Casillo, Leonardo A. (2005) Projeto e implementação em FPGA de um processador com conjunto de instrução reconfigurável utilizando VHDL. 126 p. Dissertação (Mestrado). Programa de Pós-Graduação em Sistemas e Computação, Universidade Federal do Rio Grande do Norte, Natal, Maio, 2005.

Casillo, L. A., Lima, L. M. P., Souza, G. B., Silva, I. S. (2005a) Projeto e Implementação em FPGA de um Processador com Conjunto de Instrução Reconfigurável Utilizando VHDL. XI Workshop Iberchip. 2005, Salvador, Brasil.

Casillo, L. A., Silva, I. S. (2012) Adapting a low complexity datapath to MIPS-1. Programmable Logic (SPL), 2012 VIII Southern Conference on, p. 1 – 6.

Casillo, L. A., Silva, I. S. (2012a) A Methodology to Adapt Data Path Architectures to a MIPS-1 Model. Computing System Engineering (SBESC), 2012 Brazilian Symposium on, 2012, p. 172-177.

Compton, K., Hauck, S., (2002) “Reconfigurable Computing: A Survey of Systems and

Software”, ACM Computing Surveys, v. 34, n. 2, p. 171-210, June 2002.

Corporation, Altera (2013) Altera Tutorials and Lab Exercises. Disponível em:

ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/Digital_Logic/D E2/verilog/lab9_Verilog.pdf. Acessado em maio, 2013.

Costa, R. V., Fernandes, S. R., Casillo, L. A., Soares, A. Freire, D. (2012) SICXE: Improving Experience with Didactic Processors. Computing System Engineering (SBESC), 2012 Brazilian Symposium on, 2012, pages 83-86.

Dos Santos, D. M. B., Pinto, G. R. P. R., Sena, C. P. P., Bertoni, F. C., & Bittencourt, R. A. (2007) Aplicação do método de Aprendizagem Baseada em Problemas no curso de Engenharia da Computação da Universidade Estadual de Feira de Santana. In: Congresso Brasileiro de Educação em Engenharia - COBENGE

Fajardo Jr., J. (2011) Sistema de Tradução Binária de Dois Níveis para Execução Multi- ISA. Dissertação de Mestrado. Porto Alegre. Agosto de 2011.

Ferlin, E., Pilla Jr, V., (2006) The Learning of Reconfigurable Computing in the Computer Engineering Program, in: FIE 2006, San Diego, USA

Gorder, P. F., (2007) Multicore Processors for Science and Engineering, IEEE CS, March/April 2007.

Kane, G.; Heinrich, J. (1991) MIPS RISC Architecture - 2nd Edition. Prentice-Hall, 544 p., 1991.

Knight W. (2005) Two Heads Are Better Than One, IEEE Review, September 2005. Kumar, R. et al. (2005) Heterogeneous Chip Multiprocessor, IEEE Computer, Vol. 38, Issue 11, pp. 32-38, 2005.

Larus, J. (2013) SPIM MIPS Simulator. Disponível em:

103 Leon (2013) LEON2 Processor User’s Manual XST Edition, Gaisler Research. 2013. Liu, J., Chow, F., Kong. T,. Roy, R. (2003) Variable Instruction Set Architecture and Its Compiler Support. IEEE Trans. Comput., IEEE Computer Society, Washington, DC, USA, v. 52, n. 7, p. 881–895, 2003. ISSN 0018-9340.

Lodi, A., Toma, M., Campi, F., Cappelli, A., Guerrieri, R (2003) A VLIW Processor Whit Reconfigurable Instruction Set for Embedded Applications. IEEE Journal of solid- state circuits, IEEE Computer Society, Washington, DC, USA, v. 538, n. 11, 2003. Martinez-Mones, A., Gomez-Sanchez, E., Dimitriadis, Y. A., Jorrin-Abellan, I. M., Rubia-Avi, B., & Vega-Gorgojo, G. (2005) Multiple Case Studies to Enhance Project- Based Learning in a Computer Architecture Course. IEEE Transactions on Education, 48, 482–489.

MARS (2013) MIPS Assembly and Runtime Simulator. Disponível em:

http://courses.missouristate.edu/KenVollmar/MARS Acessado em: Junho/2013.

Mesquita, D. G. (2002) Contribuições para reconfiguração parcial, remota e dinâmica de FPGAs. Dissertação (Tese de Mestrado) — Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, RS, Brasil, Março 2002.

Mihal, A. Weber, S., Keutzer K. (2006) Sub-RISC processors. In P. Ienne and R. Leupers, editors, Customizable Embedded Processors: Design Technologies and Applications, chapter 13. Elsevier, 2006

MIPS Technologies (2008) MIPS32 Architecture For Programmers. Vol. II: The MIPS32 Instruction Set, 2008.

Mooler, L. H., Moraes, F. G. e Calazans, N. L. V. (2005) Processadores Reconfiguráveis: Estado da Arte, In. XI Workshop Iberchip, 2005, Salvador, Brasil.

Nunes, D. F., (2012) Proposta de implementação de um pipeline em um processador reconfigurável baseado em MIPS. Monografia. Mossoró-RN. 70 p. 2012.

OpenCores (2013) website. Disponível em: http://www.open-cores.org. OpenSPARC (2013) website. Disponível em: http://www.opensparc.org. Oracle (2013) website. Disponível em: http://www.oracle.com/us/sun/

Patterson, D., Hennessy, J., (2007) Computer Architecture – A quantitative Approach. 4ª. Ed. Morgan-Kaufmann. 2007.

Patterson, D., Hennessy, J., (2008) Computer Organization and Design: The Hardware/Software Interface. 4ª. Ed. 2008.

104 Razdan, R.; Smith, M. D. (1994) A high-performance microarchitecture with hardware programmable functional units. In: MICRO 27: Proceedings of the 27th annual international symposium on Microarchitecture. New York, NY, USA: ACM Press, 1994. p. 172–180. ISBN 0-89791-707-3.

Rhoads, S. (2013) Plasma CPU Core. website. Disponível em http://www.open- cores.org.

Rose, J., Gamal, A. El, Sangiovanni-Vincentelli, A. (1993) Architecture of Field- Programmable Gate Arrays, in Proceedings of the IEEE, Vol. 81, No. 7, July 1993, pp. 1013-1029

Silva, I. S, Fernandes, S. R. , Casillo, L. A. (2011) ZONA -- An adaptable NoCbased multiprocessor addressed to education on system-on-chip design. In MSE '11: Proceedings of the 2011 IEEE International Conference on Microelectronic Systems Education. 2011. Pages 108-111.

Stallings, W. (2010) Arquitetura e Organização de Computadores. 8ª ed. 640 p. Editora Prentice-Hall. RJ, Brasil. 2010.

Sweetman, D. (2006) See MIPS Run. Morgan Kaufmann Publishers, 513 p., 2006. Tanenbaum, A. S. (2007) Organização Estruturada de Computadores, 5ª Edição, Pearson Prentice Hall, São Paulo, Brasil.

Tong, Jason G., Anderson, Ian D. L., Khalid, Mohammed A. S., (2006) Soft-Core Processors for Embedded Systems. 18th International Conference on Microelectronics (ICM). 2006.

Websimple – MIPS(2013) Simulador web-based do pipeline do MIPS. Disponível em:

http://matheus.ath.cx/simple/

Wilkes, Maurice V. (1951) The preparation of programs for an electronic digital computer. Ed. Addison-Wesley Press. Universidade do Wisconsin – Madison. 1951. Xilinx, Inc (2013) website. Disponível em: http://www.xilinx.com

105

Apêndice A - Codificação dos formatos

de Instruções no MIPS-I

Nome Form. Instrução

SLL -- Shift left logical R 0000 00-- ---t tttt dddd dhhh hh00 0000 SRL -- Shift right

logical R 0000 00-- ---t tttt dddd dhhh hh00 0010 SRA -- Shift right

arithmetic R 0000 00-- ---t tttt dddd dhhh hh00 0011 SLLV -- Shift left

logical variable R 0000 00ss ssst tttt dddd d--- --00 0100 SRLV -- Shift right

logical variable R 0000 00ss ssst tttt dddd d--- --00 0110 MFHI -- Move from HI R 0000 0000 0000 0000 dddd d000 0001 0000 MFLO -- Move from LO R 0000 0000 0000 0000 dddd d000 0001 0010 MULT -- Multiply R 0000 00ss ssst tttt 0000 0000 0001 1000 MULTU -- Multiply

unsigned R 0000 00ss ssst tttt 0000 0000 0001 1001 DIV -- Divide R 0000 00ss ssst tttt 0000 0000 0001 1010 DIVU -- Divide unsigned R 0000 00ss ssst tttt 0000 0000 0001 1011 ADD – Add (with overflow) R 0000 00ss ssst tttt dddd d000 0010 0000 ADDU -- Add unsigned (no

overflow) R 0000 00ss ssst tttt dddd d000 0010 0001 SUB -- Subtract R 0000 00ss ssst tttt dddd d000 0010 0010 SUBU -- Subtract unsigned R 0000 00ss ssst tttt dddd d000 0010 0011 AND -- Bitwise and R 0000 00ss ssst tttt dddd d000 0010 0100 OR -- Bitwise or R 0000 00ss ssst tttt dddd d000 0010 0101 XOR -- Bitwise exclusive

or R 0000 00ss ssst tttt dddd d--- --10 0110

NOR -- Bitwise nor R 0000 00ss ssst tttt dddd d000 0010 0111 NOOP -- No Operation R 0000 0000 0000 0000 0000 0000 0000 0000 JR -- Jump register R 0000 00ss sss0 0000 0000 0000 0000 1000 SLT -- Set on less than

(signed) R 0000 00ss ssst tttt dddd d000 0010 1010 SLTU -- Set on less than

unsigned R 0000 00ss ssst tttt dddd d000 0010 1011 BGEZ -- Branch on greater

than or equal to zero I 0000 01ss sss0 0001 iiii iiii iiii iiii BGEZAL -- Branch on grt.

106

BLTZ -- Branch on less

than zero I 0000 01ss sss0 0000 iiii iiii iiii iiii BLTZAL -- Branch on less.

or eq to zero and link I 0000 01ss sss1 0000 iiii iiii iiii iiii J -- Jump J 0000 10ii iiii iiii iiii iiii iiii iiii JAL -- Jump and link J 0000 11ii iiii iiii iiii iiii iiii iiii BEQ -- Branch on equal I 0001 00ss ssst tttt iiii iiii iiii iiii BNE -- Branch on not

equal I 0001 01ss ssst tttt iiii iiii iiii iiii BLEZ -- Branch on less

than or equal to zero I 0001 10ss sss0 0000 iiii iiii iiii iiii BGTZ -- Branch on greater

than zero I 0001 11ss sss0 0000 iiii iiii iiii iiii ADDI -- Add immediate

(with overflow) I 0010 00ss ssst tttt iiii iiii iiii iiii ADDIU -- Add immediate

unsigned (no overflow) I 0010 01ss ssst tttt iiii iiii iiii iiii SLTI -- Set on less than

immediate (signed) I 0010 10ss ssst tttt iiii iiii iiii iiii SLTIU -- Set on less than

immediate unsigned I 0010 11ss ssst tttt iiii iiii iiii iiii ANDI -- Bitwise and

immediate I 0011 00ss ssst tttt iiii iiii iiii iiii ORI -- Bitwise or

immediate I 0011 01ss ssst tttt iiii iiii iiii iiii XORI -- Bitwise exclusive

or immediate I 0011 10ss ssst tttt iiii iiii iiii iiii LUI -- Load upper

immediate I 0011 11-- ---t tttt iiii iiii iiii iiii LB -- Load byte I 1000 00ss ssst tttt iiii iiii iiii iiii LW -- Load word I 1000 11ss ssst tttt iiii iiii iiii iiii SB -- Store byte I 1010 00ss ssst tttt iiii iiii iiii iiii SW -- Store word I 1010 11ss ssst tttt iiii iiii iiii iiii

107

Apêndice B - Codificação dos formatos

de Operações no CRASIS

Esta codificação foi descrita para operações do tipo Op C, A, B, D. Os bits da palavra de reconfiguração seguem a sequência Bar C (5 bits), Bar A (5 bits), Bar B (5 bits), Aux (5 bits).

Formato B_C B_ A B_ B Significado 000000 A A A A = A op A 000001 A A B A = A op A 000010 A B A A = A op B 000011 A B B A = B op B 000100 A A C A = A op C 000101 A C A A = C opA 000110 A C C A = C op C 000111 A C B A = C op B 001000 A B C A = B op C 001001 B B B B = B op B 001010 B B A B = B opA 001011 B A B B = A op B 001100 B A A B = A opA 001101 B B C B = B op C 001110 B C B B = C op B 001111 B C C B = C op C 010000 B A C B = A op C 010001 B C A B = C opA 010010 C C C C = C op C 010011 C C A C = C opA 010100 C A C C = A op C 010101 C A A C = A opA 010110 C B C C = B op C 010111 C C B C = C op B 011000 C B B C = B op B 011001 C A B C = A op B 011010 C B A C = B opA 011011 A A D A = A op D 011000 A B D A = B opD 011101 A C D A = C opD 011110 A D A A = D op A 011111 D B A A = D op B 100000 D C A A = D op C 100001 D D A A = D op D 100010 A D B B = A op D

108 100011 B D B B = B opD 100100 B C D B = C opD 100101 B D A B = D opA 100110 B D B B = D op B 100111 B D C B = D op C 101000 B D D B = D opD 101001 C A D C = A opD 101010 C B D C = B opD 101011 C C D C = C opD 101100 C D A C = D opA 101101 C D B C = D op B 101110 C D C C = D op C 101111 C D D C = D opD 110000 D A D D = A op D 110001 D D A D = D op A 110010 D B D D = B opD 110011 D D B D = D op A 110100 D C D D = C opD 110101 D D C D = X op C 110110 D D D D = D op D 110111 D A B D = A op B 111000 D B A D = B opA 111001 D A C D = A op C 111010 D C A D = C opA 111011 D B C D = B op C 111100 D C B D = C op B 111101 D A A D = A op A 111110 D B B D = B op B 111111 D C C D = C op C