Introduction to Computer Architecture PDF

Document Details

StellarBarbizonSchool6943

Uploaded by StellarBarbizonSchool6943

Nor Salim b. Muhammad & Zairuladha b. Zainal

Tags

computer architecture microprocessor microcontroller computer science

Summary

These are slides introducing students to computer architecture, from UTeM (Universiti Teknikal Malaysia Melaka). Topics covered include the history of computer architecture, microprocessors, microcontrollers, and system-on-chip (SoC) design. The slides explore the evolution of computer architecture.

Full Transcript

Nor Salim b. Muhammad & Zairuladha b. Zainal FKM, UTeM  John Bardeen, Walter Brattain and William Shockley discovered the transistor effect and developed the first working transistor in December 1947, while the three were members of the...

Nor Salim b. Muhammad & Zairuladha b. Zainal FKM, UTeM  John Bardeen, Walter Brattain and William Shockley discovered the transistor effect and developed the first working transistor in December 1947, while the three were members of the technical staff at Bell Laboratories in Murray Hill, NJ. Next year, bipolar junction transistor has been invented. They were awarded the Nobel Prize in physics in 1956. Intel CPU Evolution RAM: random access memory ROM: read only memory DSPs IC: digital signal processing integrated circuit RISC: reduced instruction set computer TI: Texas Instruments A microcomputer relatively small and inexpensive compared to a computer that made of more than one of integrated circuits. A single chip microcomputers are sometimes called as microcontrollers and the processor and control unit part of the microcontrollers are widely known as microprocessor. Microprocessor  There are many definitions of architectures in use. However, we are only focused on the Princeton and Harvard architectures.  Princeton Architecture - generally known as Von Neumann architecture. It is made of a single memory which contains both the program code and the data.  Harvard Architecture - use two separate memories for the program code and the data, respectively. The length of an instruction could be different from the data size. Both data and a program instruction can be read at the same time.  1) Processing unit - also called an arithmetic logic unit (ALU). Perform operations such as addition subtraction bit wise AND and OR, shift operations. It has registers (groups of D flip-flops used to store binary values). Many microcontrollers perform operations on data that is located in a register. This requires the microcontroller to load the data from memory into a register in the processor, manipulate the data, then store the new value back to memory. It also a generates signals that indicates when values are negative, zero, or when arithmetic overflow occurs.  2) Control Unit - A synchronous sequential machine that coordinates the flow of data between the other units and operations of the other blocks. The sequence of states and control output of the unit depend on the inputs: the current program instruction, the status outputs of the other blocks, and the input/output block. Generally, central processing unit (CPU) or microprocessor refers to not only the processor but also the control unit.  3) Memory - The place where program code and data are stored. A sequence of directly addressable ‘locations ’. Therefore, the number of addresses available in a memory is limited by the number of bits used to represent the address. If 16 bits are used for the address, there are 65,536 (=216) different addresses available. A memory location is referred to as an information unit which has two components which are its address and its contents. The content indicated by an address can be interpreted by the microprocessor as one of two things. The first content is called as instruction code which used as inputs into the control unit and determine how it operates. A group of instruction is called a program. The second content is called as data which the numbers to be processed or the results of operations in the processor.  4) Clock - A periodic signal for the sequential machine in the control unit which used by other blocks to synchronize operations.  5) Input/Output - The block represents the interface between the internals of the microcomputer and the output devices such as keyboard, LED and LCD display, and printers.  A single-chip computer  On-chip RAM, ROM, I/O ports… CPU RAM ROM A single Serial I/O Port Timer COM chip Port  SoC stands for system on a chip.  This is a chip/integrated circuit that holds many components of a computer—usually the CPU (via a microprocessor or microcontroller), memory, input/output (I/O) ports and secondary storage—on a single substrate, such as silicon.  Having all of these components on one substrate means SoCs use less power and take up less space than their multi-chip counterparts.  SoCs are becoming increasingly popular with the growth of Internet of Things and edge and mobile computing.  One common example of tech that uses an SoC is video game consoles, such as the Nvidia Tegra X1 used in the Nintendo Switch or the AMD Flute and AMD Gonzalo SoCs expected to power the next Xbox and PlayStation, respectively.  Raspberry Pi computers, Arduino boards and STEM kits also use SoCs.  SoCs are often used in STEM kits because they are easy to use, and, therefore, helpful in teaching STEM.  You also find SoCs in smartphones and tablets.  Broadly speaking, there are three different types of SoCs:  SoCs that use a microcontroller (a chip with the CPU, RAM, ROM and potentially other components). Example: Arduino boards  SoCs that use a microprocessor (a chip with a CPU only). Examples: SoCs for smartphones, like Qualcomm’s Snapdragon 845 (also used for virtual reality headsets) and the Apple A12 Bionic SoC used in the iPhone XS, iPhone XS Max and iPhone XR. Rasperry Pi and Intel's line of SoC FPGAs.  SoCs for specific applications, which may or may not use a microprocessor or microcontroller. This is known as an ASIC (application-specific integrated circuit).  The term microprocessor and microcontroller have always been confused with each other. Both of them have been designed for real time application. They share many common features and at the same time they have significant differences. Both the IC’s i.e., the microprocessor and microcontroller cannot be distinguished by looking at them. They are available in different version starting from 6 pin to as high as 80 to 100 pins or even higher depending on the features  Microprocessor is an IC which has only the CPU inside them i.e. only the processing powers such as Intel’s Pentium 1,2,3,4, core 2 duo, i3, i5 etc. These microprocessors don’t have RAM, ROM, and other peripheral on the chip. A system designer has to add them externally to make them functional. Application of microprocessor includes Desktop PC’s, Laptops, notepads etc.  But this is not the case with Microcontrollers. Microcontroller has a CPU, in addition with a fixed amount of RAM, ROM and other peripherals all embedded on a single chip. At times it is also termed as a mini computer or a computer on a single chip. Today different manufacturers produce microcontrollers with a wide range of features available in different versions. Some manufacturers are ATMEL, Microchip, TI, Freescale, Philips, Motorola etc.  Microcontrollers are designed to perform specific tasks. Specific means applications where the relationship of input and output is defined. Depending on the input, some processing needs to be done and output is delivered. For example, keyboards, mouse, washing machine, digicam, pendrive, remote, microwave, cars, bikes, telephone, mobiles, watches, etc. Since the applications are very specific, they need small resources like RAM, ROM, I/O ports etc and hence can be embedded on a single chip. This in turn reduces the size and the cost.  Microprocessor find applications where tasks are unspecific like developing software, games, websites, photo editing, creating documents etc. In such cases the relationship between input and output is not defined. They need high amount of resources like RAM, ROM, I/O ports etc.  The clock speed of the Microprocessor is quite high as compared to the microcontroller. Whereas the microcontrollers operate from a few MHz to 30 to 50 MHz, today’s microprocessor operate above 1GHz as they perform complex tasks. Read more about what is microcontroller.  Comparing microcontroller and microprocessor in terms of cost is not justified. Undoubtedly a microcontroller is far cheaper than a microprocessor. However microcontroller cannot be used in place of microprocessor and using a microprocessor is not advised in place of a microcontroller as it makes the application quite costly. Microprocessor cannot be used stand alone. They need other peripherals like RAM, ROM, buffer, I/O ports etc and hence a system designed around a microprocessor is quite costly. IC: integrated circuit Microprocessors Microcontrollers CPU is stand-alone, CPU, RAM, ROM, I/O RAM, ROM, I/O, timer and timer are all on a are separate. single chip Designer can decide on fixed amount of on- the amount of ROM, chip ROM, RAM, I/O RAM and I/O ports. ports Expensive & versatility For applications in which cost, power and space are critical. General-purpose single-purpose (control-oriented) Microprocessors Microcontrollers High processing power Low processing power High power Low power consumption consumption Instruction sets focus Instruction sets focus on processing- on control and bit-level intensive operations operations Typically 32/64 – bit Typically 8/16 bit Example : Example : Intel Pentium  Microchip  AMD 64 Technology PIC IBM Power 8 Atmel AVR Texas Instruments MSP430 The IoT has 4 main parts (and also sometimes, actuators)