#007 - Gdy bug w krzemie drzemie... episode artwork

EPISODE · May 17, 2020 · 1H 3M

#007 - Gdy bug w krzemie drzemie...

from Poziom niżej · host Semihalf

W siódmym odcinku rozmawiamy o ciekawym aspekcie naszej pracy tj o błędach w układach krzemowych.Praca z producentami układów krzemowych daje niecodzienną możliwość zajrzenia za kulisy rewolucji naszych czasów tj miniaturyzacji układów cyfrowych. Osławione prawo Moore'a niesie ze sobą wykładniczy wzrost gęstości tranzystorów. Co za tym idzie z biegiem czasu układy stają się coraz bardziej skomplikowane a tym samym pomyłki stają się nieuniknione.W trzech krótkich historiach opowiadanych przez członków załogi Semihalf, staramy się przybliżyć wam ciekawe strony pracy z najnowszą technologią, często niosącą bardzo intensywne tygodnie “walki” na styku oprogramowania i sprzętu. Jeśli zastanawialiście się dlaczego aktualizacje firmware (np BIOSU) są konieczne oraz dlaczego procesory zaraz po premierze rynkowej czasami po prostu nie działają jak reklamuje producent, to ten odcinek powinien odpowiedzieć na wasze pytania.Prowadzący: Radosław Biernacki, Jan Dąbroś, Marcin Wojtas, Stanisław KardachHashtag: FPGA, VHDL, Ryzen, ARM, hardware, symulator, emulator, bug### Plan odcinka# 6:10 - Od czego zaczyna się projektowanie układów krzemowych# 7:30 - Testowanie i praca z SW - symulatory i emulatory# 9:20 - Dlaczego emulacja jest czasochłonna?# 11:50 - Narodziny krzemu - tapeout# 15:10 - Marcin - historia wdrożenia zarządzania energią w ARMv8# 23:30 - Janek - historia błędu przekierowania przerwań do Arm Trustzone# 30:40 - Staszek - historia błędu w procesorze sieciowym do zastosowań DataPlane# 34:10 - Staszek - historia błedu w ARMv8 w instrukcjach LDP/STP# 42:08 - Łatki w firmware# 48:47 - Quirki i upstream do kernela Linuxa# 1:01:00 - Podsumowanie, jak błędy w krzemie manifestują się u użytkowników### Linki# 6:20 - Fabless chip manufacturing - https://en.wikipedia.org/wiki/Fabless_manufacturing# 8:50 - Cadance Palladium - https://www.cadence.com/en_US/home/tools/system-design-and-verification/acceleration-and-emulation/palladium-z1.html# 12:45 - Tape-out - https://en.wikipedia.org/wiki/Tape-out# 18:00 - Poziomy uprzywilejowania (Exception levels) na ARMv8Prezentacja ARM Trusted Firmware (ale z fajnym opowiadaniem jak Exception Levels działają) https://www.slideshare.net/linaroorg/arm-trusted-firmareforarmv8alcu13Artykuł w magazynie "Programista" numer #63, 08/2017r. "Na granicy światów – technologia bezpieczeństwa ARM TrustZone"Dość szczegółowy opis technologii ARM TrustZone http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf# 18:35 - Power Management na ARMv8Całość problemu opisana w magazynie “Programista” numer #56, 01/2017r. “Zarządzanie energią w ARMv8”Opis przebiegu usypiania systemu podczas Suspend-To-Ram https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/power/suspend-and-cpuhotplug.rstOpis funkcji zwrotnych zarządzania energią w ARM Trusted Firmware https://github.com/scorp2kk/atf/blob/master/docs/platform-migration-guide.md#22-composite-power-state-framework-platform-api-modifications# 35:10 - Problem atomowości instrukcji LDP/STP:https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile - Arm Architecture Reference Manual, rozdział B2.2.1 Requirements for single-copy atomicityhttps://www.element14.com/community/servlet/JiveServlet/previewBody/41836-102-1-229511/ARM.Reference_Manual.pdf - ARMv8 Instruction Set Overview, rozdział 5.2 Memory Access# 51:30 - Upstream quirka do ECAM w ARMv8Dyskusja na listach mailingowych odnośnie możliwości odstępstw od generycznego działania PCIE na ARMv8 opisanego tablicami ACPI https://lkml.org/lkml/2016/9/20/391Opis Extended Configuration Space (ECAM) dla standardu PCIE https://wiki.osdev.org/PCI_Express#Extended_Configuration_SpaceObejście problemu niezgodności ze standardowym kontrolerem przy zastosowaniu sztuczki z tablicami ACPI https://github.com/tianocore/edk2-platforms/commit/a273cb49fe4f98f662bacb69cfd323722e0993a2#diff-e57f3ee89616dd138928c3655287b0d0Proste rozwiązanie problemu na poziomie sterownika w Linuksie - dozwolone tylko przy opisie poprzez Device Tree https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/controller/pci-host-generic.c#n27

Episode metadata supplied by the publisher feed · Published May 17, 2020

Embed this episode

NOW PLAYING

#007 - Gdy bug w krzemie drzemie...

0:00 1:03:34

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

Frequently Asked Questions

How long is this episode of Poziom niżej?

This episode is 1 hour and 3 minutes long.

When was this Poziom niżej episode published?

This episode was published on May 17, 2020.

Can I download this Poziom niżej episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!