1/16 Analiza i Synteza Układów Cyfrowych Wykład 1 Katedra Mikroelektroniki i Technik Informatycznych Rok akademicki 2012/2013
2/16 Organizacja zajęć Tematyka wykładu Literatura Część I Wstęp do wykładu
3/16 Organizacja zajęć Organizacja zajęć Tematyka wykładu Literatura Podział zajęć: 30 godzin wykładu 15 godzin laboratorium 15 godzin projektu Wymagania wstępne: Podstawy mikroelektroniki Układy elektroniczne Teoria układów logicznych
4/16 Tematyka wykładu Organizacja zajęć Tematyka wykładu Literatura 1. RISC na przykładzie procesora MIPS 2. Metodologia projektowania układów cyfrowych Weryfikacja i analiza Synteza logiczna Synteza fizyczna 3. Projektowanie zorientowane na testowanie Narzędzia: Symulator Escape
4/16 Tematyka wykładu Organizacja zajęć Tematyka wykładu Literatura 1. RISC na przykładzie procesora MIPS 2. Metodologia projektowania układów cyfrowych Weryfikacja i analiza Synteza logiczna Synteza fizyczna 3. Projektowanie zorientowane na testowanie Tech Libs RTL Logic synthesis Physical synthesis Tape out Verification Verification Verification
4/16 Organizacja zajęć Tematyka wykładu Literatura Tematyka wykładu 1. RISC na przykładzie procesora MIPS 2. Metodologia projektowania układów cyfrowych Weryfikacja i analiza Synteza logiczna Synteza fizyczna 3. Projektowanie zorientowane na testowanie Narzędzia: Mentor graphics Modelsim CADENCE INCISIVE
4/16 Tematyka wykładu Organizacja zajęć Tematyka wykładu Literatura 1. RISC na przykładzie procesora MIPS 2. Metodologia projektowania układów cyfrowych Weryfikacja i analiza Synteza logiczna Synteza fizyczna 3. Projektowanie zorientowane na testowanie Narzędzia: CADENCE RTL Compiler
4/16 Organizacja zajęć Tematyka wykładu Literatura Tematyka wykładu 1. RISC na przykładzie procesora MIPS 2. Metodologia projektowania układów cyfrowych Weryfikacja i analiza Synteza logiczna Synteza fizyczna 3. Projektowanie zorientowane na testowanie Narzędzia: CADENCE First Encounter
4/16 Organizacja zajęć Tematyka wykładu Literatura Tematyka wykładu 1. RISC na przykładzie procesora MIPS 2. Metodologia projektowania układów cyfrowych Weryfikacja i analiza Synteza logiczna Synteza fizyczna 3. Projektowanie zorientowane na testowanie Standard JTAG
5/16 Literatura Organizacja zajęć Tematyka wykładu Literatura Literatura podstawowa: Weste and Harris CMOS VLSI DESIGN: A circuits and systems perspective Rabaey, Chandrakasan, Nikolic Digital Integrated Circuits: A design perspective Hennesy and Patterson Computer Organization and Design Wykład dra inż. Witolda Marańdy Komputerów http://lux.dmcs.pl/ak/index.html Literatura uzupełniająca: Kaeslin Digital Integrated Circuit Design Hennesy and Patterson Computer Architecture: A quntitative approach
6/16 Multi- Część II RISC
7/16 Architektury procesorów Multi- Multi- CISC (z ang. Complex Instruction Set Computer) RISC (z ang. Reduced Instruction Set Computer) Architektury post-risc
8/16 typu Multi- Na podstawie wykładów dra inż. Witolda Marańdy pt. typu Materiały dostępne na: http://lux.dmcs.pl/ak/single-cycle_pl_semiii.pdf
9/16 Schemat blokowy Multi-
10/16 Instrukcje Instrukcje typu R (R type) Multi- Instrukcje typu Load/Store (Load/Store type) Instrukcje skoku warunkowego (Branch) Instrukcje skoku bezwarunkowego (Jump)
11/16 Podsumowanie Multi- Instrukcje wykonują się w jednym cyklu zegara Długi cykl zegara ze względu na skomplikowaną logikę Wykonanie każdej instrukcji zabiera tyle samo czasu bardzo niewydajna
11/16 Podsumowanie Multi- Instrukcje wykonują się w jednym cyklu zegara Długi cykl zegara ze względu na skomplikowaną logikę Wykonanie każdej instrukcji zabiera tyle samo czasu bardzo niewydajna
11/16 Podsumowanie Multi- Instrukcje wykonują się w jednym cyklu zegara Długi cykl zegara ze względu na skomplikowaną logikę Wykonanie każdej instrukcji zabiera tyle samo czasu bardzo niewydajna
11/16 Podsumowanie Multi- Instrukcje wykonują się w jednym cyklu zegara Długi cykl zegara ze względu na skomplikowaną logikę Wykonanie każdej instrukcji zabiera tyle samo czasu bardzo niewydajna
12/16 typu Multi- (CISC) Multi- Na podstawie wykładów dra inż. Witolda Marańdy pt. typu Multi- Materiały dostępne na: http://lux.dmcs.pl/ak/multi_cycle.pdf
13/16 Schemat blokowy Multi-
14/16 Sterowanie diagram stanów Multi-
15/16 Podsumowanie Multi- Każda instrukcja wykonuje się w kilku cyklach zegara Instrukcje wymagają różnej liczby cykli zegara Dane wykorzystywane przez jedną instrukcję, umieszczane są w rejestrach pośrednich i wykorzystywane w następnych cyklach zegara tej samej instrukcji Dane będące końcowym wynikiem instrukcji, umieszczane są w pliku rejestrów, pamięci zewnętrznej lub w PC Redukcja dużych bloków architektury i dodanie rejestrów pośrednich Sterowanie wykonywane jest zazwyczaj w postaci mikroprogramu (architektura mikroprogramowalna)
15/16 Podsumowanie Multi- Każda instrukcja wykonuje się w kilku cyklach zegara Instrukcje wymagają różnej liczby cykli zegara Dane wykorzystywane przez jedną instrukcję, umieszczane są w rejestrach pośrednich i wykorzystywane w następnych cyklach zegara tej samej instrukcji Dane będące końcowym wynikiem instrukcji, umieszczane są w pliku rejestrów, pamięci zewnętrznej lub w PC Redukcja dużych bloków architektury i dodanie rejestrów pośrednich Sterowanie wykonywane jest zazwyczaj w postaci mikroprogramu (architektura mikroprogramowalna)
15/16 Podsumowanie Multi- Każda instrukcja wykonuje się w kilku cyklach zegara Instrukcje wymagają różnej liczby cykli zegara Dane wykorzystywane przez jedną instrukcję, umieszczane są w rejestrach pośrednich i wykorzystywane w następnych cyklach zegara tej samej instrukcji Dane będące końcowym wynikiem instrukcji, umieszczane są w pliku rejestrów, pamięci zewnętrznej lub w PC Redukcja dużych bloków architektury i dodanie rejestrów pośrednich Sterowanie wykonywane jest zazwyczaj w postaci mikroprogramu (architektura mikroprogramowalna)
15/16 Podsumowanie Multi- Każda instrukcja wykonuje się w kilku cyklach zegara Instrukcje wymagają różnej liczby cykli zegara Dane wykorzystywane przez jedną instrukcję, umieszczane są w rejestrach pośrednich i wykorzystywane w następnych cyklach zegara tej samej instrukcji Dane będące końcowym wynikiem instrukcji, umieszczane są w pliku rejestrów, pamięci zewnętrznej lub w PC Redukcja dużych bloków architektury i dodanie rejestrów pośrednich Sterowanie wykonywane jest zazwyczaj w postaci mikroprogramu (architektura mikroprogramowalna)
15/16 Podsumowanie Multi- Każda instrukcja wykonuje się w kilku cyklach zegara Instrukcje wymagają różnej liczby cykli zegara Dane wykorzystywane przez jedną instrukcję, umieszczane są w rejestrach pośrednich i wykorzystywane w następnych cyklach zegara tej samej instrukcji Dane będące końcowym wynikiem instrukcji, umieszczane są w pliku rejestrów, pamięci zewnętrznej lub w PC Redukcja dużych bloków architektury i dodanie rejestrów pośrednich Sterowanie wykonywane jest zazwyczaj w postaci mikroprogramu (architektura mikroprogramowalna)
15/16 Podsumowanie Multi- Każda instrukcja wykonuje się w kilku cyklach zegara Instrukcje wymagają różnej liczby cykli zegara Dane wykorzystywane przez jedną instrukcję, umieszczane są w rejestrach pośrednich i wykorzystywane w następnych cyklach zegara tej samej instrukcji Dane będące końcowym wynikiem instrukcji, umieszczane są w pliku rejestrów, pamięci zewnętrznej lub w PC Redukcja dużych bloków architektury i dodanie rejestrów pośrednich Sterowanie wykonywane jest zazwyczaj w postaci mikroprogramu (architektura mikroprogramowalna)
16/16 Na podstawie wykładów dra inż. Witolda Marańdy pt. typu Multi- Multi- Materiały dostępne na: http://lux.dmcs.pl/ak/pipeline.pdf oraz http://lux.dmcs.pl/ak/solving_hazards.pdf