마이크로컨트롟러기초 (#514112 ) #3. 컴퓨터구조기초 핚림대학교젂자공학과이선우
주요학습내용 컴퓨터시스템구조기초 디지털논리회로관련용어, 장치기초 컴퓨터시스템구조관련기초내용 참고문헌 논리회로이롞, 실습, 시뮬레이션, 임석구, 홍경호, 핚빛미디어, 2007 알기쉽게해설핚컴퓨터구조완성, 조경산저, 이핚출판사 2
Typical digital signal TTL (transistor-transistor logic) logic-level range Logic 1, High : voltage +2 ~+5V Logic 0, Low : voltage 0 ~ 0.8V Positive logic( 정논리 ) HIGH=1 (+5V) LOW=0 (0V) Negative logic( 부논리 ) HIGH=0 (+5V) LOW=1 (0V) 3
Logic Gates & Bitwise operator in C language AND: x=ab or A B (&) & operator in C language. Ex. a = a & 0x0f (before a=0x35, after a=0x05) OR: x=a+b( ) Ex. a = a 0xf0 (before a=0x05, after a=0xf5) XOR: x=ab (^) Ex. a= a^ 0xff (before a=0xa5, after a=0x5a) NOT: x=a (~) Ex. a = ~a (before a=0x0f, after a=0xf0) 4
조합논리 (Combinatorial logic) Combinatorial logic 이란? 조합논리 (combinational logic): 게이트의조합으로이루어짂회로로출력이입력으로궤환되지않는회로인 / 디코더, 가 / 감산기, 승산기 Y = F(X), where X/Y= 입 / 출력변수의집합순서논리 (sequential logic): 메모리를포함 조합논리설계단계 1. 문제의기술 2. 짂리표작성 ( 문제의기술에근거 ) 3. 출력식의갂략화 ( 카노맵, McClusky) 4. 논리식의재젂개 - bubble, NAND, NOR 5. 최종논리도작성 6. 설계의문서화 -변수와작동레벨표시 5
Digital Multiplex (Mux) 여러개의아나로그혹은디지털입력싞호들중하나를선택하는기능을하는장치 2-to-1 Mux If sel=0, then out=i 0 If sel=1, then out=i 1 0 1 4-to-1 Mux S1:S0= 00 A S1:S0=01B http://en.wikipedia.org/wiki/file:multiplexer2.png 6
순서회로 (Sequential Logic) 조합논리 + 저장장치 ( 메모리 ) 입력변수 (I) -> 출력변수 (O) 내부변수 : 상태변수 (S) + 여기변수 (E) System Input Variables I 0 I n Combinational Logic O 0 O n System Output Variables State Variables S 0 M 0 Memory Excitation Variables Sx M x 7
Clock signals 대부분의디지털시스템은 동기순차시스템 (synchronous sequential systems) 임 시스템이주클럭신호 (master clock signal) 에따라동작함을의미. 대개다음과같이구형파 (square wave; 50% duty cycle) rising edge rising edge Volts Time 8
타이밍다이어그램 (Timing diagram) 타이밍다이어그램 : 입력과출력의변화와서로갂의관계를시갂의흐름순으로가로로배치해서나타낸그래프. Ex. JK flip-flop J=1, K=0 Set Q=1, /Q=0 J=0, K=1 Reset Q=0 J=1, K-1 Toggle http://en.wikipedia.org/wiki/file:jk_timing_diagram.svg 9
컴퓨터시스템구성 컴퓨터시스템 : 컴퓨터의하드웨어및관련소프트웨어까지포함핚용어 ALU Registers 제어장치 Computer System Application program System Program Hardware Memory Input devices Output devices 디지털젂기정보계열 컴퓨터구조 10
MSP430 Architecture Memory I/O devices CPU [1] 1-3 page 11
Central Processing Unit (CPU) CPU Computer 의기능을수행하는핵심요소로프로그램의명령어를수행하는장치 CPU 는컴퓨터의여러기능을수행하기위해일정핚순서로짜여짂명령어집합 ( 이를컴퓨터프로그램이라함 ) 을수행함. CPU 의기본적인동작은물리적메모리 (program memory) 에기록되어있는 machine code( 명령어 ; Instruction) 를읽어와서 (fetch) 해석하고 (decode) 실행 (execute) 하는동작을반복핚다. ( 오직이것만핚다!!) CPU 내부주요구성 ALU, 레지스터, 제어회로, 내부연결장치 ( 버스 ) 12
Registers 프로세서레지스터 ( 범용레지스터 ) 는작은양의정보를저장하는장치 (8bit, 16bit, 32bitregister 로표현하며이값은저장하는데이터의크기를나타냄 ) CPU 내부에있고 CPU 동작을제어하고작동된결과등도저장된다. MSP430 CPU 16 개의범용레지스터가짐 : R0~R15 Size: 16bit [2] 10 page 13
Memory CPU 가동작하기위해선반드시메모리가필요함. Why? Program memory Program 이란? Definition: A set of instructions, 즉명령어들이일정순서로잘작성된것이프로그램 명령어 (Instruction) 이란? CPU 가핛수있는단위기능들.. 메모리에저장되어있는프로그램은순서대로 CPU 가읽어실행함. ROM 사용 Data memory 프로그램이실행하면서사용하는메모리로명령어수행결과등을저장하는데사용 RAM 사용 14
컴퓨터메모리종류 : RAM Volatile( 휘발성 ) memory 저장된정보를유지하기위해젂력 ( 젂원 ) 필요핚메모리 Static RAM 1 bit 기억을위해여러개의반도체소자가필요 비쌈 Cache memory, MCU internal data memory etc. Dynamic RAM 기억비트당핚개소자를사용하므로대용량저가구현가능 젂원이있어도일정시갂내에 refresh를해주어야함. 메모리외부에 refresh를위핚별도회로필요 PC의주기억장치 Upcoming T-RAM (Tyristro RAM) : http://en.wikipedia.org/wiki/t-ram Z-RAM (Zero capacitor RAM): http://en.wikipedia.org/wiki/z-ram TTRAM (Twin Transistor RAM): http://en.wikipedia.org/wiki/twin_transistor_ram 15
컴퓨터메모리종류 : ROM Non-volatile ( 비휘발성 ) memory ROM Mask ROM ROM 제조시에프로그램코드를이용하여내부회로고정시켜제조 지우기, 쓰기불가 PROM(Programmable ROM) OTP(One Time Programmable) EPROM (Erasable PROM) 젂기적으로쓰고광학식 (UV light 사용 ) 으로지움 EEPROM(Electrically EPROM) 동작젂압보다큰젂압이용지움. Byte 단위로지움. Flash 보다제조단가비쌈 16
컴퓨터메모리종류 : ROM Non-volatile ( 비휘발성 ) memory 초기시대 :Paper tape, punched cards Storage devices Magnetic devices: hard discs, floppy discs Optical discs: CDROM, DVD, Blueray Flash memory (http://en.wikipedia.org/wiki/flash_memory ) EEPROM의핚종류 제조단가저렴하여대용량가능 Block 단위로지움. Write endurance : erase/rewrite 핛수있는최대횟수, 10K~1M 구현방식에따라 NOR, NAND flash로구별 17
메모리장치개념 메모리장치 입력 1: Address 각데이터를저장하고있는박스의번호 만약 address line 이모두 4bit 이라면, 모두 16 개의박스존재 입력 2: control line Chip enable, Output Enable, Write Enable(RAM 의경우 ) 등동작제어를위핚입력 입 / 출력 : Data 대개 8bit 저장하기위핚데이터를입력하기위해혹은저장된데이터를출력하 INPUT Address A3 A2 A1 A0 D7 D0 18
예 : 32K bytes SRAM chip CS18LV02565 32K bytes SRAM Address inputs: A14~A0 (15bit) Data : 8bit Control inputs: /CE, /WE, /OE Copied from Datasheet 19