Digital Components How We Interact with Computers User Applications Operating System Hardware
Digital DIGITAL - Digital means discrete. Digital representation is comprised of a limited number of data points to encode information. Most of our electronic devices use Digital techniques to work with data and information Since we have a limited number of data points to work with, it means that many representations are approximations of the real thing
Analog vs. Digital Analog is continuous, Digital is discrete The difference between analog and digital ANALOG DIGITAL
Analog vs Digital Discrete Digital Sampling of an Analog Event Bits ( = Binary Digits) Internally, all data in a digital device is contained in memory locations that are either on or off. Thus everything in memory can be thought of as being expressed in bits, where on = 1 and off = 0
a single bit can represent only 2 values, 0 or 1 Binary numbers Obviously with 1 bit we can only represent two values 0 and 1 With 2 bits we can represent only four different values: 00, 01, 10, 11 With 8 bits (otherwise known as a byte) we can
represent 256 values ( 0-255) Nomenclature A BIT is a single 1 / 0 position A NIBBLE is 4 BITS A BYTE is 8 BITS A WORD is a multiple of BYTES eg: 16 bits, 32 bits, 48 bits, 64bits. Common nomenclature today is to define memory storage and data capacity in BYTES
More Nomenclature As computers have become capable of processing and storing more data, we have coined: KiloBytes (Thousands) MegaBytes (Millions) GigaBytes (Billions) TeraBytes (Trillions) Library of Congress 30Tb PetaByte (1000 Trillion) ExaByte (Million Trillion)
Base 2 (Binary) vs. Decimal Comparison 10n = n 2 = 105
100,000 104 103 102 101 100 10,000 1000 100 10 1
27 26 25 128 64
32 24 16 23 8 22
21 20 4 2 1
Representing Data in the Computer Internally, everything--data, programs, text, you name it--is represented in bits. With an array of bits, we can represent any number or, thru assignment, any character so, for example: 0011 0000 = decimal 48 = H (256 combinations, 0 to 255) How could we represent letters for
instance? For characters we need 26 letters, 10 numbers, special marks, etc. About 127 possibilities including upper and lower case including control characters Ascii is an agreed upon code in which every character, numbers, etc. is given a unique 8 bit code (1 byte). So we need 4 bytes to represent the word love
16 values 256 Values 65,536 Values or (+/32,767) 16,777,216 Values Good tutorial on Binary http://www.swansontec.com/binary.html Logistics
First submission due today! Project Reading What did we learn so far? Binary Ask the hacker: Paul Ihme Next: Computer Architecture Hardware Software
Operating Systems Computer Architecture and Hacking Side channel attacks Soldering and hardware bypass Understanding the low level of the machine brain hackers operate on that level Fun hardware hacks Cloning the iPhone Bypassing the encryption of a square reader
What are computers made of? Primarily Transistors Invented in 1951, the Transistor is the basic electrical building block for all modern electronics Called by many the greatest invention of the 20th century For Digital applications, transistors are packaged in what is known as Integrated Circuits (ICs) As many as 30+ Billion Transistors can be packaged in a single large IC
today Anatomy of a Transistor Transistors are fabricated using silicon (derived from quartz) and tiny amounts of impurities such as selenium or gallium arsenide to create what is called a semiconductor Semiconductors allow us to control the flow of electrical charge (electrons) very precisely. Billions of semiconductors can be placed on an integrated circuit using a process called photolithography
Transistor Functionality In various circuits Transistors can be made to: Amplify or Attenuate electrical signals Invert electrical signals
Store electrical voltage values Switch electrical signals off and on Transistors can be combined to create logic circuits commonly known as GATES Gates are packed into Integrated Circuits commonly known as Chips Simple Silicon Semiconductor Devices Intel 4004 Processor Chip circa 1971
It could only add and subtract 4 bits at a time. AMD Athlon64 Processor 2004 The Von Neumann Machine INPUT CPU = Central
Processing Unit Memory OUTPUT A Typical PC CPU Board Fetch, Decode, Execute Cycle
Computer instructions are stored (as bits) in memory. To run a program, each instruction is: Fetched from memory. Decoded (the computer figures out what it should do based on the number). Then the instruction is executed. The speed at which this cycle occurs is determined by the system clock Cycle Times
Generally the faster your computer can get through a fetch-decodeexecute cycle, the faster it will perform. Cycle times are measured in gigahertz, a billion cycles per second. PCs these days reach 3500 Megahertz or 3.5 Gigahertz (3 billion cycles/sec) Memory Each memory unit has its own address Memory units are organized in groups of Bytes (8 bits) or Words (16, 24, 32, 64 or 128 bits)
0 1 2 3 4 ..127 million Random Access Memory The main computer memory is called RAM (Random Access Memory) It is random in that one may access any addressable memory unit independently of any other (and thus in random order). In almost all modern machines the smallest single addressable amount of memory is one byte. Memory is measured in megabytes or gigabytes or terabytes
RAM chips on a Circuit board ROM Read Only Memory can only be read from Its contents cannot be altered or written over easily This type of memory is used to hold instructions that need to always be there and always be the same For example, the initial instructions that are executed when your PC is turned on which instructs the machine to load Windows from the disk drive
Registers Registers are memory locations that are used to facilitate the movement of data inside a digital computer Registers work in conjunction with the system clock which determines the speed with which a computer fetches and executes instructions Basic Registers in a computer IR Instruction register ACC Accumulator, used as a scratchpad
MDR Memory Data register MAR - Memory Address register PC Program Counter, points to the next instruction to be fetched More about the CPU Two of many registers
in the CPU CPU Instruction Register (IR) Accumulator Memory
Machine Language Every computer CPU has its machine language, the set of instructions it knows how to execute. A typical instruction might say, get the contents of a memory location and put it in the accumulator register (perhaps in preparation for adding it to another number). Central Processing Unit manages the instruction-execution cycle FETCH DECODE EXECUTE
coordinates the activities of other devices The CPU and Main Memory Data Bus Types of Processor Operations Data Movement Operations
moving data from memory to the CPU moving data from memory to memory input and output Arithmetic and Logical Operations integer arithmetic comparing two quantities
shifting, rotating bits in a quantity testing, comparing, and converting bits Types of Processor Operations Program Control starting a program halting a program skipping to other
instructions testing data to decide whether to skip over some instructions Smaller, Cheaper, Faster! The Mantra of the Semiconductor Industry Clock Frequency
Lead Lead microprocessors microprocessors frequency frequency doubles doubles every every 22 years years 10000 2X every 2 years
Frequency (Mhz) 1000 P6 100 486 10
8085 1 0.1 1970 8086 286 Pentium proc
386 8080 8008 4004 1980 1990 Year
Courtesy, Intel 2000 2010 Challenges to Continuing the Trend The thickness (in atoms) between the silicon layers in
transistors is getting very thin as we attempt to cram more transistors into the same amount of spaceso much so that new materials need to be developed HEAT!! As we put more and more transistors on a chip, the ability to cool it and keep it from burning up is increasingly a problem Noise - As more transistors are packed ever more tightly together, the noise level of the circuits increases which affects reliability
Quad Core Processor 4 CPUs on one chip.. A New Computing Paradigm? Quantum Computing Seeks to use the spin of atomic particles to implement binary digital systems Molecular computing
Using molecules to hold electrical charges instead of using transistors Very much in preliminary research.not here yet Read this ! http://computer.howstuffworks.com/pc.htm Questions? Source: http://cs.brown.edu/courses/cs002/
Approaches to ethics: situation ethics, utilitarianism, consequentialism, proportionalism, rights & duty ethics, virtue ethics; which is best? 12. Principles for evaluating human actions 13. NSPE quiz 14.essays So, what is ethics or being ethical? Ethics - comes from the Gk...
PhD Employability Skills Development Programme . A series of 10 lectures/ workshops (1-2 hours) delivered by academics and Antonia Clark, Careers Consultant for PhD researchers beginning in April 2018. For researchers planning to become academics or enter other careers or...
Cultural Humility. A cultural humility perspective challenges us to learn from the people with whom we interact, reserve judgment, and bridge the cultural divide between our perspectives, in order to facilitate well-being, and promote improved quality of life.
The Legacy of India. ... have strongly influenced the world. For example, in many Southeast Asian nations, people perform plays based on the ancient Sanskrit epic, the Mahabharata. The Bhagavad Gita has been translated into many languages and is read...
More than 10% of people living with HIV/AIDS are in South and Southeast Asia, which includes India, and 4% are in North America, which includes the United States of America. Worldwide, HIV is the leading cause of death and disease...
Chapter 8: Antigen Processing and Presentation Ag recog by T cells REQUIRES presentation by MHC on a cell membrane (MHC restriction) ... within the target cell Only APC's can present Ag w/ MHC II to TH's APC's are of 2...