Nucleo multiprocessado para aplicações em tempo-real

Orientador: Rogerio Drummond === Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação === Made available in DSpace on 2018-07-17T23:29:28Z (GMT). No. of bitstreams: 1 Hexsel_RobertoAndre_M.pdf: 2603589 bytes, checksum: 63a5073b316e9...

Full description

Bibliographic Details
Main Author: Hexsel, Roberto Andre
Other Authors: UNIVERSIDADE ESTADUAL DE CAMPINAS
Format: Others
Language:Portuguese
Published: [s.n.] 1988
Subjects:
Online Access:HEXSEL, Roberto Andre. Nucleo multiprocessado para aplicações em tempo-real. 1988. 83f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/276539>. Acesso em: 17 jul. 2018.
http://repositorio.unicamp.br/jspui/handle/REPOSIP/276539
Description
Summary:Orientador: Rogerio Drummond === Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação === Made available in DSpace on 2018-07-17T23:29:28Z (GMT). No. of bitstreams: 1 Hexsel_RobertoAndre_M.pdf: 2603589 bytes, checksum: 63a5073b316e9b7dd4121ccfbde1245d (MD5) Previous issue date: 1988 === Resumo: Esta Dissertação descreve o núcleo de tempo-real do Multiprocessador para Sistemas de Controle (MSC). O MSC foi desenvolvido no Instituto de Automação do Centro Tecnológico para Informática e possui características que o tornam adequado a aplicações em controle de processos e automação industrial. Estas aplicações exigem respostas rápidas a eventos externos e grande capacidade de processamento. O MSC pode ser configurado para satisfazer as mais diversas aplicações e diferentes níveis de desempenho, desde controladores de robô até gerenciadores de sistemas integrados de manufatura. O MSC é baseado no barramento VME e pode conter um ou mais processadores MC 68000 e zero ou mais processadores Z80. O barramento VME suporta a comunicação de baixo nível entre os programas executados em paralelo pelos processadores. Cada processador (MC 68000) executa o código (aplicativos e NÚCLEO) armazenado em sua memória local, à qual é conectado por um barramento privativo (padrão VMX). A sincronização e comunicação de alto nível entre os programas ocorre através da memória global, a que os processadores tem acesso pelo barramento VME. Os processadores de Entrada/Saída (PE/S) são escravos dos demais processadores. Os PE/S são interligados ao VME por memória dual-port: uma das portas é mapeada como memória global (no VME) e a outra é ligada ao barramento interno do PE/S. O NÚCLEO do MSC é estruturado segundo o modelo estratificado. A unidade lógica de computação é o processo. O mecanismo de sincronização interprocessos é uma extensão de semáforos para uso no ambiente multiprocessado do MSC. O mecanismo de comunicação interprocessos é a troca de mensagens através de caixas postais. A localização (em memória global ou local) dos objetos suportados pelo NÚCLEO é especificada somente na sua criação. Todas as outras operações referenciam apenas aos identificadores dos objetos (números inteiros). Chamamos esta caraçterística de Transparência de Multiprocessamento. Graças a ela, a programação do MSC, um multiprocessador, oferece um grau de dificuldade não maior que aquele apresentado por sistemas multitarefa convencionais. Além disso, se todos os objetos necessários à execução de um programa forem criados num mesmo processo, um aplicativo pode ser transportado para uma máquina com um número diferente de processadores sem alterações no seu código (exceto nos locais onde os objetos/recursos são criados). O NÚCLEO oferece primitivas para a criação e destruição de processos (locais e remotos), operações P e V sobre semáforos, operações sobre conjuntos de armazenadores e troca de mensagens através de caixas postais. Os semáforos possibilitam soluções simples e eficientes para problemas de exclusão mútua e sincronização condicional. As caixas postais permitem a implementação de vários paradigmas de comunicação interprocessos, tais como comunicação síncrona ou assíncrona, "pipes" e "rendezvous". === Abstract: This dissertation describes the real-time kernel for a Multiprocessor aimed at Control Systems Applications (MSC for short). The MSC multiprocessor was developed at Instituto de Automação, Centro Tecnológico para Informática. It has features that make it suitable for applications in industrial process control. These applications demand high throughput and prompt response to external events. The MSC can be configured to solve a wide variety of problems in control and automation, from robot controllers up to supervising chores in flexible manufacturing systems. The MSC is built around a VME bus and may have one or more MC 68000 based processors and zero or more Z80 based I/O processors. The VME bus supports the low leveI communication between the processors. Each processor (MC 68000) executes the code (application and KERNEL) stored in its local memory, to which it is connected, by a private bus (VMX bus). The high leveI synchronization and communication between the programs occurs through the global memory, which is accessed by the processors via the VME bus. The I/O processors interface to the VME bus is a dual ported memory: one port is connected to the global bus (mapped as global memory) and the other is connected to the I/O processor's internal bus. The MSC's KERNEL was designed as a layered structure. The logical unit of computation is the process. The interprocess syhchronization mecanism is an extension to semaphores so they can be used in the distribuited MSC's environrnent. The interprocess communication mecanism is message exchange through mailboxes. The loci (in either global or local memory) of the objects supported by the KERNEL is specified only at its creation. All the other operations upon them refer just to their identifiers (which are integers). We call this feature Multiprocessing Transparency. Thanks to it, the MSC's (a multiprocessor) programming presents no more difficulty than that of conventional multitasking systems. Furthermore, if alI the objects needed to a program's execution are created on one process, this program may be ported to a machine with a different number of processors without any changes to its code (except, of course, to the places where the objects are created). The KERNEL supports primitives for the creation and killing of processes (local and remote ones), P and V operations on semaphores, operations on buffer pools (get, release) and message exchange through mailboxes. The semaphores provide simple and effident solutions to mutual exclusion and condition synchronization problems. The mailboxes allow the implementation of many interprocess communication paradigms, such as synchronous and assynchronous communication, pipes and rendezvous. === Mestrado === Mestre em Ciência da Computação