You are on page 1of 29
Unit 6 -Parallel Computer Architeetures een ee Temata I) Cen ne) ie ken epee) Multi Chip Microprocessors Aer eCoa aro Wier eee eMC Processor vs Coprocessor ened ereeos Network Processors Unit IVE ates eee eke min) On-chip parallelism: instruction level parallelism Instruction Level Parallelism is achieved when multiple operations are performed in single cycle. This is done by either executing them simultaneously or by utilizing gaps between two successive operations that is created due to the latencies. Now, the decision of when to execute an operation depends largely on the compiler rather than hardware. However, extent of compiler's control depends on type of ILP architecture where information regarding parallelism given by compiler to hardware via program varies. Instruction Level Parallelism..cont'd The classification of ILP architectures can be done in the following ways — 1. Sequential Architecture: Here, program is not expected to explicitly convey any information regarding parallelism to hardware, like superscalar architecture 2. Dependence Architectures: Here, program explicitly mentions information regarding dependencies between operations like dataflow architecture. 3. Independence Architecture: Here, program gives information regarding which operations are independent of each other so that they can be executed in stead of the ‘nop’s.n order to apply ILP, compiler and hardware must determine data dep independent operations, and scheduling of these independent o of functional unit, and register to store data On-chip multithreading The best way to achieve CMT is called chip multiprocessing (CMP), a technology pioneered by Sun Microsystems. The core characteristic of the technology involves duplicating the entire processor core along with most of its subsystems and placing it on a single silicon die. This can be done by co-packaging two modified processors with additional logic circuits that allow them to behave exactly like a single dual core die. One big benefit of CMPis its backward pin compatibility with previous On-chip Multithreading. cont'd This enables a CMP processor to fit into an existing computer setup and multiply the number of processors in the system. With the increase in processing cores comes an increase in processor validation. However, there is a downside to this technology. Multiplying the number of processors exponentially increases the number of transistors, which takes up more space, is more expensive and tends to cause problems with heat dissipation. Chip multithreading is an application of parallel processing. It can be seen as being similar to software multithreading where mul le processor activities can be done in a single process. The only difference is that CMT is hardware-based so that the processor handles the different threads instead of the software. The key advantage of this compared to older processor technologies is improved throughput. ‘Single-Chip/Multi-Chip Microprocessors Putting a CPU, ROM, RAM, and data input/output circuitry into a single IC(integrated circuit) will make a single-chip microprocessor. Single-chip microprocessors come compact and cheap, but do not allow users to choose built-in functions at their option Single-chip microprocessors are also known as "microcomputer units (MCUs)," because they are made of a single IC. On the other hand, a computer fabricated from a mix of a CPU, memory and data input/output devices is called a "multi-chip microprocessor." Multi-chip microprocessors offer users greater freedom in their component choice. Multi-chip microprocessors will prove more advantageous for larger systems involving complexities of inputioutput. See how a single-chip microprocessor and a multi-chip micropro Single-chip Multi-chip microprocessor microprocessor Single-chip microprocessor and multi- Single-Chip/Mult-Chip Microprocessors Single-chip microprocessors are used as built-in controllers. When a single-chip microprocessor is switched on, the control program stored in its internal ROM launches instantly. Internal RAM is used as temporary storage. The internal data input/output circuits, too, have been chosen to support the single-chip microprocessors s controller. ‘Types of intemal ROM Early single-chip microprocessors included only mask ROM and were available only for use in mass- produced products. ‘Subsequently EPROM has made inroads into single-chip microprocessors as internal ROM. As testing and debugging was carried out in erasable and programmable packages with windows and inexpensive plastic-packaged OTPROM used on commercialization, single-chip microprocessors came to be used in products manufactured in small batches as well. Now, single-chip microprocessors with internal EEPROM and flash memory are available for use in various applications. As the IC manufacturing technology has been advancing from year to year, with continuing increases in the sizes of internal ROM and RAM, state-of-the-art data input/output functions have been used in single-chip microprocessors in an expanding of appl Microprocessors and memory © —Amemory device organized into 8 bits per address is used. Each sequence of 8 bits is called a "byte," and memory sizes are stated in the unit byte. * 64K bytes of memory could be connected to classical 8-bit microprocessors as standard. This memory size indicates 8 bits per address in a memory space of 64K (65536 addresses). Eight bits of memory per address are also connected to 16- and 32-bit microprocessors, as well as 8-bit microprocessors. PROCESSOR STU program by performing the asic arithmetic, logic Tire er tenet eeu Peo nearer NVEIEIOS re Te eae eae emote fea ere os Ewen nm Ute Ste Royo enna functions of the primary oe Processor vs Pree ere Coprocessor ignal processing, Cea een ens Coens Helps to offload the intensive Sec Pee omen eeu aren SiR ee Coprocessor © Aco-processor is many times referred as a Math Processor. As the coprocessor performs routine mathematicaltasks, the core processor is freed up from this computation and its time is saved. By taking specialized processing tasks from core CPU, coprocessor reduces the strain on the main microprocessor, so that it can run at a greater speed. * Acoprocessorcan perform special tasks like complex mathematical calculations or graphical display processing. They perform such jobs faster than core CPU. As a result, overall computer speed of the system increases. @ Toan ARM processor, we can attach the coprocessors. A coprocessor when added, we needto expand instruction set of Core CPU or add configurable registers, to increase the processing power. The coprocessor interface permits a couple of coprocessor to be connected to the ARM CPU. How does coprocessor work ? Coprocessors assists the system in running more efficiently by offloading specific tasks of the CPU. They can be: Independent type — It work in an asynchronous manner with the CPU . Wheneverit performs any task/ some calculations, that is not synchronized with the CPU. Co-processor can take decisions independently here. CPU can then do its own work without worrying about co- processor's work. Instead of synchronously waiting, CPU that issued the request is freed up to perform another task. Direct control type — Direct control type such as floating-point units — controlled by coprocessor's instructions that are CPU instruction set part. The CPU that initiated the request waits or checks until co-processor completes operation. The coprocessor is not independent here & is governed or controlled by the main CPU. CPU & coprocessor works in synchronization here. Coprocessor The processor is designed and implemented in manner so that it can send, both data and instructions to several coprocessors. These coprocessors are designed to perform in coordination with the core and are pipelined in the identical manner. By adding a new set of specialized instructions, coprocessor can expand instruction set. For example, to handle vector floating-point (VFP) operations, a series of specialized instructions can be added to the normal ARM instruction set. When the instruction is decoded and it is encountered as coprocessor instruction, that instruction is passed on to the appropriate coprocessor. Properties of Coprocessor Without primary microprocessor, coprocessor cannot function. Main processor has to identify and segregate computationally intensive instructions in a program The instructions which have an intensive amount of calculations are performed by coprocessor. The main processor handles all other activities. Functionalities of a Coprocessor Coprocessors are incapable of retrieving instructions from memory, managing memory, executing instructions(flow control types) directly, performing I/O operations, ete. The coprocessor relies on the host (main) processor to retrieve coprocessor instructions and take care of all other operations not related to the coprocessor. A coprocessor is not the main processor of the system, Coprocessor can perform : Floating point arithmetic operations such as addition, subtraction, multiplication, Calculating the square root of the given number, estimating the logarithmic value of the given number ete. (for float point values) , or signal, string, graphical processing or encryption/decryption etc. Coprocessors enable a computer customization , so the clients do not need to pay if they do not require the additional performance Example - Intel 8087 Coprocessor The Intel 8087 was first math co-processor suited for operations of 16 bit. It was built to be paired with the Intel 8086 Microprocessor. Its main purpose was to decrease time required by the applications to give output (that require high floating point computations). With introduction of co-processor along with the main processor, it was noticed that performance of the applications improved from 20% to 500%. 8087 coprocessor Performance — About 50 Kilo Floating Point Operations per second(KFLOPS). Network Processor (NPU) ‘A network processor (NPU) is an integrated circuit that is a programmable software device used as a network architecture component inside a network application domain. ‘A network processor in a network is analogous to central processing unit in a computer or similar device. The replacement of analogous signals to packet data form in telecommunication has led to integrated circuits of network processors that handle data packets, Network Processor (NPU) Modern-day network processors have developed from simple designs to complex ICs with programmable software and a variety of operations and manipulation functions on the data packet. Network processors are employed in the manufacturing of routers, network switches, packet inspection, session controllers, firewall, transmitter devices, error detection and prevention devices and network control software. With today's web networking growing stronger than ever, network processors play a significant role in managing an overloaded network with abundant traffic and rapid growth rate. Network processors play a key role in packet inspection, encryption, monitoring, traffic management and queue management in a large network. Media Processors © Amedia processor, mostly used as an image/video processor, is a microprocessor based system-on-a- chip which is designed to deal with digital streaming data in real-time (e.g. display refresh) rates. These devices can also be considered a class of digital signal processors (DSPs) ‘© Unlike graphics processing units (GPUs), which are used for computer displays, media processors are targeted at digital televisions and set-top boxes. © The streaming digital media classes include: © uncompressed video © compressed digital video - e.g. MPEG-1, MPEG-2, MPEG-4 © digital audio- e.g. PCM, AAC © The microprocessor might have these optimizations: © vector processing or SIMD functional units to efficiently deal with these me, DSP-like features ° Media Processors Such SOCs are composed of: ‘a microprocessor optimized to deal with these media datatypes a memory interface streaming media interfaces specialized functional units to help deal with the various digital media codecs Previous to media processors, these streaming media datatypes were processed using fixed-function, hardwired ASICs, which could not be updated in the field. This was a big disadvantage when any of the media standards were changed. Since media processors are software programmed devices, the processing done on them could be updated with new software releases, This allowed new generations of systems to be created without hardware rede: Cryptoprocessors Crypto processors are specialized processors that execute cryptographic algorithms within hardware, Functions include such things as accelerating encryption algorithms, enhanced tamper, and intrusion detection, enhanced data, key protection and security enhanced memory access and I/O. Crypto processors were first used in military applications, they came into commercial applications in the mid-1980s when IBM’s 3480 was outfitted with them, and they have been used in ATM and banking applications to secure transactions, In the last 10 or so years, scaled-down versions have been showing up in consumer devices such as smart cards, SIM cards, cellular radios, set-top boxes, automobiles, game consoles, etc. Cryptoprocessors.. cont'd They can be integrated into SoCs or FPGAs, depending upon the desired function. They also can be integrated using a hybrid approach, whereby a standard processoris used and dedicated IP other crypto algorithm blocks are implemented in the hardware. And there is a trusted platform module, as well For example, there is a type of crypto processor referred to as a double encryption device. This rendition offers the ability to protect both the running programs and the data by encrypting both the data and address locations. All information is decrypted within the secure blocks of the processor and then encrypted before it is stored in memory or sent to an /O operation. Ithas the ability to hardwire the keys. This means they can be ‘zero-ized” and become virtually invisible to the outside world Italso contains both secure and unsecure I/O channels. The unsecure chani V/O operations and maintenance while the secure channels are used fo) Grid Computing Grid Computing can be defined as a network of computers working together to perform a task that would rather be difficult for a single machine All machines on that network work under the same protocol to act like a virtual supercomputer. The task that they work on may include analysing huge datasets or simulating situations which require high computing power. ‘Computers on the network contribute resources like processing power and storage capacity to the network. Grid Computing is a subset of distributed computing, where a virtual supercomputer comprises of machines on a network connected by some bus, mostly Ethernet or sometimes the Internet. It can also be seen as a form of Parallel Computing where instead of many CPU cores on a single machine, it contains multiple cores spread across various locations, The concept of grid computing isn't new, but itis not yet perfected as there protocols established and accepted by people. Grid Computing: Working ‘A Grid computing network mainly consists of these three types of machines. Control Node: A computer, usually a server or a group of servers which administrates the whole network and keeps the account of the resources in the network pool Provider: The computer which contributes it’s resources in the network resource pool. User: The computer that uses the resources on the network. ‘When a computer makes a request for resources to the control node, control node gives the user access to the resources available on the network. When itis not in use it should ideally contribute it's resources to the network. Hence a normal computer on the node can swing in between being a user or a pry needs, Grid Computing: Working The nodes may consist of machines with similar platforms using same OS called homogeneous networks, else machines with different platforms running on various different OS called heterogeneous networks. This is the distinguishing part of grid computing from other distributed computing architectures For controlling the network and it's resources a software/networking protocol is used generally known as Middleware. This is responsible for administering the network and the control nodes are merely it ’s executors, ‘As a grid computing system should use only unused resources of a computer, it is the job of the control node that any provider is not overloaded with tasks. Another job of the middleware is to authorize any process that is being executed on the network. Ina grid computing system, a provider gives permission to the user to run anything hence it is a huge security threat for the network. Hence a middleware shou| unwanted task being executed on the network Grid Computing: Working The meaning of the term Grid Computing has changed over the years, according to “The Grid: Blueprint for a new computing infrastructure” by lan Foster and Carl Kesselman published in 1999, the idea was to consume computing power like electricity is consumed from a power grid. This idea is similar to current concept of cloud computing, whereas now grid computingis viewed as a distributed collaborative network. Currently grid computing is being used in various institutions to solve a lot of mathematical, analytical and physics problems. 0S : Windows 08 : Ubuntu 0S : Kali Linux Node Grid Computing: Working Advantages of Grid Computing: Itis not centralized, as there are no servers required, except the control node which is just used for controlling and not for processing. Multiple heterogeneous machines i.e. machines with different Operating Systems can use a single grid computing network. Tasks can be performed parallelly across various physical locations and the users don't have to pay for it(with money).

You might also like