TRANSPUTER ARCHITECTURE. What is Transputer ? Транспьютер (англ. transputer) элемент построения многопроцессорных систем, выполненный на одном кристалле.

Презентация:



Advertisements
Похожие презентации
Lecture # Computer Architecture Computer Architecture = ISA + MO ISA stands for instruction set architecture is a logical view of computer system.
Advertisements

HPC Pipelining Parallelism is achieved by starting to execute one instruction before the previous one is finished. The simplest kind overlaps the execution.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Building a Simple Serial Network Understanding the OSI Model.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
Loader Design Options Linkage Editors Dynamic Linking Bootstrap Loaders.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Understanding Customer-to-Provider Connectivity.
Using Information Technology Chapter 1 Introduction to Information Technology.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Using Multihomed BGP Networks.
2.1 Chapter 2 Network Models Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
Flynns Architecture. SISD (single instruction and single data stream) SIMD (single instruction and multiple data streams) MISD (Multiple instructions.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Building a Simple Ethernet Network Understanding How an Ethernet LAN Works.
8.1 Chapter 8 Switching Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Albina Manapova ED There is great variety in the types of speakers that are available in the market today. However, the basic principles of sound.
Designing Network Management Services © 2004 Cisco Systems, Inc. All rights reserved. Designing the Network Management Architecture ARCH v
Unit II Constructor Cont… Destructor Default constructor.
Sequences Sequences are patterns. Each pattern or number in a sequence is called a term. The number at the start is called the first term. The term-to-term.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
© 2006 Cisco Systems, Inc. All rights reserved. BSCI v Configuring EIGRP Using EIGRP in an Enterprise Network.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Operating and Configuring Cisco IOS Devices Configuring a Router.
Транксрипт:

TRANSPUTER ARCHITECTURE

What is Transputer ? Транспьютер (англ. transputer) элемент построения многопроцессорных систем, выполненный на одном кристалле большой интегральной схемы англ.процессорных интегральной схемы Transistor Computer. Goal was produce low cost low power chips to form a complete processor, just as transistors had earlier The first single chip computer designed for message-passing parallel systems, in 1980s, by the company INMOS (ныне подразделение STMicroelectronics). STMicroelectronics

Transputer Versions First generation 16 bit transputers: T212 T222 T bit transputers without a floating unit: T400 T414 T425 T bit transputers with a floating unit : T800 T801 T805 All have the same architecture, similar instruction sets and fully compatible communications links. Second Generation 64 bit transputer with a floating unit : T9000 Although general architecture much the same, it is a new design and is much more complex chip then its predecessors.

Транспьютер Т800 и коммутатор С004

TRANSPUTER ARCHITECTURE

Memory All transputers address bytes 32 bit addresses gives 4 Gigabytes address space The range of addresses is unusual : starts at # and goes up to #7FFFFF, with # lying in the middle. Do not need to calculate unsigned arithmetic so it simplifies the ALU and reduce the number of instructions.

Transputer Memory Map

Processor The transputer processor is in some ways a conventional microprocessor. It executes one instruction at a time It has a small number of world-wide registers mostly dedicated to a particular purpose Areg, Breg and Creg: They are used to evaluate expressions and hold instruction operands and results. These are called as evaluation registers and arranged into a stack. Only the Areg is connected to internal buses, so only the Areg can be read or written to. Iptr, Oreg, Wreg: These are called sequential control registers: Instruction pointer (Iptr), holds the address of the next instruction. Operand register (Oreg), holds the operand for the current instruction. Workspace register (Wreg), holds the workspace pointer (Wptr) which is the address an area of memory called the local workspace.

Stack Organization Of Registers

Processor cont… Transputer supported two level priority levels, high- priority and low priority There is one chip microcode to support, automatically controls timesharing and queues between processes At any time a process may be either active or inactive. Transputer has such an architecture that inactive process do not use any processor time

Floating Point Unit A separate coprocessor, slave of the CPU, can run at the same time as the CPU but can not run a different parallel process There are 53 floating point instructions High level programming language to program is strongly advised rather than assembly It bases IEEE standards for the floating point format, operations and results

System Services In multi-processor systems it should be convenient to have a hierarchy of control. For example, a host should be able to boot up a network of transputers, detect when an error occurs and debug the network. These are achieved by means of reset, analyze, and error pins that called system service pins

Link Interface INMOS link is effectively a serial DMA port. It can be used for, interfacing with peripherals using a link adaptor, an ASIC (Application specific integrated circuit) chip can use a link to read and write directly into a transputer memory at high speed, most common to talk to another processor, usually anther transputer.

Link Interface cont.. The four links and processor have independent access to the memory The links designed so that transputers do not need to be synchronized in order to talk each other.However, need to agree nominal bit rate. So this means that transputers in a network may be driven either from a common clock or from separate clocks. Link Communication

Гибридная система

Link Protocols Transputers buffer only a single incoming data that every data packet is acknowledged First processor executes an input or output instruction and convey it to link. Then starts another parallel process When it is output it sends a data packed, and waits till an acknowledge arrives, then next package ….(chance to wait forever) When it is input, checks whether a data has come, if not waits, and sends an acknowledge as soon as get the package Synchronized but unbuffered Link Interface cont..

T 9000

Occam Parallel processing language written to be implemented in Transputer Exploits all the strength of transputer It uses the process and channel logic that a program designed for a transputer, could also be used in an array of transputers, with no change (Scalability feature) Designed to have a formal semantics suitable for automatic program transformations

Occam Basics Occam primitive is a process, five kinds: –Assignment x := y + 2 –Input keyboard ? char –Output screen ! Char –Skip SKIP -- NOP that terminates –Stop STOP –- NOP that never terminates Channels provide communication between processes –Unbuffered, point-to-point synchronous communication –Channels have declared protocol types c ? yc ! x Channel c

Composing Sequential Processes SEQ executes sub-processes sequentially SEQ keyboard ? char –- read char from keyboard screen ! char -- write char to screen Can do replicated SEQ SEQ i = 0 FOR array.size stream ! data.array[i] -- equivalent to SEQ stream ! data.array[0] stream ! data.array[1]...

Composing Parallel Processes PAR executes sub-processes in parallel PAR keyboard(kbd.to.ed) editor(kbd.to.ed,ed.to.screen) screen(ed.to.screen) screen editor keyboard