cs33-bits_bytes

cs33-bits_bytes - Some notes adopted from Bryant and...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Some notes adopted from Bryant and O’Hallaron Bits and Bytes Chapter 2 of B&O Why Don’t Computers Use Base 10? • Base 10 Number Representation – That’s why fingers are known as “digits” – Natural representation for financial transactions • Floating point number cannot exactly represent $1.20 – Even carries through in scientific notation • 1.5213 X 104 • Implementing Electronically – Hard to store • ENIAC (First electronic computer) used 10 vacuum tubes / digit – Hard to transmit • Need high precision to encode 10 signal levels on single wire – Messy to implement digital logic functions • Addition, multiplication, etc. Binary Representations • Base 2 Number Representation – Represent 15213 10 as 11101101101101 2 – Represent 1.20 10 as 1.0011001100110011[0011]… 2 – Represent 1.5213 X 10 4 as 1.1101101101101 2 X 2 13 • Electronic Implementation – Easy to store with bistable elements – Reliably transmitted on noisy and inaccurate wires 0.0V 0.5V 2.8V 3.3V 1 Byte-Oriented Memory Organization • Programs Refer to Virtual Addresses – Conceptually very large array of bytes – Actually implemented with hierarchy of different memory types – System provides address space private to particular “process” • Program being executed • Program can clobber its own data, but not that of others • Compiler + Run-Time System Control Allocation – Where different program objects should be stored – In any case, all allocation within single virtual address space Encoding Byte Values • Byte = 8 bits – Binary 00000000 2 to 11111111 2 – Decimal: 10 to 255 10 – Hexadecimal 00 16 to FF 16 • Base 16 number representation • Use characters ‘0’ to ‘9’ and ‘A’ to ‘F’ • Write FA1D37B 16 in C as 0xFA1D37B – Or 0xfa1d37b 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111 Machine Words • Machine Has “Word Size” – Nominal size of integer-valued data • Including addresses – 32-bit Systems (4 bytes) • Limits addresses to 4GB • Becoming too small for memory-intensive applications – 64-bit Systems (8 bytes) • Potentially address ≈ 1.8 X 10 19 bytes • x86-64 machines support 48-bit addresses: 256 Terabytes – Machines support multiple data formats • Fractions or multiples of word size • Always integral number of bytes Word-Oriented Memory Organization • Addresses Specify Byte Locations – Address of first byte in word – Addresses of successive words differ by 4 (32-bit) or 8 (64-bit) 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 32-bit Words Bytes Addr. 0012 0013 0014 0015 64-bit Words Addr = ??...
View Full Document

This note was uploaded on 05/11/2011 for the course CS 33 taught by Professor Rohr during the Spring '08 term at UCLA.

Page1 / 31

cs33-bits_bytes - Some notes adopted from Bryant and...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online